Ubuntu 16.04を実行している会社でサーバーをリースしました。名前をcompany.orgとします。
現在、私のサーバー構成は次のとおりです。
- CPU名:
server737263
- ドメイン名:
company.org
私のFQDNは次のとおりです。
user@server737263:~ $ hostname --fqdn
server737263.company.org
これは驚くべきことではありません。
私もドメイン名を借りて名前を付けましたdomain.org
。私がしたいことはサーバー名をserver1.domain.org
。
これは、私のホスト名をに設定し、server1
私のドメイン名をに設定することを意味しますdomain.org
。
どうすれば正しくできますか?
実際、マンページはhostname
明確ではありません。少なくとも私にとって:
ホスト名(1)
[...]
名前設定
- 1つの引数または--fileオプションを指定して呼び出されると、これらのコマンドはホスト名またはNIS / YPドメイン名を設定します。ホスト名はsethostname(2)関数を使用し、3つのドメイン名ypdomainnameとnisdomainnameは両方ともsetdomainname(2)を使用します。 これは、次回再起動するまでのみ機能します。永久に変更するには、/etc/hostname を編集します。
[...]
完全修飾ドメイン名
- ホスト名またはdnsdomainnameを使用してFQDNを変更することはできません。
[...]
編集だけでは/etc/hostname
足りないと思いますか?ホスト名が実際に変更されると、FQDNも変更されるためです。また、コマンドを使用してホスト名を変更するトリックを読みましsysctl kernel.hostname=server1
たが、これが正しい方法なのか醜いトリックなのかはわかりません。
だから:
ホスト名を設定する正しい方法は何ですか?
ドメイン名を設定する正しい方法は何ですか?
ベストアンサー1
ホスト名を設定してください:
/etc/hostname
新しいホスト名で編集する必要があります。それから
sudo hostname $(cat /etc/hostname)
。
バイナリがあるとし、ドメインを設定しますresolvconf
。
では、then行(FQDNではなくドメイン名のみを追加)を
/etc/resolvconf/resolv.conf.d/head
追加します。domain your.domain.name
次に、実行
sudo resolvconf -u
して更新します/etc/resolv.conf
(または以前の変更をコピーしてください/etc/resolv.conf
)。
そうでない場合は、その行をresolvconf
編集して追加するだけです。/etc/resolv.conf
domain your.domain.name
どちらにしても:
最後に/etc/hosts
ファイルを更新してください。 IP(ループバックかどうか)、FQDN、およびホスト名のいずれかで始まる行が少なくとも1つ必要です。 ipv6アドレスを確認すると、ホストファイルは次のようになります。
127.0.0.1 localhost
1.2.3.4 service.domain.com service
コメント内の多数の提案に対する回答hostnamectl
:必須でも完全でもありません。
オペレーティングシステムがsystemdに付属している場合は、手順1と2の代わりに使用できます。上記の手順は、systemdの存在(pclinuxos、devuanなど)に関係なく有効です。