RPMによるパッケージ管理を理解する:実践でも役立つLPICドリル(2)(1/3 ページ)
本連載は、Linux 認定試験 LPICに対応しています。一般的なLinuxユーザーレベルのトピックは省略し、システム管理とサーバ管理の内容を取り上げています。また、LPIC対策だけでなく、関連するトピックについて系統的な理解を問う問題も出題しています。連載の特徴は、対象となるプログラムのバージョンを可能な限り明記していること、比較的新しくまとまった解説がまだ少ないトピック、重要だが理解しにくいトピックを優先して取り上げていることです。問題を解き、その解説を読むことにより実践でLinuxを活用できる力を身に付けます。
今回のディストリビューション: CentOS4.4、Fedora8
問題を解く鍵
このトピックは、「RPMによるパッケージ管理」です。これに関連した試験問題を解くには、以下の項目がポイントになります。
【1】RPMの機能を理解する
RPM(RedHat Package Manager)はレッドハットが開発したパッケージ管理のためのソフトウェアです。
RPMでは、関連したファイルはソフトウェアの種類ごとにグループ化されてパッケージとしてまとめられ、パッケージ単位で検索、インストール、アップグレード、アンインストール、検査などの管理ができます。
RPMには重要な機能の1つとして、パッケージ間の依存関係のチェック機能があります(図1)。
- パッケージAのインストール時、パッケージAに必要なパッケージBがまだインストールされていない場合は、その旨表示します
- パッケージAのアンインストール時、パッケージAを必要とするほかのパッケージBがある場合はその旨表示します
【2】パッケージ管理の基本的なオプション(検索、インストール、アップグレード、アンインストール、検査のオプション)を把握しておく
【3】データベースの修復方法、パッケージ署名のチェック方法を把握しておく
RPMはシステムにインストールされたパッケージの情報を/var/lib/rpmディレクトリの下のBerkeley DBで管理しています。このBerkeley DBの検索インデックスが一部壊れることがあり、その場合の修復オプションを覚えておくと役に立ちます。
修復コマンド: rpm --rebuilddb
パッケージには、パッケージのダイジェストとパッケージの情報を保持するヘッダのダイジェストが含まれており、この値と計算したダイジェストを比較すると、パッケージ内容の改ざんの有無を検査できます。
また、作成者の秘密鍵でパッケージとヘッダに署名することができます。パッケージの利用者は作成者が署名した秘密鍵と対の公開鍵により、署名が本物かどうかを調べ、パッケージが正当なものであるかどうかを検証できます。署名に使用する秘密鍵/公開鍵はGPGにより生成、管理されます。
デフォルトでは、パッケージのインストール時にダイジェストのチェックと署名チェックが行われます(図2)。
Copyright © ITmedia, Inc. All Rights Reserved.