''/> ''/> ''/> Mensagem de erro 'sudo: não é possível resolver o host <USER>' | site865.com

Questão Mensagem de erro 'sudo: não é possível resolver o host '


Quando eu corro sudo o terminal fica preso por alguns segundos e, em seguida, gera uma mensagem de erro. Meu terminal é assim:

ubuntu@(none):~$ sudo true
sudo: unable to resolve host (none)

O que posso fazer para resolver isso?


643
2017-08-31 19:09


origem


Por favor, poste o conteúdo de /etc/hostname e /etc/hosts. - arrange
Eu recomendo não fechar esta questão como muito localizado. Existem muitos usuários que podem pensar erroneamente que colocaram um nome em seus hosts arquivo, mas colocar em um nome diferente, especialmente porque em muitas redes, os computadores são nomeados de forma semelhante. Essa pergunta (e resposta) apareceria quando alguém pesquisasse com esse problema, e a resposta os levaria a verificar essas discrepâncias, mesmo que o erro ortográfico exato fosse diferente. - Eliah Kagan
verifique se o seu hostname mesmo com hosts. por exemplo. o nome do host é ubuntu-pc e hosts é ubuntu-pc deve ser o mesmo. - Muhammad Sholihin
Eu corri para isso hoje. O problema era que o que eu tinha no hostname não estava em / etc / hosts. A 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 - Jim
Não posso postar uma resposta porque esta questão está protegida e não tenho reputação suficiente aqui. No meu caso, resolvi o problema reiniciando o network-manager: sudo /etc/init.d/network-manager restart. No entanto, estou me perguntando por que, em primeiro lugar sudo desperdiça tempo esperando por coisas relacionadas à rede. Não deveria sudo trabalhar sem problemas quando a rede não está disponível? - bli


Respostas:


Duas coisas para verificar (supondo que sua máquina é chamada my-machine, você pode alterar isso conforme apropriado):

  1. Que o /etc/hostname arquivo contém apenas o nome da máquina.

  2. que /etc/hosts tem uma entrada para localhost. Deve ter algo como:

     127.0.0.1 localhost.localdomain localhost
     127.0.1.1 my-machine
    

Se algum desses arquivos não estiver correto (já que você não pode sudo), pode ser necessário reinicializar a máquina no modo de recuperação e fazer as modificações e, em seguida, reinicializar para o seu ambiente normal.


877
2017-09-01 03:26



O nome do host não será alterado até você reiniciar. Se você deseja alterá-lo sem reiniciar a máquina, siga os passos acima e depois execute: - "sudo hostname my-machine" para ver se isso funcionou execute "sudo hostname" Ele mostrará o nome do host da sua máquina. Este método pode ser usado como um método temporário para alterar o nome do host também. depois de um reinício, o valor do arquivo / etc / hostname é usado. - Yashvit
Nota: desde que você não pode sudo para começar, é difícil editar esses arquivos. Minha solução foi que eu era de alguma forma capaz de sujar visudo e mudar #%admin ALL=(ALL) ALL para %admin ALL=NOPASSWD: ALL , em seguida, reinicialize e sudo su -, edite esses arquivos, configure / corrija o nome do host, reinicie novamente e tudo funcionou. - Ian M
Estou usando o Subsistema Linux no Windows e enfrentei esse problema. Depois de seguir sua resposta, foi resolvido. - amarVashishth
você também pode precisar adicionar ::1 localhost para /etc/hosts (esta é a versão IPv6 do 127.0.0.1, também conhecido como o endereço de loopback) - Woodrow Barlow
Por que o seu exemplo tem 127.0.0.1 localhost mas 127.0.1.1 my-machine? - Adam


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-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Substituir penguin no exemplo acima pelo seu novo nome de host como indicado no /etc/hostname Arquivo.


171
2018-04-07 13:39



Como ele pode editar o arquivo / etc / hosts se ele não pode sudo? A menos que ele criou uma conta rood com uma senha (má ideia) - Dennis
@Dennis Você ainda pode executar sudo mesmo que essa mensagem seja exibida. IIRC você ainda tem que digitar sua senha em cada invocação embora. Se isso não funcionar, você pode reinicializar no console de recuperação e aplicar as alterações. Uma conta root com senha é desencorajada. - Lekensteyn


Adicione seu nome de host para /etc/hosts igual a:

echo $(hostname -I | cut -d\  -f1) $(hostname) | sudo tee -a /etc/hosts

