インストールとパッケージ管理に関するFAQ-4
パッケージ管理を行う rpm コマンドについて教えてください。
rpm コマンドの実行例をご紹介します。
====================================================================================
1. パッケージのインストール、アップデート、削除
====================================================================================
[コマンド]
------------------------------------------------------------------------------------
(1) rpm -ivh <パッケージファイル名> -- 新規インストール
(2) rpm -Uvh <パッケージファイル名> -- アップデート or 新規インストール
(3) rpm -Fvh <パッケージファイル名> -- アップデートのみ
(4) rpm -e <パッケージ名> -- 削除
------------------------------------------------------------------------------------
[解説]
(1) -ivh --パッケージを新規にインストールします。
通常は、同名のパッケージがインストールされていない状態で使用しますが、新しいカーネルパッケージを適用する場合は、このオプションを使用して現在使用しているカーネルバージョンを残したままにすることをお勧め致します。
(2) -Uvh --パッケージをアップデートもしくは、新規インストールします。
同名のパッケージがインストールされている場合はアップデートとなり、インストールされていない場合は新規インストールとなります。
アップデート時点で既に変更が行われている設定ファイル等は、アップデートを行っても通常は上書きされず、設定内容は継続されます。
(3) -Fvh --パッケージをアップデートします。
同名のパッケージが既にインストールされている場合にのみ、アップデートが行われます。
(4) -e --パッケージを削除します。
インストールされているパッケージを削除します。
[補足]
何らかの理由により古いパッケージバージョンに戻したい場合は、--oldpackageオプションを使用します。
[実行例]
# rpm -Uvh --oldpackage <パッケージファイル名>
また、パッケージ間の依存関係によりインストールや削除などが行えない場合、依存するパッケージ群を全て指定することで、依存関係を解決することができます。
[実行例]
# rpm -ivh <パッケージファイル名1> <パッケージファイル名2> ..
--nodeps オプションを使用すると、依存関係に拘束されずにインストールや削除を行うことができますが、正しいパッケージ管理が行えなくなるためお勧めできません。
====================================================================================
2. インストール済みパッケージの一覧取得
====================================================================================
[コマンド]
------------------------------------------------------------------------------------
rpm -qa
------------------------------------------------------------------------------------
[解説]
インストールされている全てのパッケージの一覧を表示します。
[実行例]
# rpm -qa
CID-keyed-fonts-WadaH-XXXXXXXX-XXX.X
bind-doc-X.X.X-X.XX
makedumpfile-X.X.X-X.XX
sles-admin_en-XX.X-X.XX
terminfo-X.X-XX.XX
xorg-x11-server-glx-X.X.X-XX.XX
:
[補足]
-q オプションは特定のパッケージを検索する際に利用します。
[実行例]
# rpm -q samba
samba-X.X.XX-X.X
パッケージ名の一部しか判らない場合は、-qa と grep を組み合わせることでパッケージ名を特定することが可能です。
[実行例]
# rpm -qa | grep sam
yast2-samba-server-X.XX.XX-X.X
libsamplerate-X.X.X-XX.X
yast2-samba-client-X.XX.XX-X.X
samba-client-X.X.XX-X.X
samba-X.X.XX-X.X
====================================================================================
3. ファイルが属するパッケージの確認
====================================================================================
[コマンド]
------------------------------------------------------------------------------------
rpm -qf <ファイル名>
------------------------------------------------------------------------------------
[解説]
ファイルがどのパッケージに属しているかを確認することができます。
[実行例]
sar コマンドがどのパッケージか確認する場合
# rpm -qf /usr/bin/sar
sysstat-X.X.X-X.X
====================================================================================
4. パッケージ情報の確認
====================================================================================
[コマンド]
------------------------------------------------------------------------------------
(1) rpm -qi <パッケージ名>
(2) rpm -qip <パッケージファイル名>
------------------------------------------------------------------------------------
[解説]
パッケージの情報を表示します。これには、パッケージの概要や開発元の URL 等の情報が含まれます。
(1) はインストール済みパッケージの情報を確認する場合です。(2) は rpm ファイルをインストールする前にそのパッケージ情報を確認する場合となります。
[実行例]
sysstat パッケージの概要を確認する場合
------------------------------------------------------------------------------------
# rpm -qi sysstat
Name : sysstat Relocations: (not relocatable)
Version : 8.0.4 Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany
Release : 1.4 Build Date: Tue Apr 22 09:04:44 2008
Install Date: Fri Jan 9 16:08:18 2009 Build Host: soellner.suse.de
Group : System/Monitoring Source RPM: sysstat-8.0.4-1.4.src.rpm
Size : 465848 License: GPL v2 or later
Signature : DSA/SHA1, Tue Apr 22 09:07:02 2008, Key ID a84edae89c800aca
Packager : http://bugs.opensuse.org
URL : http://perso.wanadoo.fr/sebastien.godard/
Summary : Sar and Iostat Commands for Linux
Description :
Sar and Iostat commands for Linux. The sar command collects and reports
system activity information. The iostat command reports CPU statistics
and I/O statistics for TTY devices and disks. The information
collected by sar and iostat can be saved in a binary file for future
inspection. Both commands now support SMP machines when displaying CPU
utilization.
:
------------------------------------------------------------------------------------
====================================================================================
5. パッケージに含まれるファイル一覧の取得
====================================================================================
[コマンド]
------------------------------------------------------------------------------------
(1) rpm -ql <パッケージ名>
(2) rpm -qlp <パッケージファイル名>
------------------------------------------------------------------------------------
[解説]
パッケージに含まれるファイルを確認したい場合に使用します。
(1) はインストール済みパッケージに対して確認する場合です。(2) は rpm ファイルをインストールする前にその中に含まれれるファイルを確認する場合となります。
[実行例]
インストール済みの sysstat パッケージ に含まれるファイルを確認する場合
# rpm -ql sysstat
/etc/init.d/sysstat
/etc/sysstat
/etc/sysstat/sysstat
:
インストール前の sysstat パッケージ用の rpm ファイル内に含まれるファイルを確認する場合
# rpm -qlp sysstat-X.X.X-X.X.i586.rpm
/etc/init.d/sysstat
/etc/sysstat
/etc/sysstat/sysstat
:
[補足]
-ql と grep を組み合わせることで、パッケージから提供されているコマンド等を調べることができます。以下は sysstat に含まれるコマンドを確認する例です。
[実行例]
# rpm -ql sysstat | grep bin
/usr/bin/iostat
/usr/bin/mpstat
/usr/bin/pidstat
/usr/bin/sadf
/usr/bin/sar
/usr/sbin/rcsysstat
上記から、sar コマンドや iostat コマンド等が sysstat パッケージに含まれることがわかります。
====================================================================================
6. インストール済みのパッケージの検査
====================================================================================
[コマンド]
------------------------------------------------------------------------------------
rpm -V <パッケージ名>
------------------------------------------------------------------------------------
[解説]
インストール済みのパッケージを検査します。
インストール後のファイルの変更や削除、パッケージ間の依存関係の不整合が確認できます。何も表示されない場合は、ファイルは初期状態で依存関係は整合しています。
[実行例]
# rpm -V apache2
S.5....T c /etc/apache2/default-server.conf
上記の場合、設定ファイル(c) である default-server.conf に関して、サイズ(S)、MD5チェックサム(5)、修正時刻(T) が違っていることを意味します。また、変更されたファイルが default-server.conf だけなので、実行ファイルなどは改竄されていないことがわかります。
[補足]
検査結果の出力文字は以下の意味になります。
S ファイルのサイズ (Size) が異なる
M モード (Mode; 許可属性とファイルの種類) が異なる
5 MD5 チェックサムが異なる
D デバイス (Device) のメジャー/マイナー番号が一致しない
L readLink(2) したパスが一致しない
U 所有者 (User) が異なる
G グループ (Group) が異なる
T 修正時刻 (mTime) が異なる
≫ 前のページへ戻る