RPMによるパッケージ管理
たなかとしひさ (tosihisa@netfort.gr.jp, LILO/lilo-doc
SubProject )
2001/09/29
このテキストは、RedHat Linux 系で、パッケージ(アプリケーションプログラ
ム) のインストールに使われる rpm コマンドの簡単な使い方について説明す
るものです。このテキストは、LILO(りろ:Linux Install Learning Osaka)
主催の、Linux インストールセミナー向けに作成
したものです。
1. はじめに
RedHat 系 Linux では、RPM(Redhat Package Manager) により、パッケージ (
アプリケーションプログラム)管理を行います。 rpm コマンドを使うことで、
バイナリプログラムのインストールや、アンインストール、 RPM パッケージ
の詳細の確認、RPMパッケージの作成などできます。
ここでは、RPM によるパッケージ管理のために知っておいた方が良いと思われ
ることを説明します。
2. パッケージ管理について
Unix系のシステムでは、ソフトウェアをソースで配布し、各自が自分のシステ
ム上でコンパイルを行うという運用が行われています。このような方法と比べ
て、パッケージによって管理を行う利点がいくつかあります。 (もちろん、
ソースからコンパイル、インストールを行うことを否定しているわけではあり
ません。:-)
o ソフトウェアのもつ依存関係に関する情報の把握
o ソフトウェアのインストールの記録
o 不要になったソフトウェアのアンインストール
2.1. ソフトウェアのもつ依存関係に関する情報の把握
ソフトウェアの中には、別のソフトウェアがインストールされていることを前
堤としているものもあります。このような場合は、そのソフトウェアのドキュ
メントに記載されているはずですが、パッケージ管理を行うことで、その情報
を同一の手段で取得することが可能になります。
2.2. ソフトウェアのインストールの記録
パッケージ管理を行うことにより、システム内のファイルがどのソフトウェア
のために存在するのかを把握することが容易になります。また、パッケージの
情報として、ソフトウェアのバージョンや、システムにインストールされた日
付などを記録しておくことにより、システムにインストールされたソフトウェ
アの情報を得ることが容易になります。
2.3. 不要になったソフトウェアのアンインストール
ソースからコンパイルしてインストールしたソフトウェアは、システムからの
アンインストールが困難な場合もあります。そこで、パッケージとして管理す
ることにより、ソフトウェアのアンインストールが容易になります。
3. インストールされているパッケージの確認
パッケージ管理されているパッケージの情報を確認することができます。パッ
ケージ情報の問い合わせには、`-q'(--query)オプションを用います。
3.1. インストールされているパッケージの一覧
インストールされているパッケージの一覧を取得するには、 `-a'(--all)オプ
ションを用います。
$ rpm -qa
`--last'オプションを追加することにより最近インストールされたパッケージ
から順に表示することができます。
$ rpm -qa --last
3.2. システム内のファイルの所属するパッケージの情報
`-f'(--file)オプションを用いると、システム内のファイルなどがどのパッ
ケージによって提供されているのかを調べることができます。
$ rpm -qf ファイル名(ディレクトリ名)
4. パッケージの情報の表示
rpmコマンドでは、インストール済のパッケージの情報やインストールされて
いないパッケージファイルの情報を表示することができます。
4.1. パッケージの情報の表示
`-i'(--info)オプションを用いるとパッケージの情報を表示することができま
す。また、`-p'(--package)オプションを用いると、パッケージファイルにつ
いての情報が表示できます。
$ rpm -qi パッケージ名
$ rpm -qip パッケージファイル名
4.2. パッケージ内のファイルなどの一覧
`-l'(--list)オプションを用いるとパッケージに所属するファイルなどの一覧
を表示することができます。
$ rpm -ql パッケージ名
$ rpm -qlp パッケージファイル名
4.3. パッケージ自体の更新履歴
`--changelog'オプションを用いるとパッケージ自体の更新履歴を表示できま
す。
$ rpm -q --changelog パッケージ名
$ rpm -qp --changelog パッケージファイル名
5. インストール
5.1. インストール前の確認
RPM によるパッケージ管理を採用しているディストリビューションは沢山あり
ます。しかし、rpmのバージョンやそのRPMパッケージがコンパイルされた環境
などの様々な要因が原因で不具合を生じることもあります。ですから、「この
パッケージは自分が使っているシステムにインストールしても大丈夫。」とい
う判断ができない場合は、自分がつかっているディストリビューションが提供
しているパッケージのみを使っていた方が無難だと思われます。
また、RPM パッケージをダウンロードしたら、一度、そのパッケージにどの様
なファイルが所属しているのかなどを確認するのが良いでしょう。
5.2. インストール
RPM パッケージをインストールしたい場合は、 `-i'(--install)オプションで
インストールします。しかし、`-i'(--install)オプションだけですと、経過
を何も表示せずにインストールされます。そこで、`-ivh' とオプションを付
けると、インストール時に `#' でインストール状態を表示することができま
す。
# rpm -ivh パッケージファイル名
パッケージ名 ##############################
#
6. アップグレード
過去に、古いバージョンの RPM パッケージをインストールしていたとしま
す。このパッケージの新しいバージョンが出たので、アップグレードしたい場
合には、 `-F'(--freshen)オプションを指定して、アップグレードします。こ
れも、インストールのときと同様に `-Fvh' とする事で、アップグレード時に
`#' でアップグレード状況を表示します。
# rpm -Fvh パッケージファイル名
パッケージ名 ###############################
#
また、`-F'オプションの変わりに `-U'(--upgrade)オプションを用いることも
できます。この場合は、まだシステムにインストールされていない場合にも、
そのパッケージをインストールすることが可能です。
# rpm -Uvh パッケージファイル名
7. ダウングレード
アップグレードしたパッケージに不具合があった場合、もう一度、同じパッ
ケージをインストールしたいことや、バージョンが古いパッケージをインス
トールしたいことがあります。このような場合には、`-U'オプションとともに
`--replacepkga'オプションや `--oldpackage'オプションを用います。
7.1. 同じパッケージを再インストール
# rpm -Uvh --replacepkgs パッケージファイル名
7.2. 古いバージョンのパッケージをインストール
# rpm -Uvh --oldpackage パッケージファイル名
8. アンインストール
インストールしたパッケージを、アンインストールする場合には、
`-e'(--erase) オプションを用います。アンインストール時に注意すること
は、指定するのはファイル名ではなく、既にインストール済みである「パッ
ケージ名」でなければならないということです。「パッケージ名」とは、前述
した `-qa' オプションで表示される名前のことです。
# rpm -e パッケージ名
9. この文章について
この文章は、たなかとしひさ (LILO/LILO-doc SubProject)さんが作成し
たrpm.htmlを、早川仁さんがSGML文書化したものです。さらに、大浦真
(LILO/LILO-doc SubProject)がJF-MLでの意見を参考にして校正しました。
また、この文章のライセンスはGPL2に準じるものとします。 GPL2に基づいて
変更・再配布できます。
LILO-docはLILO(りろ:Linux Install Learning Osaka)
のSubProjectで、 LILOのセミナー等で使われた
各文書群を統一し、一元管理することを目的に活動しています。
(このセクションの文責:大浦)
LILO(りろ:Linux Install Learning Osaka)
9.1. ChangeLog
Sat Sep 29 2001 IWAI, Masaharu
2001年9月度 LILO Monthly Seminar
の為に更新
Sat Dec 25 1999 たなかとしひさ
初版