8.3. RPM - RPM Package Manager

8.3.1. rpmパッケージのインストール (rpm -i)

RPMパッケージpackage-1-2vl3.i386.rpmをインストールするには、オプション -i(Install;インストール)を使います。

# rpm -ivh package-1-2vl3.i386.rpm

オプション-v (verbose)と-h (hash)を用いると インストール中にハッシュマーク(#)が出て、インストールの進む様子がわか ります。

例 8.3. 依存関係(dependency)の解決

RPMパッケージをインストールしようとしたときに、

libdepend.so.1 is needed by package-1-2vl3
sometool is needed by package-1-2vl3
			

もしくは、

libdepend.so.1 が package-1-2vl3 に必要です
sometool が package-1-2vl3 に必要です
			

などというエラーが出ることがあります。 これは「RPMパッケージ package-1-2vl3の中に、libdepend.so.1というライブラリやsometoolという RPMパッケージを必要とするファイルがあるにもかかわらず、libdepend.so.1 やsometoolがシステムにインストールされていない」ことによるエラーです。 このときには、 ライブラリlibdepend.so.1を含むパッケージや、パッケージsometoolを探 してきてインストールして下さい。

もし、このような依存性を無視してインストールしたいときには、オプション --nodepsを用いてインストールします。

# rpm -i --nodeps package-1-2vl3.i386.rpm

とします。ただし、この場合にはインストールしたパッケージが正常に動作しない可能性があります。

例 8.4. 競合(conflict)の解決

package-1-2vl3.i386.rpmのインストール時に、

/usr/bin/cmd conflicts with file from another-3-4vl5

もしくは、

/usr/bin/cmd は another-3-4vl5 のファイルと競合します

というエラーが出た場合には、package-1-2vl3のファイル/usr/bin/cmdが, すで にインストール済みのパッケージ another-3-4vl5のファイル/usr/bin/cmdと競 合するために、インストールできないことを示します。もし、無理矢理インストー ルしたいときには、オプション--forceを用います。

# rpm -ivh --force package-1-2vl3.i386.rpm

しかし、この場合には、元からあったanother-3-4vl5のファイル/usr/bin/cmdは、 package-1-2vl3によって上書きされてしまうので、取扱には要注意です。

8.3.2. rpmパッケージのアップグレード (rpm -U)

すでに、package-1-1vl1.i386.rpmがインストールされていて、新しい package-1-2vl3.i386.rpmにバージョンアップしたいときには、オプション -U (Update;更新)を用います。

# rpm -Uvh package-1-2vl3.i386.rpm

ここで、オプション-vhの役割はインストールの時と同じです。また、 古いバージョンpackage-1-1vl1.i386.rpmに戻したいときには、オプション --oldpackageを用います。

# rpm -Uvh --oldpackage package-1-1vl1.i386.rpm

8.3.3. rpmパッケージの削除 (rpm -e)

インストールしたpackageを削除(アンインストール)したくなったら、オプショ ン-e(erase;削除)を用います。

# rpm -e package

ここで、バージョン番号やリリース番号は要りませんが、明示して

# rpm -e package-1-2vl3

とすることもできます。ただし, パッケージpackageに含まれるファイル somefileが他のパッケージで利用されている場合には,

removing these packages would break dependencies:
somefile is needed by another_pkg

もしくは、

これらのパッケージを必要としているパッケージがあります:
somefile が another_pkg に必要です

などというエラーメッセージが出て削除できません。 無視して削除したいときには, オプション--nodepを用います。

# rpm -e --nodeps package

しかし、この場合は パッケージanother_pkgが動かなくなる可能性があります ので注意が必要です。

8.3.4. rpmパッケージに関する情報を得る (rpm -q)

例 8.5. インストールされているrpmパッケージの情報を得る

パッケージをインストールしたけれでも、バージョンを忘れてしまったので知り たいと言うときには、オプション-q (query)を用います。例えば、 パッケージ ktermについて知りたい場合を示します。

$ rpm -q kterm         (ktermのバージョンを知りたいとき)
kterm-6.2.0-14vl4

また、オプション -i (information;情報)を併用して、

$ rpm -qi kterm
Name        : kterm                        Relocations: (not relocateable)
Version     : 6.2.0                             Vendor: Project Vine
Release     : 14vl4                         Build Date: 2000年 7月21日(金) 午前01時21分58秒 JST
Install date: 2000年10月 8日(日) 午前02時35分09秒 JST      Build Host: venus.athome
Group       : User Interface/Desktops       Source RPM: kterm-6.2.0-14vl4.src.rpm
Size        : 386868                           License: X, distributable
Packager    : Jun Nishii <jun@vinelinux.org>
Summary     : 日本語の表示が可能な X 上のターミナルソフトです.
Description :
日本語の表示が可能な X 上のターミナルソフトです. X の標準ターミナルソ
フト xterm に日本語を取り扱う機能が付加されています. xterm の上位互換
となっており, オプションの設定や操作方法は xterm とほとんど同じです.

このパッケージには xterm セキュリティーパッチと16 色パッチが当たってい
ます.

ドキュメントは man kterm および man xterm を参考にして下さい.

このように、パッケージに関するいろいろな情報を得ることができます。さらに オプション-l (list;一覧)を用いると、パッケージに含まれるファイ ル一覧が表示されます。

$ rpm -ql kterm
/etc/X11/wmconfig/kterm
/usr/X11R6/bin/kterm
/usr/X11R6/lib/X11/app-defaults/KTerm
/usr/X11R6/lib/X11/ja/app-defaults/KTerm
/usr/X11R6/man/ja/man1/kterm.1x
/usr/X11R6/man/man1/kterm.1x.gz
/usr/share/doc/kterm-6.2.0
/usr/share/doc/kterm-6.2.0/DEMO.kt.uu
/usr/share/doc/kterm-6.2.0/DEMO.xbm
/usr/share/doc/kterm-6.2.0/README.kt
/usr/share/doc/kterm-6.2.0/README.rightscrlbar
/usr/share/doc/kterm-6.2.0/kterm.termcap
/usr/share/doc/kterm-6.2.0/kterm.terminfo

これらのオプションを全て付けることもできます。表示が多い場合はページャ lessを用いると便利です。

# rpm -qil package | less

また、grepコマンドを用いれば、探したいパターンpatternを検索することがで きます。

$ rpm -qil package | grep pattern

例 8.6. 持ってきたrpmパッケージに関する情報を得る

インストールされているパッケージでなく、持ってきたパッケージ package-1.0-2vl3.i386.rpmの情報やファイル一覧を知りたいときには、オプショ ン -p (package)を併用します。この場合は〜i386.rpmまでを含むファ イル名全体を指定します。

$ rpm -qilp package-1.0-2vl3.i386.rpm

さらにオプション-v(verbose)も使って

$ rpm -qilvp package-1.0-2vl3.i386.rpm

とすると、各ファイルの属性なども表示されます。

例 8.7. インストールされているファイルの属するパッケージ名を知る

インストールされてるファイル/usr/X11R6/bin/ktermが、どのRPMパッケージに含ま れているものなのかを知りたいときには、オプション-f (file;ファイ ル)を用いるとパッケージ名が表示されます。

$ rpm -qf /usr/X11R6/bin/kterm
kterm-6.2.0-14vl4