Tecnología · GUÍA PRÁCTICA
¿sudo dice «unable to resolve host»? Traza primero el hostname local por NSS
Demuestra el hostname en ejecución y la ruta NSS real, identifica al dueño de la configuración, corrige una capa y vuelve a probar sudo.

El aviso indica que la máquina no resolvió su hostname actual mediante la base hosts configurada. No demuestra por sí solo que falle el DNS de Internet. Conserva el nombre exacto y sigue la ruta real.
Congela la identidad local exacta
Registra el nombre literal del aviso, la salida de hostname, hostnamectl si existe y si es host, contenedor o runner CI. No añadas dominio, cambies mayúsculas ni adivines todavía qué archivo está mal.
Prueba la base hosts real
Ejecuta getent hosts con el hostname exacto y getent ahosts si importa la familia. Siguen NSS. host o dig pueden omitir archivos locales y módulos NSS; resultados distintos no son una contradicción.
Lee el orden activo de fuentes
Inspecciona la línea hosts de /etc/nsswitch.conf y registra el orden y condiciones de files, myhostname, resolve, dns u otros módulos. Revisa solo la fuente que debe responder el nombre local.
Identifica al dueño persistente
En un host Debian estático compara hostname en ejecución, nombre persistente y mapping local verificado. En cloud, DHCP, NetworkManager, cloud-init, systemd-hostnamed, contenedores u orquestación, identifica quién regenera nombres o archivos.
Corrige una sola capa demostrada
Corrige una discrepancia o módulo verificados. Conserva localhost y alias válidos; no añadas una dirección supuesta ni renombres todo para ocultar el aviso. En entornos efímeros corrige imagen, entrypoint o mapping del runtime.
Demuestra el cierre sin mezclar DNS
Repite hostname y getent, ejecuta una validación sudo inocua y el comando original. Reinicia o recrea solo si el dueño lo requiere y vuelve a probar después. Comprueba DNS externo por separado.
