過去問ドリル

LinuCレベル1 リポジトリとパッケージ管理 問28

リポジトリとパッケージ管理/RPMパッケージ管理

インターネットから入手したRPMファイル foo-1.0-1.x86_64.rpm について、インストールする前に、ファイルが壊れたり改ざんされたりしておらず、インポート済みの公開鍵に対応する正しい署名が付いているかを確認したい。コマンドとして適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル1の出題範囲「リポジトリとパッケージ管理」に対応。実際の試験問題ではありません)

正解:B

解説

rpm -K(--checksig)は、RPMファイルに記録されたダイジェスト(ハッシュ値)と署名を検証します。署名の検証には、配布元の公開鍵をあらかじめ rpm --import でRPMのデータベースに取り込んでおく必要があります。鍵が取り込まれていない場合は、署名を確認できなかった旨が表示されます。rpm -V はインストール済みのパッケージについて、配置されたファイルがインストール時から変わっていないかを調べるもので、対象が異なります。

選択肢ごとの解説

  • A誤り。rpm -V はインストール済みパッケージのファイルの変更(サイズ、権限、ハッシュ値等)を検査するもので、未インストールのRPMファイルの署名は確認しません。
  • B正しい。rpm -K はRPMファイルのダイジェストと署名を検証し、破損や改ざん、署名の正当性を確認します。
  • C誤り。rpm -qpi はRPMファイルの名前・バージョン・説明などの情報を表示するだけで、署名の検証結果は示しません。
  • D誤り。rpm -qpl はRPMファイルに含まれるファイルの一覧を表示するコマンドです。
LinuCレベル1の問題を演習モードで解く