Die /etc/hosts
Datei wird überdebian-installer
geschrieben , sie existiert nicht als gepackte Datei.
Folgendes stammt /etc/hosts
von einer Standardinstallation:
127.0.0.1 localhost
127.0.1.1 hostname.fqdn.example.com hostname
# 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
Weitere Einzelheiten zur Syntax finden Sie im Abschnitt Debian-Referenz. Die Auflösung des Hostnamens .
Aktualisieren:
Da ich der Meinung bin, dass diese Antwort mehr positive Stimmen erhalten hat als erwartet, habe ich im Gegenzug ein wenig Fingerarbeit für Sie geleistet. :) :)
Das tatsächlich verwendete Paket debian-installer
, das die /etc/hosts
Logik enthält , wird benannt net-cfg
. Genauer gesagt, zwei Dateien netcfg.h
und netcfg-common.c
die Logik zum Erstellen der /etc/hosts
Datei.
netcfg.h
hat #define
s sowohl für die Datei selbst als auch für die IPv6-Einträge:
#define HOSTS_FILE "/etc/hosts"
...<snip>...
#define IPV6_HOSTS \
"# The following lines are desirable for IPv6 capable hosts\n" \
"::1 ip6-localhost ip6-loopback\n" \
"fe00::0 ip6-localnet\n" \
"ff00::0 ip6-mcastprefix\n" \
"ff02::1 ip6-allnodes\n" \
"ff02::2 ip6-allrouters\n"
netcfg-common.c
enthält die Drecksarbeit und füllt die Informationen in /etc/hosts
:
if ((fp = file_open(HOSTS_FILE, "w"))) {
char ptr1[INET_ADDRSTRLEN];
fprintf(fp, "127.0.0.1\tlocalhost");
if (ipaddress.s_addr) {
inet_ntop (AF_INET, &ipaddress, ptr1, sizeof(ptr1));
if (domain_nodot && !empty_str(domain_nodot))
fprintf(fp, "\n%s\t%s.%s\t%s\n", ptr1, hostname, domain_nodot, hostname);
else
fprintf(fp, "\n%s\t%s\n", ptr1, hostname);
} else {
#if defined(__linux__) || defined(__GNU__)
if (domain_nodot && !empty_str(domain_nodot))
fprintf(fp, "\n127.0.1.1\t%s.%s\t%s\n", hostname, domain_nodot, hostname);
else
fprintf(fp, "\n127.0.1.1\t%s\n", hostname);
#else
fprintf(fp, "\t%s\n", hostname);
#endif
}
fprintf(fp, "\n" IPV6_HOSTS);
fclose(fp);
}