web-dev-qa-db-ja.com

Debian Sidのデフォルトの/ etc / hostsファイルはどこで入手できますか?

私のテストシステム(Debian Sid)から/etc/hostsを削除しました。次に、デフォルトの/etc/hostsをインストールします。 dpkg -S /etc/hosts/etc/hostsが含まれるパッケージを見つけようとしましたが、何も見つかりませんでした。どこからダウンロードできますか?

7
Eugene Yarmash

/etc/hostsファイルが書き込まれます debian-installer経由 、パッケージファイルとして存在しません。

以下は、デフォルトのインストールからの/etc/hostsです。

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

構文の詳細については、Debianリファレンスセクション The hostname resolution を参照してください。

更新:

この回答では予想よりも多くの賛成票が得られたと思うので、見返りにあなたの代わりに少し手作業を行いました。 :)

debian-installerロジックを含む/etc/hostsによって使用される実際のパッケージには、 net-cfg という名前が付けられます。より具体的には、netcfg.hnetcfg-common.cの2つのファイルが/etc/hostsファイルを作成するロジックを処理します。

netcfg.hには、ファイル自体とIPv6エントリの両方に#definesがあります。

#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にはダーティな作業が含まれており、/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);
}
13
jscott

Debianではチェックされていませんが、

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

(IPv6を使用しない場合は、:: 1で始まる行を無視できます)

編集:ファイルはおそらく基本インストールであり、追加パッケージからのものではありません。

1
Hennes