web-dev-qa-db-fra.com

Pourquoi ai-je un nom d'hôte: Erreur de nom ou de service inconnu?

Je reçois cette erreur chaque fois que j'installe un paquet via apt-get:

hostname: Name or service not known
dpkg: error processing ssmtp (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up libt1-5 (5.1.2-3.4ubuntu1) ...
Setting up php5-Gd (5.3.10-1ubuntu3.2) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Errors were encountered while processing:
 ssmtp
E: Sub-process /usr/bin/dpkg returned an error code (1)

Pourquoi cela se passe?

23
batman

Solution:

(Ces types de problèmes n'ont pas de bonnes solutions. Mais seulement certains haking-ish)

Vous devriez d’abord essayer cette commande dans un terminal:

Sudo apt-get -f install

Si cela ne fonctionne pas, procédez avec la solution haking-ish.

Essayez de déplacer temporairement le script de configuration de ssmtp.

  1. Ouvrez un terminal et exécutez cette commande pour les déplacer dans le répertoire en cours.

     Sudo mv /var/lib/dpkg/info/ssmtp* .
    
  2. Ensuite, essayez d'utiliser apt-get

La cause du problème:

L'installation ou la suppression précédente risque de ne pas aboutir, laissant une étape de configuration à effectuer pour le package ssmtp. Étant donné que dpkg ne progressera pas sans avoir au préalable terminé les étapes, l'utilisation ultérieure de apt-get reste bloquée sur cette étape.

10
Anwar

lancer hostname --fqdn

Si vous obtenez une erreur, éditez/etc/hostname et/etc/hosts avec un nom d’hôte approprié.

Puis aptitude install ssmtp à nouveau pour le faire installer.

18
croaker___

Pour que tout le monde sache, l'édition de/etc/hosts a fait l'affaire, etc/hostname avait raison avec server.exmaple.com

cependant les hôtes n'étaient pas correct

127.0.0.1 localhost
127.0.0.1 server

changez cela en ceci:

127.0.0.1 localhost.localdomain  localhost
192.168.xxx.xxx  server.example.com   server

J'ai lancé hostname -f et hostname --fqdn et j'ai obtenu ce qui suit.

server.example.com

Je pensais que tout le monde aimerait savoir.

13
nexusguy59

Il est fort probable que votre connexion Internet ne fonctionne pas correctement. Plus précisément, je pense que votre DNS ne résout pas correctement.

essayez d'ajouter la ligne

nameserver 80.80.80.80 

à votre /etc/resolv.conf

Cela ajoutera temporairement le serveur DNS freenom (jusqu'au prochain démarrage).

3
user61664

J'ai rencontré cette erreur ce matin et il s'est avéré que le nom d'hôte était mal orthographié dans /etc/hostname. Corriger cela pour qu'il accepte l'orthographe du nom d'hôte dans /etc/hosts a résolu le problème. La commande hostname -b -F /etc/hostname qui s'exécute au démarrage ne peut apparemment pas se terminer si /etc/hostname et /etc/hosts ne sont pas d'accord.

1
Michael Merideth

J'ai reçu le message sur mon réseau domestique sur un système Ubuntu avec une adresse IP attribuée de manière dynamique à partir d'un routeur fournissant un serveur DHCP et DNS combiné pour mon réseau.

Le message: hostname: Name or service not known peut être provoqué par une telle panne, ne serait-ce que pour un instant.

Par exemple, cela peut arriver si mon routeur domestique est redémarré en cas de coupure de courant.

Le problème ici est que le service DHCP sur lequel votre réseau s'appuie oublie toutes les adresses IP attribuées et les noms de domaine associés. Lorsque votre ordinateur vérifie le nom du serveur DNS associé, le serveur ne l’a plus. Certains serveurs DHCP peuvent éviter des problèmes en écrivant les affectations qu'ils ont effectuées sur leur disque ou leur mémoire flash afin que rien ne soit perdu au redémarrage.


Le serveur peut normalement extraire votre nom_ordinateur de la requête DHCP de votre système, le rendre nom_ordinateur. Local et le stocker dans ses enregistrements, en le rendant disponible simultanément sur son serveur DNS associé. Généralement, hostname -fqdn demande à votre serveur DNS le nom de domaine complet sur votre réseau. Si ce dernier possède l'enregistrement, il renverra ce nom. Le suffixe .local le fait ressembler à un nom de domaine complet valide (bien qu'il ne s'agisse pas vraiment d'un nom de domaine global valide). C'est pourquoi vous n'avez peut-être pas à spécifier manuellement un nom de domaine dans les fichiers/etc/hosts ou/etc/hostname.


Le redémarrage du serveur DHCP peut entraîner des problèmes supplémentaires car les adresses IP peuvent être attribuées simultanément à plusieurs ordinateurs, ce qui empêche certains d’entre eux de communiquer. L'adresse est attribuée une fois avant le redémarrage du serveur, puis après.

Si votre serveur DHCP oublie ses attributions, la meilleure chose à faire est de reconnecter chaque ordinateur qu'il sert au redémarrage. Lorsque j'ai perdu le mien, je me suis simplement déconnecté puis reconnecté à mon point d'accès wifi. Sur un réseau câblé, vous pouvez utiliser ifdown et ifup ou simplement déconnecter et reconnecter le câble réseau. Lors de la reconnexion de mon système, dhclient est automatiquement utilisé pour obtenir une nouvelle adresse. Mon ordinateur et le serveur sont désormais d’accord sur mon identité et le message ne s'affiche plus.

Si vous attendez assez longtemps, le bail DHCP expire et votre système demande un nouveau bail au serveur et résout le problème. Ce sera probablement des heures ou des jours plus tard (pour mon serveur, c'est un jour).

Si vous avez défini un nom et une adresse IP statique et si les enregistrements de recherche inversée DNS sont corrects, le problème ne devrait pas se produire.

1
John S Gruber