/etc/hosts のドメイン省略形は後ろに書かなければならない
初めて知った。というか前に書いて不具合が出た。
何となく習慣で
127.0.0.1 host1.example.com host1
って書いてたけど、Ansibleで設定していたときに
127.0.0.1 host1 host1.example.com
と書いていた。
そうすると hostname -f で正しくドメインが引けない。
debian/Ubuntuの/etc/hostnameにはFQDNではなくshort nameを書く | Nekoya press
Chapter 3. The system initialization
/etc/hostname にドメインまで全部書いてしまうと、今度は(-fなしの) hostname でドメインまで出てしまう。
hostnameコマンドでチェックしない限り、普段使ってる分には特に問題は起きないので気付かなかった。
いやでも man hosts で
IPアドレス 正式なホスト名 [エイリアス...] エントリーのフィールドは、空白またはタブ (複数でも可) で区切られる。 "#" 文字から行末までのテキストはコメ ントとして無視される。 ホスト名は英数字、 マイナス記号 ("-")、 ピリオド (".") を含むことができる。 ホスト 名は英文字 (alphabetic character) で始まって、 英数字 (alphanumeric characte) で終わらなければならない。 エイリアスはオプションであり、名前の変更、別のスペル、 短いホスト名、一般的に使われるホスト名 (例えば localhost) などのために用意されている。
正式なホスト名はhost1で、host1.example.comはドメイン名込みのエイリアスとも考えられるから、ちょっと意味が分からない。
最近manコマンドをよく使う。
man systemd.netdev man systemd.link man systemd-hostnamed.service
systemdの情報ってブログとかには全然なかったり不完全だったりするので、man見た方が早かったりする。