Woher bekomme ich die Standarddatei / etc / hosts für Debian Sid?

7

Ich habe irgendwie /etc/hostsauf meinem Testsystem, das Debian Sid ist, gelöscht . Jetzt möchte ich die Standardeinstellung installieren /etc/hosts. Ich habe versucht dpkg -S /etc/hostsherauszufinden, welches Paket enthält /etc/hosts, aber es wurde keines gefunden. Wo kann ich es herunterladen?

Eugene Yarmash
quelle
Führen Sie einfach eine schnelle lokale Sid-Installation in Virtualbox durch und finden Sie es selbst heraus?
EEAA

Antworten:

13

Die /etc/hostsDatei wird überdebian-installer geschrieben , sie existiert nicht als gepackte Datei.

Folgendes stammt /etc/hostsvon 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/hostsLogik enthält , wird benannt net-cfg. Genauer gesagt, zwei Dateien netcfg.hund netcfg-common.cdie Logik zum Erstellen der /etc/hostsDatei.

netcfg.hhat #defines 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.centhä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);
}
jscott
quelle
Hier sind ein paar Links, um es zu sichern . Hast du Lust zu untersuchen, wo zufällig debian-installerangerufen netcfgwird? :)
x-yuri
1

Bei Debian deaktiviert, sollte es aber sein

:: 1 localhost localhost.my.domain
127.0.0.1 localhost localhost.my.domain

(Wenn Sie IPv6 nicht verwenden, können Sie die mit :: 1 beginnende Zeile ignorieren.)

Bearbeiten: Die Datei ist wahrscheinlich die Basisinstallation, nicht aus einem zusätzlichen Paket.

Hennes
quelle