早崎トップ 研究(気候気象) 研究(大気汚染) データリスト Linux Tips Mac Tips

RPM_how2use

rpm コマンド使用方法 (binary install/uninstall/query)

  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解説本)ので,後で確認しておけ.