O arquivo de hosts do OSX Sierra é ignorado

O arquivo de hosts do OSX Sierra é ignorado

Por alguma razão, há dois dias meu arquivo hosts começou a ser ignorado.
Estou usando Mac com Sierra OSx. Este é o conteúdo atual do arquivo /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 localhostage
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost

127.0.0.1 localkur.com

Ping localkur.com retorna

ping: cannot resolve localkur.com: Unknown host

Eu reiniciei o sistema, limpei o cache usando estes comandos

sudo killall -HUP mDNSResponder;
sudo discoveryutil mdnsflushcache;
sudo discoveryutil udnsflushcaches;

Reabra o arquivo em diferentes programas de edição de texto, vm, sublime etc.
Verifique novamente se espaço ou tabulação (ou espaço duplo ou tabulação dupla) - testado com todas as possibilidades.
Monitore também o arquivo com este comando

 sudo fs_usage | grep "/etc/hosts"

E obtive esse resultado ao atualizar o navegador ou salvá-lo com sublime

12:23:35  open              private/etc/hosts 0.000019   Google Chrom
12:23:36  open              private/etc/hosts 0.000019   Google Chrom
12:23:41  stat64            /private/etc/hosts 0.000022   Sublime Text
12:23:43  stat64            /private/etc/hosts 0.000019   Sublime Text
12:23:45  stat64            /private/etc/hosts 0.000019   Sublime Text
12:23:45  open              /private/etc/hosts 0.000019   Sublime Text

O que estou perdendo ?
Por que este arquivo é ignorado?
Como habilitá-lo novamente?

Responder1

O arquivo pode estar corrompido/danificado, deve ser um arquivo ASCII. Você deve recriá-lo:

  • mova o arquivo antigo commv -f /etc/hosts /etc/oldhosts
  • crie um novo arquivo comnano
  • preencha-o com os valores do arquivo antigo
  • salve-o como/etc/hosts

Isso deve resolver.

Responder2

Veja Preferências do Sistema -> Rede

Se o "Local" atualmente ativo tiver um ou mais servidores DNS listados, o sistema criará o arquivo "/etc/resolv.conf" que listará esses servidores de nomes como o local para resolução, ignorando completamente /etc/hosts

resolv.conf é criado dinamicamente pelas preferências de "Rede" e sobrescrito com base no campo "Servidor DNS" do "Local" atualmente ativo ou removido se esse campo estiver em branco

Responder3

Este é um tópico antigo com certeza, mas eu estava enfrentando o mesmo problema hoje e encontrei a solução. Deixando isso aqui caso alguém precise.

sudo dscacheutil -flushcache

Limpar o cache DNS resolveu o problema no meu caso.

Responder4

Poderia ser o uso de TAB em vez de ESPAÇO. Foi no meu caso. Resolvi bem!

informação relacionada