Rhel

Centos/RHEL:確定安裝給定依賴項的最小軟體包集?

  • November 15, 2019

假設我有一個要安裝的軟體包列表:

# yum install foo bar baz quux

但假設它baz是 的依賴關係foo,並且quux是 的依賴關係baz

所以,真的,我真正需要執行的是:

# yum install foo bar

有沒有辦法給定一個包列表來確定最小集合?

鑑於缺乏相互依賴,這是保證的,以下算法將產生最小集合:

  • 對於列表中的每個包,列出其所有要求 ( rpm -qR foo)
  • 對於要求中的每個包,如果存在,請將其從列表中刪除

Listingfoo的需求 yield baz(大概是其他)和Listingbaz的需求 yield quux,所以兩者都可以被刪除。請注意,您必須在刪除任何內容之前列出所有需求,否則您可能會保留傳遞性需求(quux在這種情況下,如果您在處理baz後立即刪除foo)。

但是,您的包列表應該反映您的依賴項,而不是導致安裝依賴項的最小集合。如果你需要quux,你應該在你的yum install命令中列出它,否則如果baz在某個時候停止依賴它,你的安裝將停止滿足你的要求。

引用自:https://unix.stackexchange.com/questions/552194