メニューを飛ばして本文へ


Vine Linux

検索

Google

6.3. RPM - RPM Package Manager

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

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

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

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

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

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

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 に必要です
			

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

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

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

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

例 6.5. 競合(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によって上書きされてしまうので、取扱には注意が必要です。

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

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

古いバージョンのパッケージがインストールされている場合にのみパッケージを更新します。 新しいバージョンのパッケージがインストールされ、古いバージョンのパッケージは削除されます。

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

ここで、オプション-vhの役割はインストールの時と同じです。

6.3.3. rpmパッケージのインストールとアップグレード (rpm -U)

インストール -i に アップグレード -F も追加したものです。 古いバージョンのパッケージが、インストールされていなければ -i としてインストールし、 インストールされていれば -F として更新します。 新しいバージョンのパッケージがインストールされ、古いバージョンのパッケージは削除されます。

-U(Update;更新)を用います。

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

オプション-vhの役割はインストールの時と同じです。

また、古いバージョンpackage-1-1vl1.i386.rpmに戻したいときには、オプション --oldpackageを用います。

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

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

インストールしたパッケージを削除(アンインストール)したくなったら、オプション -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が動かなくなる可能性がありますので注意が必要です。

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

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

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

$ rpm -q sox         (soxのバージョンを知りたいとき)
sox-12.18.1-0vl2

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

$ rpm -qi sox
Name        : sox                          Relocations: (not relocatable)
Version     : 12.18.1                           Vendor: (none)
Release     : 0vl2                          Build Date: 2006年09月04日 14時02分44秒
Install Date: 2006年10月18日 00時56分44秒      Build Host: windy.local.dicey.org
Group       : Applications/Multimedia       Source RPM: sox-12.18.1-0vl2.src.rpm
Size        : 675803                           License: LGPL
Signature   : DSA/SHA1, 2006年09月04日 14時02分44秒, Key ID 90bf4c0974322cb0
Packager    : Daisuke SUZUKI <daisuke@linux.or.jp>
URL         : http://sox.sourceforge.net/
Summary     : 汎用サウンドファイル変換ツール
Description :
SoX (Sound eXchange) は Linux, UNIX, DOS PC 用サウンドファイルフォーマット
変換ツールです.SoX は「サウンドツール界のスイスアーミーナイフ」で,
様々なデジタルサウンドフォーマットを相互に変換したり,
簡単なサウンドエフェクト等の処理も行うことが出来ます.

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

$ rpm -ql sox
/usr/bin/libst-config
/usr/bin/play
/usr/bin/rec
/usr/bin/sox
/usr/bin/soxmix
/usr/bin/soxplay
/usr/share/doc/sox-12.18.1
/usr/share/doc/sox-12.18.1/Changelog
/usr/share/doc/sox-12.18.1/INSTALL
/usr/share/doc/sox-12.18.1/README
/usr/share/doc/sox-12.18.1/TODO
/usr/share/man/man1/rec.1.gz
/usr/share/man/man1/sox.1.gz
/usr/share/man/man1/soxexam.1.gz
/usr/share/man/man1/soxmix.1.gz

これらのオプションを全て付けることもできます。表示が多い場合はページャ lessを用いると便利です。(参考:付録 E. ページャ less の操作方法)

# rpm -qil package | less

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

$ rpm -qil package | grep pattern

例 6.7. 持ってきた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

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

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

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

$ rpm -qf /usr/bin/play
sox-12.18.1-0vl2