web-dev-qa-db-ja.com

Ubuntu 10.04では、/ etc / hostnameにサーバーのFQDNを含める必要がありますか?

Ubuntu 10.04では、/ etc/hostnameにサーバーの完全修飾ドメイン名を含める必要がありますか?

18
RyanTM

いいえ、ホスト名の部分だけです。 buntuのmanページによると/etc/hostnameには、FQDNではなく、ホスト名のホスト名部分のみを含める必要があります。

FQDN

このコマンドでは、FQDN(hostname --fqdnによって返される)またはDNSドメイン名(dnsdomainnameによって返される)を変更することはできません。システムのFQDNは、resolver(3)がホスト名として返す名前です。

技術的に:FQDNは、gethostname(2)が返すホスト名に対してgethostbyname(2)が返す名前です。 DNSドメイン名は、最初のドットの後の部分です。

したがって、どのように変更できるかは、構成(通常は/etc/Host.confにあります)によって異なります。通常(hostsファイルがDNSまたはNISの前に解析される場合)、/ etc/hostsで変更できます。

ノート

ホストのFQDN、エイリアス、およびネットワークアドレスを検索するときにホスト名が試行するアドレスファミリは、リゾルバの構成によって決まります。たとえば、GNU Libcシステムでは、リゾルバーは、/ etc/resolv.confのinet6オプションを使用して、最初にIPv6ルックアップを試行するように指示できます。

ファイル

/ etc/hosts/etc/hostnameこのファイルには、完全なFQDNではなく、ドメイン名のみを含める必要があります。

12
Josh

JoshはUbuntuの推奨事項を指摘していますが、それが難しい規則であるかどうかはわかりません。

/etc/hostnameは、システムのホスト名を設定するために使用されます。これは、hostnameまたはuname -nによって出力されるものと同じです。その名前は、ログインプロンプトで使用されます。仮想コンソールまたはGnome GDMログイン画面。

Manページにあるように、hostname --fqdnまたはdnsdomainnameを実行するときに、DNSクエリへの入力としても使用されます。

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.

つまり、それが裸のWordの場合、リゾルバは/etc/resolv.confsearchまたはdomain設定にリストされているドメインを追加して、FQDNを見つけようとします。/etc/hostnameにFQDNがある場合、1つ以上のドメインを追加する必要がないことを意味します。名前は明確です。

だから私はどちらも有効だと思います。誰かが他の方法でデモンストレーションできるなら、私は非常に興味があります。

7
Mikel

libnss-myhostname をインストールすると、fqdnを/etc/hostnameに書き込んで完了できます。それ以外の場合は、/etc/hostsを編集してショートネームと一致させ、完全修飾名にマッピングする必要があります(dnsに含めることもできますが、これはフェールセーフではありません)。デフォルト以外のループバックインターフェイスを使用すると、次のようになります。

127.0.0.2 hostname.fully.qualified hostname
1
Tobu