如何在Fedora,CentOS,RHEL中檢查RPM包的依賴性

來源:互聯網
上載者:User

如何在Fedora,CentOS,RHEL中檢查RPM包的依賴性

我們都知道,在基於紅帽的Linux系統中,一個RPM包,需要把先將它依賴的其他包安裝好才能正常的工作。對於終端使用者,RPM的安裝、更新、刪除中存在的依賴關係已經被工具透明化了(如 yum或 DNF等)。但如果你是系統管理員或者RPM包的管理員,你需要諳熟RPM包的依賴關係,以便及時更新、刪除適當的包來保證系統的正常運行。

在本教程中,我將教大家如何檢查RPM包的依賴關係。無論這個包是否已經安裝進作業系統中,我們都有一些辦法來檢查它們的依賴性。

製作自己的rpm包

Linux 下rpm安裝後的目錄結構和一些配置

rpm與yum的綜合性介紹與樣本示範

RedHat Linux---rpm 命令詳解

方法一

使用RPM命令可以列出目標包所依賴的所有包,如下: $ rpm -qR

注意,這種方法只適用於已安裝的包。如果你需要檢查一個未安裝包的依賴關係,你首先需要把這個包先下載到本地來(不需要安裝)。

要下載一個 RPM 包而不安裝,可以使用叫做'yumdownloader'的工具,下面我們先安裝yumdownloader:

  1. $ sudo yum install yum-utils

現在我們來檢查一個未安裝的RPM包的依賴關係(本例使用 tcpdump)。首先,我們使用yumdownloader把tcpdump的RPM包下載下來

  1. $ yumdownloader --destdir=. tcpdump

然後再使用 "-qpR"參數顯示該包的依賴關係。

  1. # rpm -qpR tcpdump-4.4.0-2.fc19.i686.rpm
方法二

你可以使用repoquery工具來羅列包的依賴關係,它與包是否安裝無關,這個工具包含在yum-utils中。

  1. $ sudo yum install yum-utils

顯示目標包所依賴的包:

  1. $ repoquery --requires --resolve <package-name>

為讓repoquery正常的工作,需要保持網路的暢通,應為repoquery需要在Yum庫中尋找資訊。

方法三

第三個方法是使用rpmreaper工具。這個工具本來是用作清理系統中無用以及它們所依賴的包,rpmreaper有很直觀的ncurses介面來展示已安裝的包和它們依賴關係的樹形圖。

安裝rpmrepater,在CentOS中,你需要先設定好EPEL庫

  1. $ sudo yum install rpmreaper

只需運行rpmreaper就可以看到RPM包的依賴關係:

  1. $ rpmreaper

rpmrepater會向使用者顯示已安裝包的列表,你可以使用上/下箭頭來滾動螢幕。

你可以在指定包上使用"r"鍵來顯示其依賴關係,迴圈在指定包上按下"r"鍵可以展示出餘下的資訊。

"L"標誌的意思是說這個包是一片“孤葉”,意思說說沒有任何包依賴它。

"o"標誌是說這個包是整個依賴鏈的中間部分。

按下"b"鍵會顯示其他依賴於該包的其他包。

更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.