Amazon EC2に構築したCentOS7のホスト名(hostname)を再起動しても戻らないようにする
EC2上にAWS MarketplaceのCentOS7を入れるとホスト名はデフォルトでこんな感じでした。
# hostname ip-XX-XX-XX-XX.ap-northeast-1.compute.internal
FQDNチックな名前のhostnameにしたかったので、とりあえず以下のコマンドを実行したのですが、
OSを再起動したら元の残念なホスト名になっていました。
# hostnamectl set-hostname ホスト名
ちなみにこのコマンドは内部的には/etc/hostnameのホスト名を変更しているだけなので、
直接このファイルを編集してもOKですw
ホスト名が元に戻る原因は、OS起動時に*1cloud-initがhostnameの自動セットをやっていたからでした。
というわけでその処理を無効化します。
具体的には/etc/cloud/cloud.cfgにあるupdate_hostnameをコメント化して無効化してから、/etc/hostnameのホスト名を変更すると恒久的に変更されます。
僕の場合はhostnameは変更済みなので、後はこれだけです。
# vi /etc/cloud/cloud.cfg cloud_init_modules: - migrator - bootcmd - write-files - growpart - resizefs - set_hostname # - update_hostname - update_etc_hosts - rsyslog - users-groups - ssh
これで再起動してもホスト名が変更されたままになりました。
CentOS7の新しいコマンドたちなんか好きになれないw