LinuCレベル2 ファイルシステムとストレージ管理 問14
ファイルシステムとストレージ管理/ファイルシステムの設定とマウントsystemdを採用したシステムにおける、/etc/fstabの扱いの説明として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル2の出題範囲「ファイルシステムとストレージ管理」に対応。実際の試験問題ではありません)
- Asystemdは/etc/fstabを読まないため、マウントごとに.mountユニットを手書きする必要がある
- B起動時に各行から.mountユニットが生成され、/srv/dataの行はsrv-data.mountという名前になる
- C/etc/fstabを編集して保存すると、systemdが変更を検知して追加した行を即座にマウントする
- D各行はファイルに書かれた順にだけマウントされ、親子関係などにもとづく順序づけは行われない
正解:B
解説
systemdを採用したシステムでは、起動時やsystemctl daemon-reloadの実行時に、systemd-fstab-generatorが/etc/fstabの各行を.mountユニットへ変換します。ユニット名はマウントポイントのパスから作られ、先頭の/を除いて残りの/を-に置き換えるため、/srv/dataならsrv-data.mountになります(systemd-escape --path で確認できます)。生成されたユニットは systemctl status srv-data.mount のように他のユニットと同じく操作でき、親ディレクトリのマウントの後に子をマウントするといった順序も自動で付けられます。/etc/fstabを編集した後は、systemctl daemon-reloadで変更を反映させます。
選択肢ごとの解説
- A誤り。systemdは/etc/fstabを読み、systemd-fstab-generatorで.mountユニットに変換します。.mountユニットを手書きすることもできますが、必須ではありません。
- B正しい。fstabの各行は.mountユニットに変換され、ユニット名はマウントポイントのパスから作られます。
- C誤り。編集しただけでは反映されません。systemctl daemon-reloadでユニットを再生成し、マウント自体はmount -aやsystemctl startで行います。
- D誤り。systemdはマウントポイントの親子関係から依存関係を自動で付け、/srvの後に/srv/dataをマウントするといった順序を保証します。記述順に頼る仕組みではありません。