Pacotes virtuais como o aptitude entende e gerenciamento de pacotes

10

Eu vi no Debian que muitos pacotes são pacotes virtuais. Por que existem esses pacotes virtuais?

por exemplo: -

$ aptitude show pppoeconf
Package: pppoeconf                       
State: installed
Automatically installed: no
Version: 1.21
Priority: optional
Section: net
Maintainer: Gregory Colpart <[email protected]>
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.

Veja as sugestões: -

Suggests: xdialog

Agora vamos tentar vê-lo um pouco mais perto -

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

Por que está aí? Pode-se, era um pacote real, digamos, chiado ou jessie e depois foi removido. Poderia ser esse o único motivo ou existem possibilidades de mais motivos?

O acima exposto acabei de tomar como exemplo.

shirish
fonte
Parece ter ocorrido sobre pacotes inexistentes / ausentes. Em aptitude, pacotes virtuais é o termo usado para descrever pacotes que consistem apenas em dependências, mas fazem com que o software real seja instalado com base em pacotes não virtuais dependentes. Não tenho certeza se o termo é usado de maneira diferente no Debian - então não o mudarei sem o seu ok. Você pode confirmar ou alterar o título e a descrição, pois é confuso?
Volker Siegel
Lá, agora é melhor?
Shirish
Ohh ... agora estou mais confuso: o que exatamente você quer dizer com "pacote virtual"? O que é virtual sobre isso? (aptitude utiliza a palavra com muito específico (e obscuros), que significa - a confusão é que você quer dizer outra coisa, com a mesma palavra)
Volker Siegel
Agora eu entendo: o título é uma pergunta muito interessante sobre pacotes virtuais (para pessoas que sabem o que isso significa). Mas o corpo da pergunta descreve um exemplo que não tem nada a ver com pacotes virtuais, mas que não é fácil de ver. Na verdade, a resposta de @ThomasWeinbrenner é ótima. Ele explica as duas partes. Primeiro: qual é o problema e xdialog, segundo, o que são pacotes virtuais.
Volker Siegel
limpou o título um pouco mais, espero que esteja melhor agora.
shirish 17/10/2015

Respostas:

12

No caso de xdialogjá houve um pacote desse tipo, mas ele foi removido. A julgar pela página inicial, houve alguns problemas entre o autor e o povo Debian.

Depois, existem outros chamados pacotes virtuais, que não existem, mas que são fornecidos por outros pacotes. Esse mecanismo é usado quando pacotes diferentes fornecem a mesma função.

Por exemplo, o pacote mail-transport-agent é um pacote virtual fornecido pelo exim, postfix, qmail etc. Portanto, se você possui um pacote que precisa de um MTA, depende dele e não precisa depende do exim OU do postfix OU do qmail ...
E você não precisa alterar o seu pacote se outra alternativa aparecer.

Thomas Weinbrenner
fonte