過去問ドリル

LinuCレベル2 ネットワーク構成 問27

ネットワーク構成/ネットワークの問題解決

systemdを採用したサーバーのホスト名をweb01に変更したい。直ちに反映し、再起動後も同じホスト名になるようにする方法として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル2の出題範囲「ネットワーク構成」に対応。実際の試験問題ではありません)

正解:A

解説

hostnamectl set-hostnameは、systemd-hostnamedを通じて実行中のカーネルのホスト名と/etc/hostnameの両方を書き換えるため、直ちに反映され、再起動後も同じホスト名になります。hostnameコマンドや/proc/sys/kernel/hostnameへの書き込みは実行中のカーネルの値だけを変えるため、再起動すると/etc/hostnameの値に戻ります。ホスト名を変えたら、/etc/hostsに書かれている自ホストの名前も合わせておくと、名前解決の不整合を防げます。

選択肢ごとの解説

  • A正しい。hostnamectl set-hostnameは実行中のホスト名と/etc/hostnameを同時に変更します。
  • B誤り。hostname web01は実行中のカーネルのホスト名だけを変更します。/etc/hostnameは変わらないため、再起動すると元に戻ります。
  • C誤り。/etc/hostsはIPアドレスとホスト名の対応を書くファイルで、追記してもそのホスト自身のホスト名は変わりません。
  • D誤り。/proc/sys/kernel/hostnameへの書き込みは実行中のカーネルの値を変えるだけで、再起動すると失われます。
LinuCレベル2の問題を演習モードで解く