Rhel
Centos/RHEL:確定安裝給定依賴項的最小軟體包集?
假設我有一個要安裝的軟體包列表:
# yum install foo bar baz quux
但假設它
baz
是 的依賴關係foo
,並且quux
是 的依賴關係baz
。所以,真的,我真正需要執行的是:
# yum install foo bar
有沒有辦法給定一個包列表來確定最小集合?
鑑於缺乏相互依賴,這是保證的,以下算法將產生最小集合:
- 對於列表中的每個包,列出其所有要求 (
rpm -qR foo
)- 對於要求中的每個包,如果存在,請將其從列表中刪除
Listing
foo
的需求 yieldbaz
(大概是其他)和Listingbaz
的需求 yieldquux
,所以兩者都可以被刪除。請注意,您必須在刪除任何內容之前列出所有需求,否則您可能會保留傳遞性需求(quux
在這種情況下,如果您在處理baz
後立即刪除foo
)。但是,您的包列表應該反映您的依賴項,而不是導致安裝依賴項的最小集合。如果你需要
quux
,你應該在你的yum install
命令中列出它,否則如果baz
在某個時候停止依賴它,你的安裝將停止滿足你的要求。