hostname, domainname設定のメモ(CentOS7)

ホスト名やドメイン名の設定はディストリビューションやバージョンによって推奨が異なっており、ややこしい。 設定ファイルの動作を確認したのでメモしておく。

TL; DR

環境

$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core) 
$ cat /etc/postfix/main.cf
myorigin = $mydomain
以下略

設定

とする。

# echo hoge.example.com > /etc/hostname
# systemctl restart NetworkManager

/etc/hostsに設定も入れた方がいいのかは不明。入れている記事が多いが、動作したので気にしないことにする。

ドメイン名を/etc/sysconfig/network-scripts/ifcfg-eth0や/etc/resolve.conf に記載する記事もあるが、古い作法のようである。

確認

$ hostname
hoge.example.com

$ hostname -f
hoge.example.com

$ dnsdomainname
example.com

$ cat /etc/resolv.conf
# Generated by NetworkManager
search example.com
nameserver 192.0.2.1

失敗例

上記に加え、/etc/hostsに以下を設定

127.0.0.1 localhost localhost.localdomain hoge.example.com

結果

$ hostname
hoge.example.com

$ hostname -f
localhost

$ dnsdomainname
example.com

FQDN表示がlocalhostとなる。

127.0.0.1 hoge.example.com localhost 

が正しいようである。

その他

ホスト名の設定前はメールの送信元が user@localdomain.localdomain となっていた。