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 ?
Deux choses à vérifier (en supposant que votre machine s'appelle my-machine
vous pouvez le modifier si nécessaire) :
Que le /etc/hostname
ne contient que le nom de la machine.
Ce /etc/hosts
a une entrée pour localhost
. Il devrait avoir quelque chose comme :
127.0.0.1 localhost.localdomain localhost
127.0.1.1 my-machine
Si l'un ou l'autre de ces fichiers n'est pas correct (puisque vous ne pouvez pas faire de sudo), vous devrez peut-être redémarrer la machine en mode récupération et effectuer les modifications, puis redémarrer dans votre environnement habituel.
Le nom d'hôte ne changera pas tant que vous n'aurez pas redémarré. Si vous souhaitez le modifier sans redémarrer la machine, suivez les étapes ci-dessus et exécutez ensuite:- "sudo hostname my-machine" pour voir si cela a fonctionné, exécutez "sudo hostname" Cela affichera le nom d'hôte de votre machine. Cette méthode peut être utilisée comme méthode temporaire pour changer le nom d'hôte. Après un redémarrage, la valeur du fichier /etc/hostname est utilisée.
Note : comme vous ne pouvez pas faire de sudo au départ, il est difficile d'éditer ces fichiers. Ma solution a été d'arriver à faire sudo visudo et de changer #%admin ALL=(ALL) ALL
a %admin ALL=NOPASSWD: ALL
puis redémarrer, et sudo su -, éditer ces fichiers, définir/corriger le nom d'hôte, redémarrer à nouveau, et tout a fonctionné.
J'utilise le sous-système Linux dans Windows et j'ai rencontré ce problème. Après avoir suivi votre réponse, il a été résolu.
Editar /etc/hosts
et ajoutez votre nouveau nom d'hôte à la ligne 127.0.0.1 (ou créez une nouvelle ligne si vous préférez).
Le mien ressemble :
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
Remplacer penguin
dans l'exemple ci-dessus par votre nouveau nom d'hôte tel qu'il est indiqué dans le fichier /etc/hostname
fichier.
Comment peut-il éditer le fichier /etc/hosts s'il ne peut pas sudo ? A moins qu'il n'ait créé un compte rood avec un mot de passe (mauvaise idée).
@Dennis Vous pouvez toujours exécuter sudo
même si ce message est affiché. Cependant, vous devez toujours saisir votre mot de passe à chaque invocation. Si cela ne fonctionne pas, vous pouvez redémarrer dans la console de récupération et appliquer les changements. Il est déconseillé d'utiliser un compte root avec mot de passe.
C'est astucieux, mais je ne pense pas que ce soit une bonne idée d'automatiser quelque chose comme ça.
Cette opération consiste à ajouter le nom d'hôte au fichier hosts. On suppose qu'il n'y a rien entre l'ip loopback, la correspondance avec localhost et la fin du fichier, mais il y a maintenant des éléments IPv6 entre cette ligne et la fin du fichier, auquel cas cette solution ne donne pas vraiment ce que l'on voudrait. Un commentaire connexe : L'édition de ce fichier ou d'autres fichiers nécessite l'utilisation de sudo et c'est sudo que nous essayons de corriger. Nous devons toujours être en mesure d'exécuter sudo. Dans ce cas, sudo -h hostname peut être utilisé pour changer les permissions sur les fichiers ou obtenir l'autorisation de les éditer.
J'ai eu ce problème lorsque j'utilisais ubuntu sur un VPS. Je l'ai résolu en éditant le fichier /etc/hosts.
exécutez cette commande :
sudo nano /etc/hosts
et ensuite ajouter :
127.0.0.1 localhost.localdomain localhost
127.0.1.1 ubuntu
J'espère que cela résoudra votre problème :)
PS : N'oubliez pas de redémarrer votre ordinateur !
Vérifiez également si le nom de votre appareil (imprimé sur la barre de titre du terminal après le signe @) correspond au nom figurant sur la deuxième ligne de l'écran d'accueil. hosts
("ubuntu" dans l'exemple de Luca). La première ligne peut également être simplement "localhost".
N'oubliez pas ! Utiliser sudoedit
(ou sudo -e
). Pour spécifier l'éditeur préféré, utilisez l'option EDITOR
variable d'environnement (ex. export EDITOR=vim
), car il crée une copie hors ligne pour l'édition et l'écrase proprement après l'édition.
J'avais le même problème même si le nom d'hôte dans mon fichier /etc/hostname et /etc/hosts correspondait.
Mon nom d'hôte était "staging_1". Il s'avère que vous ne pouvez pas avoir de trait de soulignement dans votre nom d'hôte, c'est pourquoi j'ai eu cette erreur. En remplaçant le trait de soulignement par un trait d'union, j'ai résolu mon problème.
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