Desde que atualizei meu iMac 2009 para o Mavericks, muitas vezes recebo uma mensagem informando 'O nome do seu computador "Foo" já está em uso nesta rede. O nome foi alterado para "Foo (2)". '. O número no final aumentará continuamente ao longo do tempo, pois o mesmo erro continua acontecendo.
É trivial o suficiente para renomear o computador novamente, mas existe uma maneira de impedir que isso aconteça no futuro? Eu tinha um antigo Macbook Pro (executando o Mountain Lion) que tinha o mesmo problema, mas meu MBP do início de 2013 executando o Mavericks não parece estar sofrendo com esse problema.
scutil --get ComputerName
ehostname
no Terminal. (Você provavelmente também deve acompanhar seu endereço IP para ver se ele muda). Acho que é algo com seu roteador ou DHCP, e os nomes NetBIOS podem ficar em cache por muito tempo.Respostas:
Gambiarra
Como outros usuários, sou atormentado por esse aborrecimento, mas encontrei uma solução alternativa semi-satisfatória:
my_hostname='your-hostname-here'; for key in LocalHostName ComputerName HostName ; do sudo scutil --set $key $my_hostname; done
Após executar este comando, você pode verificar se todos os locais onde eles armazenam o nome do host são os mesmos com esta linha única:
for key in LocalHostName ComputerName HostName ; do sudo scutil --get $key; done
Se o Macbook continuar renomeando imediatamente de
ComputerName
volta com um sufixo, você poderá fazê-lo parar ao desligarWake for Network Access
.System Preferences→Energy Saver→Wake for Wi-Fi network access → Unchecked
Uma vez desligado, renomeie sua máquina usando os comandos acima para concluir. Você também pode tentar forçar a
ComputerName
volta usando aSystem Preferences→Sharing→Computer Name
preferência do campo de texto.Se isso não ajudou, tente liberar o cache mDNS :
Após liberar o cache mDNS, tente renomear sua máquina usando os comandos acima.
Se isso ainda não funcionar, tente matar o
mDNSResponder
serviço:Em seguida, tente novamente para redefinir o nome do computador usando os
scutil
comandos acima .Se você achar que nada disso está sendo bom, existem outras soluções relatadas que incluem:
Desligue e ligue o Bonjour
Desligar e redefinir TODO o hardware de rede
Discussão do problema
Na minha experiência, definir o nome do host dessa maneira ou através do padrão
System Preferences→Sharing→Computer Name
dura apenas um curto período de tempo. Isso geralmente é <24 horas, mas às vezes oComputerName
par muda imediatamente para ter um número com sufixo entre parênteses(N)
. Observei que esse número foi definido imediatamente(4)
ou(5)
recentemente após o uso dosscutil --set
comandos acima.A causa desse comportamento ocorre devido a algum código de daemon em execução no Mac OS, que tenta adicionar um sufixo numerado
(N)
sempre que o mesmo nome de host é encontrado na rede. Em TODOS os meus testes, os nomes de host que eu escolhi NUNCA foram usados antes na rede e NUNCA foram usados também para qualquer dispositivo Bluetooth.A verdadeira causa do "gatilho" desse comportamento é desconhecida e não verificada. Ou seja: Através de todas as minhas pesquisas e testes on-line, não consegui determinar definitivamente por que o Mac OS decide que o nome já está sendo usado quando claramente NÃO é e nunca foi.
Minha teoria é que, de alguma forma,
mDNS
também conhecido comoBonjour
(Avahi
para usuários de Linux ouZero-conf
Networking para usuários de Windows) pode ser parcialmente culpado. De alguma forma, o nome do host anterior do dispositivo Macbook ou Apple é mantido em algum lugarmDNS
, ou talvez alguma forma deARP
informação da tabela + nome do host é descoberta e armazenada pelo dispositivo Macbook ou Apple. Isso pode ser algum tipo de condição de corrida. De alguma forma, a entrada é vista como duplicada e aciona o comportamento de renomeação do sufixo do Mac OS.O número de nomes de host com sufixo é visível ao usar o utilitário DNS Service Discovery fornecido pela Apple
dns-sd
:Por exemplo, usando o nome do host
my-mbp-hostname
, ele pode aparecer como as seguintes entradasA teoria da verdadeira causa não é confirmada, pois é difícil encontrar e observar o que realmente está acontecendo sem acesso ao estado interno do Mac OS e às ferramentas de depuração de baixo nível do Apple OS. As interações entre
mdnsd
,mDNSResponder
emDNSResponderHelper
com outros serviços do Mac OS ou até outros daemons da Avahi na rede não são bem documentadas ou facilmente observáveis. O estado atual de algumas formas de descoberta de rede pode ser visualizado atravésdns-sd
earp -a
ou talvezarp -a -n
. Outras teorias ou locais em potencial onde essas informações de nome de host podem ser armazenadas podem ser:smbd
(/System/Library/LaunchDaemons/com.apple.smbd.plist
)smbd
?)mDNS
/Avahi
reflector (ou outro tipo de retransmissão de pacotes Bonjour / zero-conf na rede por um roteador ou outro dispositivo)?mDNSResponder
oumdnsd
(/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
)Solução (espaço reservado)
A partir de 6 de outubro de 2017, ainda não havia uma solução ou solução completa da Apple para impedir que esse problema ocorra novamente. Eu recomendo arquivar um relatório de bug na Apple descrevendo esse problema. Você também pode entrar em contato com o Suporte ao cliente Apple .
Quanto mais pessoas fizerem barulho sobre esse problema irritante, mais rápido os gerentes de produto da Apple priorizarão para que os engenheiros possam corrigi-lo.
Depuração / futuras linhas de investigação
Esta discussão no fórum MacRumors tem algumas informações úteis, além de adicionar uma teoria de que o
Wake for Wi-Fi Network Access
dispositivo Wake / Sleep tem algo a ver com esse problema. Outras teorias apresentadas têm a ver com o uso de vários adaptadores de rede (por exemplo: WiFi + Thunderbolt Ethernet), roteadores que possuem vários pontos de acesso anunciados em várias bandas, como em802.11 b/g/n
(2,4 GHz) ou802.11 a/ac
(5 GHz). Essas combinações podem fazer com que uma versão "fantasma" do dispositivo Apple seja exibida temporariamente na rede de alguma forma, acionando o comportamento de renomeação.Havia há linhas de registo úteis em
/var/log/system.log
que apareceu relacionadas com este comportamento renomeação sendo acionado. SupostamentemDNSResponder
pode ser configurado para níveis mais altos de log:Como definir esses níveis de depuração além de talvez por um arquivo inexistente
/Library/Preferences/com.apple.mDNSResponder.plist
não estava claro. Eu não tinha um exemplo de configuração do plist para usar, então não consegui obter nenhuma informação extra de logmDNSResponder
.Ferramentas como o Wireshark podem ser úteis para mostrar
mDNS
pacotes sendo transmitidos na rede, juntamente com outras informações de pacotes ARP potencialmente relevantes, entre outros tráfegos.No Mac OS, outras ferramentas, como
dscacheutil
podem existir, para exibir essas informações. Não está bem documentado ou claro como visualizar o cache definitivo dessas informações, que é usado pelo código de renomeação do nome do host. Quando testei esse utilitário, ele não produziu nenhuma saída útil, exceto ao usar o modo de consulta para o nome do host exato (IPs eliminados por privacidade):fonte
System Preferences→Energy Saver→Wake for Wi-Fi network access → Unchecked
. Acho que preciso reiniciar o sistema novamente e deixá-lo em funcionamento por um tempo para me convencer completamente ... mas podemos ter uma solução!Wake for Wi-Fi network access
configuração acima mencionada , lamento informar que o meu macbook mudou de nome novamente! Parece que o comportamento está definitivamente relacionado ao Bonjour e ao AirPlay de alguma forma. Durante 26 dias, não acessei muitos aplicativos usando o Bonjour, exceto talvez*.local
pesquisas de DNS de nome de host nos utilitários de linha de comando. Hoje, eu abriAirFoil
eAirFoil Sattelite
aplicações e imediatamente notou minha hostname tinha mudado com o sufixo(2)
. Esses aplicativos podem fornecer um caso de teste de reprodução para o bugVocê está usando dois dispositivos de rede que estão na mesma LAN? Por exemplo, wifi e ethernet com fio? Tente desativar um deles. Eu costumava ter esse problema e o corrigia dessa maneira.
fonte
Mesmo problema aqui. Mas parece que o nome foo (2) é aceito pela máquina do tempo e ainda faz o backup no mesmo local (parece não refazer o backup inteiro, continua). Portanto, não há mal nenhum, falta. Eu acho que está relacionado a várias interfaces ativas, eu abri a Ethernet para acelerar meu backup.
fonte
Não há uma boa maneira de parar isso. A Apple precisaria substituir o código do nome do host para que os usuários (pessoas e programas) sempre apresentem o nome do host definido por
scutil
e faça toda a renomeação / tradução sob o capô.Como isso acontece em todas as linhas de produtos da Apple (Apple TV, iPhone, Mac e presumivelmente até o Apple Watch) desde 2012, pelo menos, não está claro se a Apple vê isso como um problema a ser corrigido.
fonte
Provavelmente, isso tem a ver com o usuário que está ativo quando você ingressa na rede e configura a máquina pela primeira vez. É provável que, ao criar essas máquinas, você sempre o faça como o mesmo usuário
Se você criar um usuário, por exemplo, dave on, por exemplo, um MacBook Pro, a máquina configurará automaticamente a nomeação da seguinte maneira:
Nome do Computador: dave's MacBook Pro
nome do host local: daves-MacBook-Pro.local
e no Terminal, o nome do host será exibido como: daves-mbp
Supondo que a próxima máquina em que você se conecte como 'dave' também seja um MacBook Pro, ela definirá exatamente os mesmos detalhes - você se conectará à rede e receberá a mensagem sobre o nome duplicado.
Onde trabalho, alteramos o nome no compartilhamento, abrimos um terminal e executamos o seguinte comando: sudo scutil –-set HostName new_hostname
(onde new_hostname é o nome escolhido)
Então saia e reinicie o terminal e você verá o novo nome do host.
Você também terá esse problema ao migrar usuários para novas máquinas - o assistente de migração / time machine renomeará a nova máquina
algumas informações tipicamente fracas sobre nomes - http://support.apple.com/kb/PH13790
fonte
Isso ocorre ao executar dois servidores DHCP sobrepostos. Se você estiver usando mais de um roteador (modo de ponte), verifique se apenas um deles está executando o DHCP sem um IP estático.
fonte