Cela peut être un peu une question noobish, mais je jetais un œil à/etc/hosts sur ma nouvelle installation Xubuntu et j'ai vu ceci:
127.0.0.1 localhost
127.0.1.1 myhostname
Sur la plupart des nix que j'ai utilisés, la deuxième ligne est omise, et si je veux ajouter mon nom d'hôte au fichier hosts, je ferais juste ceci:
127.0.0.1 localhost myhostname
Y a-t-il une différence entre ces deux fichiers dans un sens pratique?
Il n'y a pas beaucoup de différence entre les deux; 127/8
(par exemple: 127.0.0.0
=> 127.255.255.255
) sont tous liés à l'interface de bouclage.
La raison en est documentée dans le manuel Debian dans Ch. 5 Network Setup - 5.1.1. The hostname resolution .
En fin de compte, c'est une solution de contournement de bogue; le rapport d'origine est 16099 .
Pour résumer les informations liées:
/etc/hosts
traduire le nom de domaine complet de la machine en son adresse IP permanente.debian-installer
, et plus précisément, son composant netcfg
, actuellement (jusqu'à mars 2013 au moins) crée cette entrée.127.0.1.1
utilise interface de bouclage , répondu par votre propre machine, tout comme 127.0.0.1
mais est une entrée distincte dans /etc/hosts
qui peut être considéré séparément de 127.0.0.1
si/quand nécessaire.Thomas Hood explique l'ajout de cette entrée comme suit:
[Ceci] garantira que si le nom d'hôte UNIX est résolu, ce sera toujours son propre nom d'hôte canonique
mais:
À long terme, le nom d'hôte UNIX ne devrait pas du tout être placé dans/etc/hosts.
J'étais moi-même curieux, et je n'ai aimé aucune des autres réponses car ils ne semblaient pas répondre à ce que je cherchais au moins.
La réponse: En y repensant doc il semble presque que Thomas déclarait lui donner une autre ip dédiée sur le bouclage lui permet d'être canonique.
Les deux pointent vers votre bouclage. L'utilisation de la 127.0.1.1 suivante est une IP réelle, sur le bouclage, tandis que la 127.0.0.1 est soit le périphérique lui-même, soit une autre IP sur le bouclage. Les deux se retrouvent sur le même sous-réseau, représentant le bouclage, mais sont séparés par ip. Ils sont équivalents en termes de DNS, mais séparés en raison de l'IP dédié.
Le fait est que vous pouvez avoir toutes vos entrées sur une seule ligne comme celle-ci
127.0.0.1 localhost localhost.domain www.myfakednsname.com myakednsname.com
Si votre nom d'hôte est local, ce qui signifie qu'aucune entrée DNS Internet globale n'est mappée sur une adresse IP Internet réelle, alors dans ce cas, Thomas disait que vous BESOIN DE ont la 2ème ligne d'entrée, comme celle-ci pour la dédier là (au canonique).
127.0.0.1 localhost localhost.localdomain
127.0.1.1 myfakednsname
J'ai lu plusieurs réponses et je suis franchement un peu confus.
J'ai d'abord essayé de comprendre ce qu'est un nom d'hôte canonique ici .
Ce que je peux dire, c'est que @cmroanirgo a raison de dire que sur mon ordinateur portable Ubuntu, en invoquant
hostname --fqdn
avec /etc/hosts
configuré comme ceci
127.0.0.1 localhost
127.0.1.1 laptop
renvoie laptop
, tandis que changer le fichier comme suit
127.0.0.1 localhost laptop
renvoie localhost
.
Quels impacts cela peut avoir, je n'en ai aucune idée, sauf le fait que si vous avez un logiciel qui se lie au nom d'hôte, et que vous devez en parler en interne à votre machine, ne vous attendez pas à pouvoir utiliser le nom d'hôte "localhost" pour faire le travail, dans cette configuration, car ils finissent par résoudre deux adresses distinctes distinctes.