hostname - システムのホスト名を表示または設定します
domainname - システムの NIS/YP ドメイン名を表示または設定します
ypdomainname - システムの NIS/YP ドメイン名を表示または設定します
nisdomainname - システムの NIS/YP ドメイン名を表示または設定します
dnsdomainname - システムの DNS ドメイン名を表示します
概要
hostname [-a|--alias] [-d|--domain] [-f|--fqdn|--long] [-A|--all-fqdns] [-i|--ip-address]
[-I|--all-ip-addresses] [-s|--short] [-y|--yp|--nis]
hostname [-b|--boot] [-F|--file filename] [hostname]
hostname [-h|--help] [-V|--version]
domainname [nisdomain] [-F file]
ypdomainname [nisdomain] [-F file]
nisdomainname [nisdomain] [-F file]
dnsdomainname
説明
Hostname は、システムの DNS 名を表示し、ホスト名または NIS ドメイン名を表示または設定するために使用されます。
名前の取得
引数なしで呼び出すと、プログラムは現在の名前を表示します。
hostname は、gethostname(2) 関数によって返されるシステムの名前を出力します。
domainname は、システムの NIS ドメイン名を出力します。domainname は gethostname(2) 関数を使用するのに対し、ypdomainname および nisdomainname は getdomainname(2) を使用します。
dnsdomainname は、FQDN (完全修飾ドメイン名) のドメイン部分を出力します。システムの完全な
FQDN は、hostname --fqdn を使用して返されます (ただし、セクション「FQDN」の警告を参照してください)。
名前の設定
1 つの引数または --file オプションを指定して呼び出すと、コマンドはホスト名または NIS/YP ドメイン名を設定します。hostname は sethostname(2) 関数を使用し、domainname、ypdomainname、および nisdomainname の 3 つのドメイン名はいずれも setdomainname(2) を使用します。ただし、これは次の再起動までのみ有効です。/etc/hostname を編集して、永続的な変更を行います。
名前の変更は、スーパーユーザーのみが可能です。
FQDN または DNS ドメイン名は、dnsdomainname コマンドを使用して設定することはできません (「FQDN」を参照)。
ホスト名は、通常、システム起動時に /etc/init.d/hostname.sh に設定されます (通常、ホスト名を含むファイルの内容を読み取ります。たとえば、/etc/hostname)。
FQDN
システムの FQDN (完全修飾ドメイン名) は、resolver(3) がホスト名に対して返す名前であり、たとえば、ursula.example.com のようになります。通常、ホスト名の後に DNS ドメイン名 (最初のドット以降の部分) が続きます。FQDN は、hostname --fqdn または ドメイン名は、dnsdomainname を使用して確認できます。
hostname または dnsdomainname を使用して FQDN を変更することはできません。
FQDN を設定するための推奨される方法は、ホスト名を完全修飾名 (FQDN) のエイリアスにすることです。これには、/etc/hosts、DNS、または NIS を使用します。たとえば、ホスト名が「ursula」の場合、/etc/hosts に次のような行を含めることができます。
12.0.1.1 ursula.example.com ursula
技術的には、FQDNは、gethostname(2)によって返されるホスト名に対して、getaddrinfo(3)が返す名前です。DNSドメイン名は、最初のドットの後の部分です。
そのため、リゾルバー(通常は/etc/host.conf)の設定によって、FQDNの変更方法が決まります。通常、/etc/hostsファイルはDNSまたはNISよりも前に解析されるため、FQDNを/etc/hostsファイルで変更するのが最も一般的です。
マシンに複数のネットワークインターフェース/アドレスがある場合、またはモバイル環境で使用されている場合、複数のFQDN/ドメイン名を持つか、まったく持たない場合があります。したがって、hostname --fqdn、hostname --domain、dnsdomainnameの使用は避けてください。hostname --ip-addressも同様の制限があるため、使用を避けるべきです。
オプション
-a, --alias
ホストのエイリアス名(使用されている場合)を表示します。このオプションは非推奨であり、これ以上使用しないでください。
-A, --all-fqdns
マシンのすべてのFQDNを表示します。このオプションは、すべての設定されたネットワークインターフェース上のすべての設定されたネットワークアドレスを列挙し、それらをDNSドメイン名に変換します。適切な逆IPエントリがないため、変換できないアドレスはスキップされます。異なるアドレスが同じ名前に解決される可能性があるため、出力に重複するエントリが含まれる可能性があります。出力の順序については、前提を立てないでください。
-b, --boot
常にホスト名を設定します。これにより、-Fで指定されたファイルが存在しないか、空であっても、ホスト名を設定できます。その場合、まだホスト名が設定されていない場合は、デフォルトのホスト名であるlocalhostが使用されます。
-d, --domain
DNSドメイン名を表示します。DNSドメイン名を取得するために、domainnameコマンドを使用しないでください。domainnameコマンドは、DNSドメイン名ではなく、NISドメイン名を表示します。代わりにdnsdomainnameを使用してください。上記の「THE FQDN」セクションの警告を参照し、このオプションの使用は避けてください。
-f, --fqdn, --long
FQDN(完全修飾ドメイン名)を表示します。FQDNは、短いホスト名とDNSドメイン名で構成されます。bindまたはNISを使用してホストの参照を行っている場合は、/etc/hostsファイルでFQDNとDNSドメイン名(FQDNの一部)を変更できます。上記の「THE FQDN」セクションの警告を参照し、可能な限りhostname --all-fqdnsを使用してください。
-F, --file filename
指定されたファイルからホスト名を読み込みます。コメント(\`#\`で始まる行)は無視されます。
-i, --ip-address
ホスト名のネットワークアドレスを表示します。ただし、これはホスト名を解決できる場合にのみ機能します。このオプションの使用は避け、代わりにhostname --all-ip-addressesを使用してください。
-I, --all-ip-addresses
すべてのネットワークアドレスを表示します。このオプションは、すべてのネットワークインターフェース上のすべての設定されたアドレスを列挙します。ループバックインターフェースとIPv6リンクローカルアドレスは省略されます。-iオプションとは異なり、このオプションは名前解決に依存しません。出力の順序については、前提を立てないでください。
-s, --short
短いホスト名を表示します。これは、最初のドットでホスト名を切り取ったものです。
-V, --version
バージョン情報を標準出力に出力して正常終了します。
-y, --yp, --nis
NISドメイン名を表示します。引数(または--file ファイル名)が与えられた場合、rootユーザーは新しいNISドメインを設定することもできます。
-h, --help
使用法メッセージを出力して終了します。
注意事項
ホストのFQDN、エイリアス、ネットワークアドレスを検索する際に、hostnameが試すアドレスファミリは、resolverの構成によって決定されます。たとえば、GNU libcシステムでは、/etc/resolv.confのinet6オプションを使用して、resolverにIPv6ルックアップを最初に試すように指示できます。
ファイル
/etc/hostname 歴史的に、このファイルにはホスト名のみを含め、完全な正規のFQDNを含めないようにするとされていました。現在では、ほとんどのソフトウェアは、ここに完全なFQDNを含めることができるようになりました。このファイルは、システムの起動時に初期化スクリプトによって読み取られ、ホスト名が設定されます。
/etc/hosts 通常、ホスト名をFQDNにエイリアスすることで、ここでドメイン名を設定します。
著者
Peter Tobias, <_> Bernd Eckenfels, <_>(NISおよびマニュアルページ)。 Michael Meskes, <_>