Quand je cours sudo
le terminal est bloqué pendant quelques secondes puis émet un message d'erreur. Mon terminal ressemble à ceci :
ubuntu@(none):~$ sudo true
sudo: unable to resolve host (none)
Que puis-je faire pour le résoudre ?
Quand je cours sudo
le terminal est bloqué pendant quelques secondes puis émet un message d'erreur. Mon terminal ressemble à ceci :
ubuntu@(none):~$ sudo true
sudo: unable to resolve host (none)
Que puis-je faire pour le résoudre ?
Bienvenue sur askubuntu ! Pouvez-vous nous en dire un peu plus ? Ce que vous voulez dire n'est pas très clair (du moins pour moi)
Voici la réponse qui m'a aidé. Amazon AWS a changé depuis la dernière fois que je l'ai consultée. Les VPC ont des options DNS, et elles doivent être activées pour que la résolution DNS fonctionne.
L'option Enable DNS Hostnames (Activer les noms d'hôtes DNS) peut être trouvée (par exemple) dans le menu contextuel de l'entrée vpc
Le symptôme indiqué dans la question peut présenter une forte corrélation avec ce problème plus spécifique :
$ hostname --fqdn
hostname: Temporary failure in name resolution
Il existe différentes façons de résoudre ce problème, l'une d'entre elles consiste à ajouter votre nom d'hôte en tant que localhost dans le fichier /etc/hosts
(comme indiqué dans plusieurs autres réponses). C'est peut-être la bonne chose à faire en général, mais ce n'est pas la seule résolution possible.
Un "nom de domaine pleinement qualifié" peut être fourni par un serveur DNS externe ou similaire (s'il est disponible sur votre réseau). Dans ce cas, sudo
ne se plaindra pas, malgré l'entrée manquante dans /etc/hosts
.
Nota: sudo
tente de déréférencer le nom d'hôte, même s'il n'est pas nécessairement requis, en raison de capacités optionnelles dans le fichier sudoers. Voir La commande sudo essaie de rechercher le nom d'hôte .
Tant que le délai n'est pas trop long, ce message d'erreur est généralement inoffensif.
Tout le monde conseille de modifier /etc/hosts
. Mais dans certains cas, cela peut ne pas être possible (par exemple à l'intérieur d'un conteneur docker). Je devais donc trouver une meilleure solution et j'ai trouvé celle-ci :
echo "alias sudo='sudo -h 127.0.0.1'" >> ~/.bash_aliases
source ~/.bashrc
Les alias ne fonctionnent pas dans les scripts de bash, mais nous pouvons utiliser des variables : sudo='sudo -h 127.0.0.1'
Certains émulateurs de terminal ne mettront pas à jour l'invite avec le nom d'hôte correct tant que vous n'aurez pas fermé et redémarré l'émulateur (lxterminal, c'est à vous que je parle).
J'ai passé 30 minutes à me battre avec cette erreur après avoir modifié ma page d'accueil. nom d'hôte y hôtes et en exécutant sudo service hostname restart
jusqu'à ce que j'ai couru sudo hostname
et a vu que le nom d'hôte était la nouvelle valeur, même si l'invite affichait l'ancienne valeur.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.
10 votes
Veuillez afficher le contenu de
/etc/hostname
y/etc/hosts
.60 votes
Je recommande de ne pas clore cette question en disant trop localisé . De nombreux utilisateurs peuvent penser à tort qu'ils ont mis un nom dans leurs
hosts
mais mettre un nom différent à la place, d'autant plus que sur de nombreux réseaux, les ordinateurs sont nommés de la même manière. Cette question (et sa réponse) apparaîtrait lorsque quelqu'un effectue une recherche sur ce problème, et la réponse l'inciterait à vérifier de telles divergences, même si l'orthographe exacte est différente.12 votes
Assurez-vous que votre
hostname
même avechosts
. par exemple, le nom d'hôte est ubuntu-pc et les hôtes est ubuntu-pc doivent être identiques.1 votes
J'ai rencontré ce problème aujourd'hui. Le problème était que ce que j'avais dans hostname n'était pas dans /etc/hosts. A savoir $ hostname => 'mybox' $ grep 'mybox' /etc/hosts => 192.168.1.2 mybox.example.com. Je devais ajouter 'mybox' après mon nom de domaine dans /etc/hosts => 192.168.1.2 mybox.example.com mybox
4 votes
Je ne peux pas poster de réponse parce que cette question est protégée et que je n'ai pas assez de réputation ici. Dans mon cas, j'ai résolu le problème en redémarrant network-manager :
sudo /etc/init.d/network-manager restart
. Cependant, je me demande pourquoi en premier lieusudo
perd du temps à attendre des informations sur le réseau. Il ne faudrait passudo
fonctionne sans problème lorsque le réseau n'est pas disponible ?0 votes
Pourquoi la question a-t-elle
<USER>
à la fin ? Cela contredit le résultat réel indiqué dans le corps de la question, à savoir(none)
Suggestion d'amélioration : supprimer<USER>
du titre et/ou le remplacer par(none)
0 votes
@arielf Vous pouvez améliorer les questions ici. Elle a été modifiée par un autre utilisateur. Je ne sais pas non plus :P