ファイル /etc/HOSTNAME
SuSE-Linuxではホスト名が含まれています。
これは完全修飾ドメイン名にする必要がありますか、それとも短い名前( "。"なし)にする必要がありますか?
関連する質問: socket.getfqdn()はドメインを返しませんが、socket.gethostname()は返しますか?
大文字の_/etc/HOSTNAME
_はSuSeシステムに固有ですが、小文字のファイル名_/etc/hostname
_へのシンボリックリンクである必要があります。 systemdによるため、他のディストリビューションにも存在する必要があります。
推奨されるsystemdユーティリティ hostnamectl
は、3つの異なるホスト名を区別します。
/etc/machine-info
_ に格納されている、あらゆる種類の特殊文字( "Lennart's Laptop"など)を含む可能性のある高レベルの「きれいな」ホスト名起動時にカーネルホスト名を初期化するために使用される静的ホスト名(「lennarts-laptop」など)。これは_/etc/hostname
_に格納されます。
ネットワーク構成から受信したデフォルトの一時ホスト名。
ホスト名構成ファイルのマニュアルページ _man 5 hostname
_ は、実際にはFQDNという用語を明示的に使用していませんが、次のように述べています。
_
/etc/hostname
_ファイルは、sethostname(2)
システムコールを使用して起動中に設定されるローカルシステムの名前を設定します。これには、改行で終了する単一のホスト名文字列が含まれている必要があります。
コメント(「#」で始まる行)は無視されます。
ホスト名は、最大64文字の自由形式の文字列にすることができます。ただし、7ビットのみで構成することをお勧めしますASCII小文字で、スペースやドットは含まないであり、厳密な要件ではありませんが、DNSドメイン名ラベルに許可されている形式に制限されます。
ここで、「ドットなし」は、ホスト名ファイルにシステムホスト名コンポーネントのみを含める必要があることを示す唯一のヒントであり、ドメインサフィックスは含まないため、FQDNは含まれません。
hostname
コマンドのマニュアルはより明確です(_man 1 hostname
_):
FQDN
この[sic:
hostname
]コマンドを使用して、FQDN(_hostname --fqdn
_によって返される)またはDNSドメイン名を変更することはできません。 システムのFQDNは、ホスト名に対してresolver(3)が返す名前です
つまり、ホスト名はFQDNではありません。
次に、FQDNを構成する方法について説明します。
技術的に:FQDNは、gethostname(2)が返すホスト名に対してgethostbyname(2)が返す名前です。 DNSドメイン名は、最初のドットの後の部分です。
したがって、それを変更する方法(通常は_
/etc/Host.conf
_内)に依存します。通常(hostsファイルがDNSまたはNISの前に解析される場合)、/ etc/hostsで変更できます。
ところで:_myhost.example.com
_などのFQDNをホスト名として使用し、_/etc/hostname
_で使用する場合、dnsdomain
や_hostname -d
_などは空の文字列を返し、その文字列を分割しませんDNSホスト名コンポーネントmyhost
とドメイン名コンポーネント_example.com
_への最初のドット