熟练了解虚拟软件包和软件包管理


10

我在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.

看到建议:-

Suggests: xdialog

现在,让我们尝试更近一点-

$ aptitude show xdialog
No current or candidate version found for xdialog
Package: xdialog
State: not a real package

为什么在那儿?可能的话,这是一个真正的包装,比如说wheezy或jessie,然后将其删除。这可能是唯一原因,还是有更多原因的可能性?

以上我只是作为一个例子。


似乎不存在/缺少软件包。在中aptitude,虚拟软件包是一个术语,用于描述仅包含依赖项的软件包,但会导致基于依赖的非虚拟软件包安装实际的软件。不知道该术语在Debian中使用的是否不同-因此,如果没有您的同意,我不会更改它。您是否可以确认或更改标题和说明,否则会造成混淆?
Volker Siegel

那里,现在好了吗?
shirish

哦...现在我更困惑了:“虚拟包装”到底是什么意思?这到底是什么?(能力使用的单词具有非常具体的(且晦涩的)含义-混淆是您使用相同的单词表示其他意思)
Volker Siegel 2015年

现在我明白了:标题是关于虚拟软件包的一个非常有趣的问题(对于知道这意味着什么的人)。但是问题主体描述了一个与虚拟软件包完全无关的示例,但这并不容易看出。实际上,@ ThomasWeinbrenner的答案很好。他解释了这两个部分。首先:是什么问题xdialog,其次,什么是虚拟包。
Volker Siegel

整理标题多一点,希望现在更好。
shirish

Answers:


12

如果xdialog曾经有这样的程序包,但是它被删除了。从其主页来看,作者与Debian人士之间存在一些麻烦。

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

例如,软件包mail-transport-agent是一个虚拟软件包,由exim,postfix,qmail等提供。因此,如果您有一个需要MTA的软件包,则可以使它依赖于该虚拟软件包,而不必制作它取决于exim或postfix或qmail ...
并且如果出现其他替代方法,则不必更改软件包。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.