インストールオプション
RPM パッケージのインストールには以下のオプションを使います.
(package-1.1.0-i386.rpm をインストールする場合)
| # rpm -i package-1.1.0-i386.rpm |
複数のパッケージをインストールする場合は以下のように出来ます.
| # rpm -i package-1.1.0-i386.rpm package-devel-1.1.0-i386.rpm |
以下のオプションを付けるとより詳細な情報が表示されます. 例えば -v で詳細な情報を出力し, -h はインストールの進行状況を表示します.
| # rpm -ivh package-1.1.0-i386.rpm |
進行状況をパーセント表示したいなら
| # rpm -i --percent package-1.1.0-i386.rpm |
既にインストールされているパッケージのアップグレードには以下のオプションを使います.
| # rpm -U package-1.1.0-i386.rpm |
ここでも上述の -v や -h を使えます.
既にインストール済みのパッケージよりも古いパッケージをインストールするには
| # rpm -i --oldpackage package-1.1.0-i386.rpm |
を使います. インストール済みの他のパッケージに含まれるファイルを置き換えてしまう場合にもインストールを実行するには,
| # rpm -i --replacefiles package-1.1.0-i386.rpm |
を使います.
インストール済みのパッケージを再インストールする場合には,
| # rpm -i --replacepkgs package-1.1.0-i386.rpm |
を使います.
--oldpackage --replacefiles --replacepkgs |
これらを集約したオプションが --force です.
| # rpm -i --force package-1.1.0-i386.rpm |
これで強制的にパッケージをインストールすることになります.
もしインストール時にパッケージの依存関係でエラーが出てインストール出来ない場合に依存関係を無視してインストールするには,
| # rpm -i --nodeps package-1.1.0-i386.rpm |
または
| # rpm -i --force --nodeps package-1.1.0-i386.rpm |
とします. ただし, 依存関係を無視してインストールしてもまともに動かないことがほとんどですのでおすすめは出来ません. しかし中には敢えてこのオプションを使った方がいい場合もありますが.
実際にインストールを行わずテストだけにしたい場合は以下のオプションを使います.
| # rpm -i --test package-1.1.0-i386.rpm |
RPM コマンドの使い方を表示したいときには
* 何らかの理由などで RPM のデータベースが壊れて正常にパッケージ管理やインストールができなくなったときには以下のオプションを使ってデータベースの再構築を行います.
クエリーオプション
パッケージの問い合わせをしたいときには以下にご紹介するオプションを使います.
インストールされているパッケージを確認するには,
インストール済みの全パッケージを確認するには,
$ rpm -qa setup-2.1.8-1 filesystem-1.3.5-1 basesystem-6.0-4 ldconfig-1.9.5-16 glibc-2.1.3-15 .............. |
あるファイルがどのパッケージに含まれていたものかを確認するには,
$ rpm -qf /usr/X11R6/lib/libX11.so.6 XFree86-libs-3.3.6-20j1 |
これにより libX11.so.6 が XFree86-libs-3.3.6-20j1 に含まれていたことがわかります.
あるコマンドの機能を提供しているのがどのパッケージかを調べるには --whatprovides を使います.
$ rpm -q --whatprovides /usr/bin/strip binutils-2.9.5.0.22-6
|
あるパッケージが依存している(必要とする)ファイルを確認するには -R を使います.
$ rpm -qR xfce libungif.so.4 libz.so.1 /bin/bash /bin/sh libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) .............
|
まだインストールされていないパッケージに対して問い合わせすることも出来ます.
$ rpm -qpR gnomail-0.0.3-1.i386.rpm ld-linux.so.2 libICE.so.6 libSM.so.6 libX11.so.6 libXext.so.6 libXpm.so.4 libart_lgpl.so.2 ................... |
この例では -p が, まだインストールされていないパッケージに対しての問い合わせオプションで, R を付けることにより未インストールのパッケージが依存しているファイルを出力しています.
パッケージに含まれているファイルを表示するには,
$ rpm -ql xfce /etc/X11/xfce/README.xfdefs.py /etc/X11/xfce/Xclients /etc/X11/xfce/fvwm2rc /etc/X11/xfce/fvwmrc /etc/X11/xfce/xfbdrc /etc/X11/xfce/xfce3rc .............. |
パッケージに含まれるファイルが正常かどうか確認するには,
$ rpm -qs rpm-3.0.4-0.48 正常 bin/rpm 正常 etc/rpm 正常 usr/bin/gendiff 正常 ........... |
インストール時に実行されるスクリプトが含まれているか確認するには --scripts を使えば存在する場合にスクリプトを出力します.
$ rpm -q --scripts rpm-3.0.4-0.48 postinstall script (through /bin/sh): /bin/rpm --initdb if [ ! -e /etc/rpm/macros -a -e /etc/rpmrc -a -f /usr/lib/rpm/convertrpmrc.sh ] then sh /usr/lib/rpm/convertrpmrc.sh > /dev/null 2>&1 fi
|
パッケージの詳しい情報を確認したい時は,
$ rpm -qi rpm-3.0.4-0.48 Name : rpm Relocations: (not relocateable) Version : 3.0.4 Vendor: Red Hat, Inc. Release : 0.48 Build Date: Thu 02 Mar 2000 05:25:11 AM JST Install date: Fri 16 Jun 2000 08:00:58 PM JST .............................. |
依存関係のエラー
RPM パッケージをインストールしようとした時にそのパッケージと依存関係のあるパッケージがインストールされていなければエラーとなってインストール出来ません. しかし, 依存関係のあるパッケージ同士をそれぞれインストールしようとした時に片方が無いためにエラーが出てインストールできない場合はどうすればいいのでしょうか?例えば下記のような例です.
abc1-1.2.i386.rpm zxv-2.0.i386.rpm
|
これらはそれぞれ依存関係にあるパッケージだとした場合, 片側をインストールしようとすると,
|
# rpm -ivh abc1-1.2.i386.rpm エラー: 依存性の欠如: zxv >= 2.0 は abc1-1.2 に必要とされています
# rpm -ivh zxv-2.0.i386.rpm エラー: 依存性の欠如: abc1 >= 1.2 は zxv-2.0 に必要とされています
|
もしもこのような状況になってしまえばどちらもインストールできません. このようになってしまった場合は以下のようにすれば解決できるでしょう.
| # rpm -ivh abc1-1.2.i386.rpm zxv-2.0.i386.rpm |
发表于 @ 2004年08月08日 16:53:00|评论(loading...)|编辑