Debian
如何找到可以實現“替代”的所有可用包(和執行檔)?
“替代品”是指(在大多數情況下;見下文例外)與
/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