如何找到可以实现“替代方案”的所有可用包(和可执行文件)?

如何找到可以实现“替代方案”的所有可用包(和可执行文件)?

我所说的“替代品”是指(在大多数情况下;参见下面的例外)与/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,我想知道可以扮演的所有可用的1foo软件包,或者更准确地说,提供可执行文件那个可以玩foo

当然,我想知道这两个包相关可执行文件的路径,因为后者并不总是从前者中显而易见;例如,对于角色x-window-manager,这样的一个包是fluxbox,而“相关可执行文件”是/usr/bin/startfluxbox,而不是/usr/bin/fluxbox


(至少对于 下的角色/var/lib/dpkg/alternatives,提供此类角色的包必须以替代管理器可以正确识别它们的方式打包;无论如何,这是我的理解。如果是这样,我希望有某种自动方法来识别所有提供特定角色的软件包。)


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

答案1

虚拟包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

相关内容