Quando Eu corro sudo
o terminal fica preso por alguns segundos e, em seguida, emite uma mensagem de erro. Meu terminal se parece com isso:
ubuntu@(none):~$ sudo truesudo: unable to resolve host (none)
O que posso fazer para resolvê-lo?
Quando Eu corro sudo
o terminal fica preso por alguns segundos e, em seguida, emite uma mensagem de erro. Meu terminal se parece com isso:
ubuntu@(none):~$ sudo truesudo: unable to resolve host (none)
O que posso fazer para resolvê-lo?
Duas coisas para verificar (supondo que sua máquina seja chamada my-machine
, você pode alterar isso conforme apropriado):
Que o /etc/hostname
arquivo contém apenas o nome da máquina.
Que /etc/hosts
tem uma entrada para localhost
. Deve ter algo como:
127.0.0.1 localhost.localdomain localhost 127.0.1.1 minha máquina
Se qualquer um desses arquivos não estiver correto (já que você não pode sudo), você pode ter que reiniciar a máquina no modo de recuperação e fazer as modificações e, em seguida, reiniciar para o seu ambiente habitual.
Editar /etc/hosts
e anexe seu novo nome de Host à linha 127.0.0.1(ou crie uma nova linha, se preferir).
O meu parece:
127.0.0.1 localhost localhost.localdomain penguin# The following lines are desirable for IPv6 capable hosts::1 ip6-localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allrouters
Substituir penguin
no exemplo acima pelo seu novo nome de host, conforme indicado no /etc/hostname
arquivo.
Adicione seu nome de host a /etc/hosts
comer:
echo $(hostname -I | cut -d\ -f1) $(hostname) | sudo tee -a /etc/hosts
Note, esta é uma resposta para pergunta que foi fundido com este.
Seu nome de host (dave00-G31M-ES2L
) não está representado em /etc/hosts
. Adicionar um L
para esta linha:
127.0.1.1 dave00-G31M-ES2
Então se torna:
127.0.1.1 dave00-G31M-ES2L
Para fazer isso, abra um console (pressione Ctrl+Alt+T) e tipo:
sudo gedit /etc/hosts
Adicione a letra L
como mencionado, salve e saia.
Eu tive esse problema quando estava usando o ubuntu em um VPS. Resolvi editar o arquivo/etc / hosts.
execute este comando:
sudo nano /etc/hosts
e, em seguida, adicione:
127.0.0.1 localhost.localdomain localhost127.0.1.1 ubuntu
Espero que isso resolva seu problema :)
PS: lembre-se de reiniciar o computador!
Eu estava tendo o mesmo problema, embora o nome do host no meu arquivo /etc/hostname e o arquivo /etc/hosts correspondessem.
Meu nome de host era "staging_1". Acontece que você não pode ter um sublinhado em seu nome de host, e é por isso que eu estava recebendo esse erro. Alterar o sublinhado para um hífen corrigiu meu problema.
Na AWS, acesse sua vpc e ative "nomes de host DNS".
O sintoma dado na questão pode se correlacionar fortemente com esse problema mais específico:
$ hostname --fqdnhostname: Temporary failure in name resolution
Existem diferentes maneiras de resolver isso, uma das quais é adicionar seu nome de host como localhost em /etc/hosts
(como mostrado em várias outras respostas). Esta pode ser a coisa certa a fazer em geral, mas não é a única resolução possível.
Um "nome de domínio totalmente qualificado" pode ser fornecido por um servidor DNS externo ou similar (se tal estiver disponível em sua rede). Neste caso, sudo
não vai reclamar, apesar da falta de entrada em /etc/hosts
.
Notar: sudo
tenta desreferir o nome do host, mesmo que não seja necessariamente necessário, devido a recursos opcionais no arquivo sudoers. Ver comando sudo tentando pesquisar o nome do host.
Contanto que o atraso não seja muito longo, essa mensagem de erro geralmente é inofensiva.
Todo mundo aconselha a modificar /etc/hosts
. Mas, em alguns casos, isso pode não ser possível (por exemplo, dentro de um contêiner docker). Então, eu tive que encontrar uma maneira melhor e eu vim com isso:
echo "alias sudo='sudo -h 127.0.0.1'" >> ~/.bash_aliasessource ~/.bashrc
Aliases não funcionam em scripts bash, mas podemos usar variáveis: sudo='sudo -h 127.0.0.1'
Encontrei esta mesma mensagem de erro. Acho que esse tópico de discussão no AWS Developer Forums é uma solução melhor:
"Vá para o console de gerenciamento de VPC, selecione o VPC, clique em Ações, selecione Editar nomes de host DNS e selecione Sim."
Eu recomendo contra fechar esta pergunta como * muito localizado*. Existem muitos usuários que podem pensar erroneamente que colocaram um nome em seu arquivo ‘hosts’, mas colocaram um nome diferente, especialmente porque em muitas redes, os computadores têm nomes semelhantes. Essa pergunta (e resposta) apareceria quando alguém pesquisasse com esse problema, e a resposta os levaria a verificar tais discrepâncias, mesmo que o erro exato fosse diferente.
certifique-se de que seu nome do host
seja igual a hosts
. por exemplo, o nome do Host é ubuntu-pc e hosts é ubuntu-pc deve ser o mesmo.
Por favor, publique o conteúdo de '/etc / hostname ‘e`/etc/hosts’.
Não posso postar uma resposta porque esta pergunta está protegida e não tenho reputação suficiente aqui. No meu caso, resolvi o problema reiniciando o Gerenciador de rede ' sudo / etc / init.d / reinício do Gerenciador de rede
. No entanto, estou me perguntando Por que, em primeiro lugar, ‘sudo’ perde tempo esperando por coisas relacionadas à rede. O sudo
não deve funcionar sem problemas quando a rede não está disponível?
Encontrei isto hoje. O problema era que o que eu tinha no nome do host não estava em/etc / hosts. Para saber: $ hostname = > ‘mybox’ $ grep ‘mybox’ / etc / hosts = > 192.168.1.2 mybox.example.com. eu precisava adicionar ‘mybox’ após meu nome de domínio em/etc / hosts = > 192.168.1.2 mybox.example.com mybox
Why does the question have <USER>"no final? Isso contradiz a saída real mostrada no corpo da pergunta Como
(nenhum) ’ sugestão de melhoria: remover `
@arielf você pode melhorar as perguntas aqui. Foi alterado por outro usuário. Também não sei.