rpm コマンド使用方法 (binary install/uninstall/query)
- 早崎 web トップに戻る
- Linux Tipsに戻る
rpm パッケージのインストール
$ rpm -ivh パッケージ名
導入済み rpm パッケージの更新
$ rpm -Uvh パッケージ名
依存関係を無視したいなら,--nodeps を使う. それでもインストールされないもの(kernel 関係など)を どうしてもインストールしたい場合,--force を付けてみる. ただし,それが正常動作するか否かは保証できない.
導入済み rpm パッケージの削除
$ rpm -e パッケージ名
導入済み rpm パッケージの一覧表示 (-qa)
query mode (-q) を使う. -a は "all" の意.
$ rpm -qa
応用例: パッケージ名に Xorg という文字列が含まれるパッケージを探す
$ rpm -qa | grep Xorg
なお,grep のデフォルトではアルファベットの大文字小文字を区別して検索する.したがって,上記の例では,xorg のように小文字のみの文字列が含まれるパッケージは発見できない.大文字小文字を区別しないで grep 検索するには, -i を使う.
$ rpm -qa | grep -i Xorg
導入済みrpmパッケージに含まれるファイルやコマンドの一覧を表示する (-ql)
-l は "list" の意.
$ rpm -ql パッケージ名
応用例: 「kdebase パッケージの /usr/bin/ 以下にあるコマンドだけを選択表示」
$ rpm -ql kdebase | grep "/usr/bin/"
未導入のrpmパッケージに含まれるファイルやコマンドの一覧を表示する (-qlp)
-p が「未導入のパッケージも対象にする」を意味する. "package"
$ rpm -qlp パッケージ名.rpm
ファイルやコマンドがどのrpmパッケージに含まれるか確認する (-qf)
$ rpm -qf コマンド名orファイル名
※コマンド名,ファイル名は full-path
パッケージの情報を調べる (-qi)
$ rpm -qi パッケージ名
実行例: wget の場合
[hayasaki@viper ~]: rpm -qi wget Name : wget Relocations: (not relocatable) Version : 1.11.4 Vendor: CentOS Release : 2.el5_4.1 Build Date: Wed 04 Nov 2009 06:14:19 AM JST Install Date: Mon 15 Mar 2010 10:08:43 AM JST Build Host: builder10.centos.org
rpmパッケージのインストール日時表示
$ rpm -qa --last
最近インストールした RPM パッケージ(10件)を表示
$ rpm -qa --last | head
出力形式を自分の好みに整形したい場合
- 例1: YYYY-MM-DD hh:mm:ss: filename という形式.時刻の古い順に.
$ rpm -qa --queryformat '%{INSTALLTIME} %{NAME}\n' | awk '{printf("%-12s: %-60s\n", strftime("%F %T", $1), $2);}' | sort
新しいものから古い方に,という逆順にしたけりゃ, 最後の sort で -r オプションを入れる.
rpm コマンド使用方法(SRPM; source package 関連)
SRPM から RPM を作成 (--rebuilddb)
単純なリビルド???
$ rpm --rebuilddb hoge.src.rpm
これは違うか.後で調べておけ.
参考: patch の作り方
$ diff -uNr app_org/ app/ > hoge.patch
app_org/ がオリジナルディレクトリ.app/ が更新後のソースが置いてあるディレクトリ. この差分をパッチとして保存する.
参考にした文献が古かった(2000年頃のLinux解説本)ので,後で確認しておけ.