Como fazer alterações permanentes no Mac / etc / hosts?

12

No meu Mac (executando o OS 10.6.8), eu posso editar o arquivo hosts sudo vi /etc/hosts, mas as alterações que eu faço não parecem persistir durante a reinicialização ou, possivelmente, no modo de suspensão.

Existe uma maneira de fazer essas alterações persistirem?

Aqui está um exemplo de alteração, adicionando uma substituição para www.example.com:

$ cat /etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost 
fe80::1%lo0 localhost

1.2.3.4 www.example.com

Atualização: Eu também estou usando o software Cisco AnyConnect VPN, e isso acabou sendo a pista. Veja a resposta de Daniel abaixo.

Atualização 2013-05-20: Este comportamento foi corrigido / alterado pela Cisco no AnyConnect v3.0.5080 (ou superior), lançado no primavera de 2013. Notas da versão - procure por hosts.ac.

BrianC
fonte
11
possível duplicado de / etc / hosts recebendo redefinido em Lion
Daniel Beck
11
@ user606723 /etcé um link simbólico para /private/etc.
Daniel Beck
Brian, você está usando o software Cisco VPN? Você tem o arquivo /etc/hosts.ac?
Daniel Beck
Bingo! Estou de cara usando o Cisco AnyConnect VPN. Atualizei o arquivo /etc/hosts.ac e agora persiste as alterações. Coloque isso como resposta e eu aceito.
BrianC

Respostas:

16

Você está usando o software Cisco AnyConnect, que irá substituir /private/etc/hostscom /private/etc/hosts.ac. Apenas edite esse arquivo.

Daniel Beck
fonte
13

Eu tive o mesmo problema. No meu caso, estou usando o cliente VPN F5. Você não deve editar /etc/hostsenquanto o cliente VPN estiver em execução, porque essas alterações serão apagadas quando você desligar o cliente VPN. Para tornar suas alterações permanentes, edite o /etc/hostsarquivo antes de iniciar seu cliente VPN.

Tomasz Szymulewski
fonte
Para mim, como VPN F5, isso foi muito útil.
robert
1

Graças à explicação de @ Danial. Usar um script de wrapper para editar hosts, em vez de editá-lo diretamente, aliviaria bastante sua dor.

#!/bin/sh
ORIG=/etc/hosts
SUCKER=/etc/hosts.ac
sudo vim $ORIG
pid=$!
wait $pid
sudo cp $ORIG $SUCKER
echo "$ORIG copied to $SUCKER"
fwonce
fonte
0

Eu também tive esse problema com o cliente Pulse Secure VPN, que cria um arquivo /etc/pulse-hosts.bak que você também deve editar. Editar / etc / hosts antes de iniciar o Pulse também funciona.

turiyag
fonte
11
Qual a utilidade de editar um arquivo de backup ?
Scott
0

A maior parte do cliente VPN cria um arquivo de backup do / etc / host quando você inicia a VPN.

Para manter suas alterações permanentemente, basta alterar o arquivo host sem uma conexão VPN.

Depois de iniciar a VPN, o arquivo de backup será criado com suas alterações e qualquer cliente VPN que substituir o arquivo host ainda manterá suas alterações.

Nome do arquivo de backup comum por cliente:

  • Cliente Seguro Pulse - pulse-hosts.bak
  • Cisco Any Connect - hosts.ac
xxnations
fonte
Parece ser basicamente uma versão mais detalhada da resposta aceita - e você digitou incorretamente "Qualquer".
G-Man diz 'Reinstate Monica' em
Obrigado ... A resposta aceita está sugerindo um WAR para atualizar o arquivo de backup. Esta resposta é para atualizar o arquivo host enquanto a VPN está desconectada. Esta solução funcionará para qualquer cliente VPN
xxnations