LinuCレベル1 ファイル・ディレクトリの操作と管理 問21
ファイル・ディレクトリの操作と管理/ファイルの配置と検索locateコマンドに関連する設定ファイル /etc/updatedb.conf の役割として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル1の出題範囲「ファイル・ディレクトリの操作と管理」に対応。実際の試験問題ではありません)
- Alocateが検索結果を表示するときの、並び順や色付けなどの表示形式を指定する
- Bfindが検索を始めるときに使う、既定の起点ディレクトリや検索の深さを指定する
- Clocate用のデータベースを自動更新する時刻や、更新を行う間隔を指定する
- Dupdatedbがデータベースを作るとき、対象から外すパスやファイルシステムを指定する
正解:D
解説
locateは、updatedbコマンドがあらかじめ作成したファイル名のデータベースを検索するため高速ですが、データベースを更新するまでは新しいファイルが見つかりません。/etc/updatedb.conf は、updatedbがデータベースを作るときの動作を設定するファイルで、PRUNEPATHS(除外するパス)、PRUNEFS(除外するファイルシステムの種類)、PRUNENAMES(除外するディレクトリ名)などを指定します。/tmp やネットワークファイルシステムなどを対象から外す設定が代表的です。データベースの定期更新は、このファイルではなくcronやsystemdタイマーが updatedb を実行することで行われます。
選択肢ごとの解説
- A誤り。/etc/updatedb.conf はデータベースの作成方法を設定するファイルで、locateの結果の表示形式を決めるものではありません。
- B誤り。findはデータベースを使わず実際にディレクトリをたどるコマンドで、/etc/updatedb.conf の設定の影響を受けません。
- C誤り。定期的な更新は、cronやsystemdタイマーがupdatedbを実行して行います。このファイルは更新のスケジュールを持ちません。
- D正しい。PRUNEPATHSやPRUNEFSなどで、updatedbがデータベースに登録しないパスやファイルシステムの種類を指定します。