Sollte / etc / hostname unter Ubuntu 10.04 den FQDN des Servers enthalten?

18

Sollte / etc / hostname unter Ubuntu 10.04 den vollqualifizierten Domainnamen des Servers enthalten?

RyanTM
quelle

Antworten:

12

Nein, nur der Hostnamen-Teil. Nach Manpages Ubuntu , /etc/hostnamesollte nur den Hostnamen Teil des Hostnamen enthalten, nicht der FQDN:

DER FQDN

Mit diesem Befehl können Sie weder den FQDN (wie vom Hostnamen --fqdn zurückgegeben) noch den DNS-Domänennamen (wie vom DNS-Domänennamen zurückgegeben) ändern. Der FQDN des Systems ist der Name, den der Resolver (3) für den Hostnamen zurückgibt.

Technisch: Der FQDN ist der Name, den gethostbyname (2) für den von gethostname (2) zurückgegebenen Hostnamen zurückgibt. Der DNS-Domänenname ist der Teil nach dem ersten Punkt.

Daher hängt es von der Konfiguration ab (normalerweise in /etc/host.conf), wie Sie sie ändern können. Normalerweise (wenn die Hosts-Datei vor DNS oder NIS analysiert wird) können Sie sie in / etc / hosts ändern.

ANMERKUNGEN

Der Hostname der Adressfamilie wird beim Abrufen des FQDN verwendet. Aliase und Netzwerkadressen des Hosts werden von der Konfiguration Ihres Resolvers bestimmt. Beispielsweise kann auf GNU Libc-Systemen der Resolver angewiesen werden, zuerst IPv6-Lookups zu versuchen, indem die inet6-Option in /etc/resolv.conf verwendet wird.

DATEIEN

/ etc / hosts / etc / hostname Diese Datei sollte nur den Domänennamen und nicht den vollständigen FQDN enthalten.

Josh
quelle
Ich glaube nicht, dass es aus der Manpage so klar hervorgeht, wie Sie es scheinen lassen, aber ich denke, ich werde den Ratschlägen auf meinem Server folgen. Vielen Dank.
RyanTM
1
"/ etc / hostname Diese Datei sollte nur den Domainnamen und nicht den vollständigen FQDN enthalten.", scheint mir klar zu sein ... aber ich stimme zu, dies kann verwirrend sein.
Josh
Oh. Ich glaube, ich habe diesen Satz aus Versehen nicht gelesen. Ich dachte, ich wäre so vorsichtig, wenn ich es mehrmals durchlesen würde. Ich würde vorschlagen, diesen Satz zu formulieren.
RyanTM
Ubuntu 12.04, das mit Hostname-3.15ubuntu1 ausgeliefert wurde, hat die Manpage folgendermaßen geändert hostname(1): " /etc/hostname: Früher sollte diese Datei nur den Hostnamen und nicht den vollständigen kanonischen FQDN enthalten. Heutzutage kann die meiste Software hier einen vollständigen FQDN verarbeiten. Diese Datei wird beim Systemstart von den Systeminitialisierungsskripten gelesen, um den Hostnamen festzulegen. "
200_erfolg
7

Josh weist darauf hin, was Ubuntu empfiehlt, aber ich bin nicht sicher, ob es eine harte und schnelle Regel ist.

/etc/hostnamewird verwendet, um den Hostnamen des Systems festzulegen, der mit dem von hostnameoder ausgedruckten identisch ist uname -n. Dieser Name wird bei Anmeldeaufforderungen verwendet, z. B. auf der virtuellen Konsole oder auf dem Gnome GDM-Anmeldebildschirm.

Wie die Manpage sagt, wird sie auch als Eingabe für eine DNS-Abfrage verwendet, wenn hostname --fqdnoder ausgeführt wird dnsdomainname.

Technically: The FQDN is the name gethostbyname(2) returns for the host name
returned by gethostname(2). The DNS domain name is the part after the first dot.

Dies bedeutet, dass der Resolver, wenn es sich um ein einfaches Wort handelt, die Domänen anhängt, die unter searchoder aufgeführt sind domain, um /etc/resolv.confzu versuchen, den vollqualifizierten Domänennamen zu finden. Wenn Sie einen vollqualifizierten Domänennamen in / etc / hostname haben, müssen Sie nicht versuchen, eine oder mehrere Domänen anzufügen: Der Name ist eindeutig.

Also ich würde sagen, entweder ist gültig. Ich wäre sehr interessiert, wenn jemand etwas anderes demonstrieren könnte.

Mikel
quelle
Du hast recht, das ist nicht eine feste Regel: Ich habe meine Antwort eingeschaltet , weil einige meine Server haben einen vollständigen Host - Namen in /etc/hostname! Erst nachdem ich geantwortet und nach Hinweisen gesucht hatte, wurde mir klar, dass ich gegen die offiziellen Dokumente verstoße.
Josh
1

Mit libnss-myhostname installiert ist , können Sie die fqdn schreiben /etc/hostnameund getan werden. Andernfalls müssen Sie auch /etc/hostsden Kurznamen bearbeiten , um ihn dem vollständig qualifizierten Namen zuzuordnen (Sie können ihn auch in den DNS einfügen, aber das ist nicht ausfallsicher). Bei Verwendung einer nicht standardmäßigen Loopback-Schnittstelle sieht dies folgendermaßen aus:

127.0.0.2 hostname.fully.qualified hostname
Tobu
quelle