Debian
‘apt-cache rdepends –installed’ 表示一個包被載入了兩次!
Debian 伸展;適合 1.4.11
$ apt-cache rdepends --installed libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-bad1.0-0 Reverse Depends: libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-37
知道為什麼
libwebkit2gtk-4.0-37
包裹在這裡出現兩次嗎?我從Aptitude得到了類似的結果:--\ Packages which depend on libgstreamer-plugins-bad1.0-0 (12) --\ Depends (12) p gir1.2-gst-plugins-bad-1.0 1.10.4-1 p gir1.2-gst-plugins-bad-1.0 1.10.4-1 p gir1.2-gst-plugins-bad-1.0 1.10.4-1+deb9u p gir1.2-gst-plugins-bad-1.0 1.10.4-1+deb9u p gstreamer1.0-plugins-bad 1.10.4-1+deb9u2 p gstreamer1.0-vaapi 1.10.4-1+b1 p gstreamer1.0-vaapi 1.10.4-1+b1 p libgstreamer-plugins-bad1.0-dev 1.10.4-1+ i A libwebkit2gtk-4.0-37 2.18.6-1~deb9u1 i A libwebkit2gtk-4.0-37 2.18.6-1~deb9u1 p libwebkit2gtk-4.0-37-gtk2 2.18.6-1~deb9u1 p libwebkit2gtk-4.0-37-gtk2 2.18.6-1~deb9u1
僅供參考,等效的Aptitude命令行查詢不表現出相同的行為:
$ aptitude search ~Dlibgstreamer-plugins-bad1.0-0 p gir1.2-gst-plugins-bad-1.0 - GObject introspection data for the GStreamer libraries from the "bad" set p gstreamer1.0-plugins-bad - GStreamer plugins from the "bad" set p gstreamer1.0-vaapi - VA-API plugins for GStreamer p libgstreamer-plugins-bad1.0-dev - GStreamer development files for libraries from the "bad" set i A libwebkit2gtk-4.0-37 - Web content engine library for GTK+ p libwebkit2gtk-4.0-37-gtk2 - Web content engine library for GTK+ - GTK+2 plugin process
雖然我發現了幾個對apt bug 的引用(一個在這裡),但我沒有看到任何具體提到我所看到的內容。
關於導致重複包引用出現的任何想法?.
仔細考慮EduardoTrápani的優秀答案後更新(下):
$ apt list -a libgstreamer-plugins-bad1.0-0 Listing... Done libgstreamer-plugins-bad1.0-0/oldoldstable,now 1.10.4-1+deb9u2 amd64 [installed,automatic] libgstreamer-plugins-bad1.0-0/oldoldstable 1.10.4-1 amd64
還:
$ apt rdepends --installed libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-bad1.0-0 Reverse Depends: Depends: libwebkit2gtk-4.0-37 (<< 1.10.5) Depends: libwebkit2gtk-4.0-37 (>= 1.10.4)
由於我安裝的libgstreamer-plugins-bad1.0-0版本是1.10.4-1+deb9u2,因此它滿足所述
apt rdepends --installed libgstreamer-plugins-bad1.0-0
命令輸出中規定的兩個版本條件。也許這就是為什麼Aptitude兩次報告該包裹(上圖)的原因。
預設情況下,此命令
$ apt-cache rdepends --installed libgstreamer-plugins-bad1.0-0
將列出所有類型的依賴項。這意味著同時指定 a
Depends
和的包Breaks
將被列出兩次。您可以通過要求
apt-cache
僅列出--important
依賴項來避免這種情況。手冊頁聲明這相當於:--no-pre-depends
,--no-depends
,--no-recommends
,--no-suggests
,--no-conflicts
,--no-breaks
,--no-replaces
,--no-enhances
。但是,如果包對單個包有多個--important
依賴項,則該包仍將被多次列出。$ apt-cache rdepends --installed --important libgstreamer-plugins-bad1.0-0
不過,我的建議是使用更簡單且更適合人類使用的方法:
apt rdepends --installed libgstreamer-plugins-bad1.0-0
這將準確地告訴您每個軟體包存在的原因,以及版本號和所有內容。