43
2017-09-15 16:03



Esta foi uma resposta brilhante que não obteve crédito suficiente - Edziu Eames
Agradável! Concordou que não obtém amor rep suficiente. :-) - Peter K.
É inteligente, mas não acho que seja uma boa ideia automatizar algo assim. - mwfearnley


Note que esta é uma resposta para essa questão que foi fundido com este.

Seu nome de host (dave00-G31M-ES2L) não está representado em /etc/hosts. Adicione um L para esta linha:

127.0.1.1   dave00-G31M-ES2

Então, torna-se:

127.0.1.1   dave00-G31M-ES2L

Para conseguir isso, abra um console (pressione Ctrl+Alt+T) e digite:

sudo gedit /etc/hosts

Adicione a carta L como mencionado, salve e saia.


30
2017-08-18 11:02



Lembrar! Usar sudoedit (ou sudo -e). Para especificar o editor preferencial, use o EDITOR variável de ambiente (por exemplo export EDITOR=vim), pois cria uma cópia off-line para edição e, em seguida, sobrescreve de forma limpa após a edição. - Jan
E há outro aqui que sugere sudo quando não há mais sudo. sudo não funciona, senhor. sudo: unable to resolve host ... - Green
@Green: Não sudo? A mensagem de erro que você menciona vem do sudo comando. Talvez você quisesse dizer algo diferente? - Thor
@Verde sudo funciona muito bem. Ele simplesmente não pode armazenar qualquer estado (ou seja, como Lekensteyn disse em outro lugar você tem que digitar sua senha toda vez). - Wlerin
Se você tem esse problema no Bash do W10 e chegou a essa pergunta no google, esta é a resposta que funcionou para mim. Eu mudei o 127.0.0.1 para se parecer com "127.0.0.1 localhost DESKTOP-SLQK4CV" (fazendo "sudo vim / etc / hosts" (dica rápida para novatos do vim: pressione i antes de digitar para mudar para o modo de inserção, pressione esc para sair) que, escreva ": wq" para salvar e sair ou ": q!" para sair sem salvar), no meu caso o sudo funcionou mas acabou de dizer que não pode conectar ao DESKTOP-SLQK4CV) e ele começou a funcionar para mim. - Ave


Eu tive esse problema quando eu estava usando o Ubuntu em um VPS. Eu resolvi editando o arquivo / etc / hosts.

execute este comando:

sudo nano /etc/hosts

e, em seguida, adicione:

127.0.0.1   localhost.localdomain localhost
127.0.1.1   ubuntu

Espero que isso resolva o seu problema :)

PS: Lembre-se de reiniciar o seu computador!


16
2018-04-01 01:18



Além disso, veja se o nome do seu dispositivo (impresso na barra de título do terminal após o sinal @) corresponde ao nome na segunda linha do hosts arquivo ("ubuntu" no exemplo de Luca). A primeira linha também pode ser apenas "localhost". - Waldir Leoncio
Lembrar! Usar sudoedit (ou sudo -e). Para especificar o editor preferencial, use o EDITOR variável de ambiente (por exemplo export EDITOR=vim), pois cria uma cópia off-line para edição e, em seguida, sobrescreve de forma limpa após a edição. - Jan


Eu estava tendo o mesmo problema, mesmo que o nome do host em meu arquivo / etc / hostname e / etc / hosts correspondesse.

Meu nome de host era "staging_1". Acontece que você não pode ter um sublinhado no seu nome de host, e é por isso que eu estava recebendo este erro. Alterar o sublinhado para um hífen resolveu meu problema.


10
2017-08-13 13:50





Na AWS, vá para o seu vpc e ative "DNS Hostnames".


9
2018-01-15 05:15



Bem-vindo ao askubuntu! Você pode expandir um pouco sobre isso? Não é muito claro o que você quer dizer (pelo menos para mim). - Elder Geek
Isso pode não ser relevante para a pergunta, mas me ajudou muito. Obrigado! - clayzermk1
Essa foi a resposta que me ajudou. Amazon AWS mudou desde a última vez que eu olhei para ele. As VPCs têm opções de DNS e precisam ser ativadas antes que qualquer resolução de DNS funcione. - Chris Moore
a opção Habilitar Hostnames DNS pode ser encontrada (por exemplo) no menu do botão direito da entrada vpc - Matteo Scotuzzi
Não há DNS Hostnames - Green