aptitude 理解的虚拟包和包管理

shi*_*ish 10 aptitude debian package-management

我在 Debian 中看到不少软件包是虚拟软件包。为什么会存在这样的虚拟包?

例如:-

$ aptitude show pppoeconf
Package: pppoeconf                       
State: installed
Automatically installed: no
Version: 1.21
Priority: optional
Section: net
Maintainer: Gregory Colpart <reg@debian.org>
Architecture: all
Uncompressed Size: 297 k
Depends: whiptail-provider | whiptail, ppp (>= 2.4.2+20040428-2) | pppoe (>= 3.0), ppp (>= 2.4.1.uus2-4), gettext-base (>= 0.13), sed (>= 3.95),
         ifupdown (>= 0.7.44~), iproute2
Recommends: locales
Suggests: xdialog
Description: configures PPPoE/ADSL connections
 User-friendly tool for initial configuration of a DSL (PPPoE) connection.
Run Code Online (Sandbox Code Playgroud)

查看建议:-

Suggests: xdialog
Run Code Online (Sandbox Code Playgroud)

现在让我们试着靠近一点——

$ aptitude show xdialog
No current or candidate version found for xdialog
Package: xdialog
State: not a real package
Run Code Online (Sandbox Code Playgroud)

为什么会在那里?可以的,它是一个真正的包裹,上面写着 wheezy 或 jessie,然后它被删除了。这可能是唯一的原因还是可能有更多的原因?

以上我只是举个例子。

Tho*_*ner 12

xdialog曾经有这样一个包的情况下,但它被删除了。从它的主页来看,作者和 Debian 人之间存在一些问题。

然后还有其他所谓的虚拟包,它们不存在,但由其他包提供。当不同的包提供相同的功能时使用这些机制。

例如包mail-transport-agent是一个虚拟包,由 exim、postfix、qmail 等提供。所以如果你有一个需要 MTA 的包,你可以让它依赖于这个虚拟包,而不必制作它取决于 exim 或 postfix 或 qmail ......
如果出现另一种选择,您不必更改您的包。