Mensaje de error "sudo: no se puede resolver el host (ninguno)"

Cuando corro sudo el terminal se atasca durante unos segundos y luego emite un mensaje de error. Mi terminal se ve así:

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

¿Qué puedo hacer para solucionarlo?

Dos cosas para verificar (suponiendo que se llame a su máquina my-machine, puede cambiar esto según corresponda):

  1. Que el /etc/hostname el archivo contiene solo el nombre de la máquina.

  2. Que /etc/hosts tiene una entrada para localhost. Debería tener algo como:

     127.0.0.1 localhost.localdomain localhost 127.0.1.1 mi máquina

Si alguno de estos archivos no es correcto (ya que no puede sudo), es posible que deba reiniciar la máquina en modo de recuperación y realizar las modificaciones, luego reinicie en su entorno habitual.

Editar /etc/hosts y agregue su nuevo nombre de host a la línea 127.0.0.1 (o cree una nueva línea si lo prefiere).

La mía 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

Reemplazar penguin en el ejemplo anterior, por su nuevo nombre de host como se indica en el /etc/hostname file.

Agregue su nombre de host a /etc/hosts así:

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

Tenga en cuenta que esta es una respuesta a esta pregunta que se ha fusionado con este.

Su nombre de host (dave00-G31M-ES2L) no está representada en /etc/hosts. Añadir un L a esta línea:

127.0.1.1   dave00-G31M-ES2

Por lo que se convierte en:

127.0.1.1   dave00-G31M-ES2L

Para lograr esto, abra una consola (presione Ctrl+Alt+T) y tipo:

sudo gedit /etc/hosts

Añade la letra L como se mencionó, guarde y salga.

Tuve este problema cuando estaba usando Ubuntu en un VPS. Lo resolví editando el archivo /etc / hosts.

ejecute este comando:

sudo nano /etc/hosts

y luego agregue:

127.0.0.1   localhost.localdomain localhost127.0.1.1   ubuntu

Espero que eso resuelva tu problema :)

PD: ¡Recuerda reiniciar tu computadora!

Estaba teniendo el mismo problema a pesar de que el nombre de host en mi archivo /etc/hostname y el archivo /etc/hosts coincidían.

Mi nombre de host era "staging_1". Resulta que no puede tener un guión bajo en su nombre de host, por lo que estaba recibiendo este error. Cambiar el guión bajo a un guión solucionó mi problema.

En AWS, vaya a su vpc y active "Nombres de host DNS".

El síntoma dado en la pregunta puede correlacionarse fuertemente con este problema más específico:

$ hostname --fqdnhostname: Temporary failure in name resolution

Hay diferentes formas de resolver esto, una de las cuales es agregar su nombre de host como localhost en /etc/hosts (como se muestra en varias otras respuestas). Esto puede ser lo correcto en general, pero no es la única solución posible.

Un" nombre de dominio completo " puede ser suministrado por un servidor DNS externo o similar (si está disponible en su red). En este caso, sudo no se quejará, a pesar de la entrada que falta en /etc/hosts.


Nota: sudo intenta desreferenciar el nombre de host, aunque no sea necesariamente necesario, debido a las capacidades opcionales del archivo sudoers. Ver comando sudo que intenta buscar el nombre de host.

Siempre que el retraso no sea demasiado largo, este mensaje de error suele ser inofensivo.

Todo el mundo aconseja modificar /etc/hosts. Pero en algunos casos esto puede no ser posible (por ejemplo, dentro de un contenedor docker). Entonces, tuve que encontrar una mejor manera y se me ocurrió esto:

echo "alias sudo='sudo -h 127.0.0.1'" >> ~/.bash_aliasessource ~/.bashrc

Los alias no funcionan en los scripts de bash, pero podemos usar variables: sudo='sudo -h 127.0.0.1'

Encontré este mismo mensaje de error. Creo que este hilo de discusión en los Foros de Desarrolladores de AWS es una mejor solución:

"Vaya a la consola de administración de VPC, seleccione la VPC, haga clic en Acciones, seleccione Editar nombres de host DNS y seleccione Sí."

https://forums.aws.amazon.com/thread.jspa?messageID=699718

Recomiendo no cerrar esta pregunta como * demasiado localizada*. Hay muchos usuarios que pueden pensar erróneamente que han puesto un nombre en su archivo de hosts, pero en su lugar ponen un nombre diferente, especialmente porque en muchas redes, las computadoras tienen nombres similares. Esta pregunta (y la respuesta) aparecerían cuando alguien buscara con ese problema, y la respuesta les pediría que verificaran tales discrepancias, aunque la falta de ortografía exacta sería diferente.

asegúrese de que su nombre de host sea el mismo que hosts. por ejemplo, el nombre de host es * * ubuntu-pc* * y hosts es * * ubuntu-pc * * debe ser el mismo.

Por favor, publique el contenido de " /etc/hostnamey/etc/hosts`.

No puedo publicar una respuesta porque esta pregunta está protegida y no tengo suficiente reputación aquí. En mi caso, resolví el problema reiniciando network-manager ' sudo / etc / init.d / reinicio del administrador de red. Sin embargo, me pregunto por qué, en primer lugar, sudo pierde el tiempo esperando cosas relacionadas con la red. ¿No debería` sudo ’ funcionar sin problemas cuando la red no está disponible?

Me encontré con esto hoy. El problema era que lo que tenía en hostname no estaba en /etc / hosts. A saber: $ hostname = > ‘mybox’ $ grep’ mybox '/etc / hosts => 192.168.1.2 mybox.example.com. Necesitaba agregar ‘mybox’ después de mi nombre de dominio en /etc / hosts => 192.168.1.2 mybox.example.com mi buzón

Why does the question have <USER>"al final? Esto contradice el resultado real que se muestra en el cuerpo de la pregunta como (ninguno) ’ Sugerencia de mejora: eliminar `

@arielf Puedes mejorar las preguntas aquí. Fue cambiado por otro usuario. Yo tampoco lo sé. :stuck_out_tongue: