Debian

如何找到可以實現“替代”的所有可用包(和執行檔)?

  • February 9, 2016

“替代品”是指(在大多數情況下;見下文例外)與/var/lib/dpkg/alternatives.

這些角色包括

awk
desktop-background
editor
global-assembly-cache-tool
haskell-compiler
infobrowser
java
w
www-browser
x-window-manager
zsh

在許多其他人中。

我想到的一個例外是角色display-manager(又名login-manager),AFAICT 沒有在 下表示/var/lib/dpkg/alternatives,但我對此非常感興趣。

給定其中一個角色,讓我們稱之為foo,我想知道所有可用的1可以播放的包foo,或者更準確地說,提供可以播放的執行檔foo

當然,我想知道相關執行檔的包路徑,因為後者並不總是從前者顯而易見;例如對於角色x-window-manager,一個這樣的包是fluxbox,而“相關的執行檔”是/usr/bin/startfluxbox,而不是/usr/bin/fluxbox


(至少對於 下的角色/var/lib/dpkg/alternatives,提供此類角色的軟體包必須以替代經理可以正確辨識它們的方式打包;無論如何,這是我的理解。如果是這樣,我希望有一些自動方法來辨識所有提供特定角色的包。)


1可用,即通過我的/etc/apt/sources*配置中指定的來源。

虛擬包Debian 替代系統(這是二進製文件發揮作用的地方)是相關的,但並不相同。對於包,您可以使用apt-cache來查找哪些(真正的)包“提供”它:

$ apt-cache showpkg awk
Package: awk
Versions: 

Reverse Depends: 
 base-files,awk
 base-files,awk
Dependencies: 
Provides: 
Reverse Provides: 
mawk:i386 1.3.3-17ubuntu2
gawk:i386 1:4.0.1+dfsg-2.1ubuntu2
original-awk 2012-12-20-1
mawk 1.3.3-17ubuntu2
gawk 1:4.0.1+dfsg-2.1ubuntu2

對於顯示管理器,虛擬包是x-display-manager

$ apt-cache showpkg x-display-manager
Package: x-display-manager
Versions: 

Reverse Depends: 
 utf8-migration-tool,x-display-manager
 razorqt,x-display-manager
 lxde,x-display-manager
 numlockx,x-display-manager
 ltsp-client-core,x-display-manager
Dependencies: 
Provides: 
Reverse Provides: 
gdm 3.10.0.1-0ubuntu3.1
lightdm 1.10.6-0ubuntu1
kdm 4:4.11.11-0ubuntu0.2
xdm 1:1.1.11-1ubuntu1
wdm 1.28-16
slim 1.3.4-2.1
lxdm 0.4.1-0ubuntu6
kdm 4:4.11.8-0ubuntu6
gdm 3.10.0.1-0ubuntu3
lightdm 1.10.0-0ubuntu3

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