このエントリーをはてなブックマークに追加

yumコマンドであれば自動で依存関係を解決してくれるので多くの場合、問題になりませんが、 手動でrpmパッケージをインストールするときに、必要になる依存パッケージを事前に知りたい場合があります。 必要になる依存パッケージを調べるにはrpmコマンドをpqRオプションで実行します。

rpm -pqR <rpmパッケージファイル名>

以下では、例としてemacsパッケージの依存関係を出力しています。 まず試すrpmファイルをダウンロードしておきます。

$ wget http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.5/os/x86_64/Packages/emacs-nox-23.1-25.el6.x86_64.rpm
--2014-05-02 12:38:21--  http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.5/os/x86_64/Packages/emacs-nox-23.1-25.el6.x86_64.rpm
ftp.jaist.ac.jp をDNSに問いあわせています... 150.65.7.130, 2001:df0:2ed:feed::feed
ftp.jaist.ac.jp|150.65.7.130|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 1973612 (1.9M) [application/octet-stream]
`emacs-nox-23.1-25.el6.x86_64.rpm' に保存中

100%[===========================================================================>] 1,973,612    207K/s 時間 20s

2014-05-02 12:38:44 (95.4 KB/s) - `emacs-nox-23.1-25.el6.x86_64.rpm' へ保存完了 [1973612/1973612]

このファイルに対して、pqRオプションでrpmコマンドを実行します。

$ rpm -pqR emacs-nox-23.1-25.el6.x86_64.rpm 
/bin/sh  
/bin/sh  
emacs-common = 1:23.1-25.el6
libasound.so.2()(64bit)  
libasound.so.2(ALSA_0.9)(64bit)  
libasound.so.2(ALSA_0.9.0rc4)(64bit)  
libc.so.6()(64bit)  
libc.so.6(GLIBC_2.11)(64bit)  
libc.so.6(GLIBC_2.2.5)(64bit)  
libc.so.6(GLIBC_2.3)(64bit)  
libc.so.6(GLIBC_2.3.4)(64bit)  
libc.so.6(GLIBC_2.4)(64bit)  
libdbus-1.so.3()(64bit)  
libm.so.6()(64bit)  
libm.so.6(GLIBC_2.2.5)(64bit)  
libncurses.so.5()(64bit)  
libpthread.so.0()(64bit)  
libpthread.so.0(GLIBC_2.2.5)(64bit)  
librt.so.1()(64bit)  
libtinfo.so.5()(64bit)  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)  
rpmlib(PayloadIsXz) <= 5.2-1



記事一覧へ