ここでは 2番目の rpm コマンドを用いた rpm パッケージの操作方法を解説し ます。man rpm や jman rpm、または rpm --help でも、rpm コマンドのいろい ろなオプションを知ることができます。
hoge-1-2.i386.rpm
というrpmパッケージを入手したします。このファイルをインストールする
ときには、-i (Install) オプションを使って、
rpm -i hoge-1-2.i386.rpm
とします。また、-v (verbose), -h (hash)を併用して、
rpm -ivh hoge-1-2.i386.rpm
などとすると、インストール中にハッシュマーク(#)が出て、インストールの進
む様子がわかります。(ためしてみましょう)
libHore.so.1 is needed by hoge-1-2
hare is needed by hoge-1-2
もしくは、
libHore.so.1 が hoge-1-2 に必要です
hare が hoge-1-2 に必要です
などというエラーが出ることがあります。
これは、rpmパッケージ hoge-1-2 の
中に、hare という rpmパッケージや、libHore.so.1 とするファイルがあるが、
libHore.so.1がシステムにはインストールされていないことによるエラーです。
このときには、パッケージ hare と libHore.so.1を含むパッケージを探してき
てインストールしてください。もし、このような依存性を無視してインストール
したいときには、--nodeps オプションを用いて
rpm -i --nodeps hoge-1-2.i386.rpm
とします。ただし、この場合にはインストールしたパッケージが正常に動作しな
い可能性があります
rpm -U hoge-1-2.i386.rpm
rpm -Uvh hoge-1-2.i386.rpm
とします。(上の2つの違いはインストール時と同じです)
また、古いバージョンに戻したいときには、--oldpackage オプションを用いて、
rpm -U --oldpackage hoge-1-2.i386.rpm
とします。
/usr/bin/poo conflicts with file from fuga-2-3
もしくは、
/usr/bin/poo は fuga-2-3 のファイルと競合します
というエラーが出た場合には、hoge のファイル/usr/bin/poo が,
すでにインストールされているパッケージ fuga-2-3 の /usr/bin/poo
と重複するために、インストールできないことを示します。もし、無理矢理イン
ストールしたいときには、--force オプションを用いて、
rpm -i --force hoge-1-2.i386.rpm
とします。しかし、この場合には、もとからあった fuga のファイル
/usr/bin/poo は、hoge によって上書きされてしまうので、取扱には要注意です。
rpm -e hoge
ここで、バージョン番号やリリース番号はいりませんが、明示して
rpm -e hoge-1-2
とすることもできます。ただし, hoge が他のパッケージを用いるのに必要な場
合には,
removing these packages would break dependencies:
hoge is needed by fugafuga
もしくは、
これらのパッケージを必要としているパッケージがあります:
hoge が fugafuga に必要です
などというエラーメッセージが出て, 削除できません.
無視して削除したいときには, --nodep オプションを用いて,
rpm -e --nodeps hoge-1-2
とします.
rpm -q hoge
とすれば、表示されます。さらに、-i (information)と併用して、
rpm -qi hoge
で、パッケージに関するいろいろな情報が、-l (list)を用いて、
rpm -ql hoge
パッケージhogeに含まれるファイル一覧が表示されます。
rpm -qip hoge-1-2.i386.rpm
rpm -qlp hoge-1-2.i386.rpm
とすれば表示されます。さらに、-v (verbose) オプションも使って
rpm -qlvp hoge-1-2.i386.rpm
とすると、各ファイルの属性等も表示されます.
rpm -qf /usr/bin/fuga
とします。