2013-09-29 30 views
6

當您在Ubuntu上使用.deb軟件包安裝編程時,可以使用Ubuntu Packages Search檢查軟件包的依賴關係。例如,我可以看到來自here的Wireshark的依賴關係。正如你所看到的,由紅色子彈標記的依賴關係。如果您知道所有程序包取決於他們,則可以下載並安裝dpkg檢查RPM相關性

是否有任何其他RPM包的網站?特別針對RHEL?

我知道我可以通過其他方法獲得這些軟件包的名稱,例如使用rpm -i安裝RPM軟件包時,但它不是用戶友好的,需要訪問運行Linux。

+0

https://admin.fedoraproject.org/pkgdb/和https://apps.fedoraproject.org/packages/ - 這也是offtopic(應該在Unix和Linux中) –

+0

@marcoms:您的鏈接不提供依賴。 – SuB

+1

Off topic - 屬於Linux和Unix SE –

回答

11

事實上,這不是一個,而是四個不同的問題:)。

*)首先,你可以快速使用下面的命令列出下載的軟件包的依賴/需求:

$ rpm -qp mypackage.rpm --provides 
$ rpm -qp mypackage.rpm --requires 

*)其次,你可以使用yum工具,以滿足這些(略帶神祕的)自動依賴關係(假設所有倉庫的設置是否正確,並且所有的依賴條件):

$ sudo yum install mypackage.rpm 

*)第三,有幾個RPM的搜索資源,他們中的一些已經在上面建議。我想列出另一個,僅供參考 - pkgs.org。第四,還有一個用於RHEL5和RHEL6發行版的額外流行存儲庫 - EPEL。請注意,它不受Red Hat的支持。

希望我的回答能幫到你。

3

爲了僅僅列表上的命令行的封裝的所有依賴關係,這裏是建立在answer由Peter一個例子:

$ PKG="http://yum.postgresql.org/9.3/redhat/rhel-6.2-x86_64/pgdg-sl93-9.3-1.noarch.rpm" 

使用(推薦):

$ yum -q deplist $PKG 
package: pgdg-sl93.noarch 9.3-1 
    dependency: sl-release 
    Unsatisfied dependency 
    dependency: /bin/sh 
    provider: bash.x86_64 4.1.2-8.el6 
    dependency: config(pgdg-sl93) = 9.3-1 
    provider: pgdg-sl93.noarch 9.3-1 
上面的

-q當然是可選的,相當於--quiet

使用

$ rpm -qpR $PKG 
/bin/sh 
config(pgdg-sl93) = 9.3-1 
rpmlib(CompressedFileNames) <= 3.0.4-1 
rpmlib(FileDigests) <= 4.6.0-1 
rpmlib(PayloadFilesHavePrefix) <= 4.0-1 
sl-release 

-qpR以上相當於--query --package --requires