Packages virtuels comme aptitude le comprend et gestion des packages

10

J'ai vu dans Debian que bon nombre de paquets sont des paquets virtuels. Pourquoi de tels packages virtuels existent-ils?

par exemple: -

$ 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.

Voir les suggestions: -

Suggests: xdialog

Essayons maintenant de le voir un peu plus près -

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

Pourquoi est-il là? On pouvait le faire, c'était un vrai paquet disons wheezy ou jessie et puis il a été retiré. Serait-ce la seule raison ou existe-t-il d'autres possibilités?

Ce qui précède, je viens de prendre comme exemple.

shirish
la source
Cela semble concerner les paquets inexistants / manquants. Dans aptitude, packages virtuels est le terme utilisé pour décrire les packages qui ne sont constitués que de dépendances, mais qui provoquent l'installation de logiciels réels en fonction de packages non virtuels dépendants. Je ne sais pas si le terme est utilisé différemment dans Debian - donc je ne le changerai pas sans votre accord. Pourriez-vous confirmer ou modifier le titre et la description, car cela prête à confusion?
Volker Siegel
Là, est-ce mieux maintenant?
shirish
Ohh ... maintenant je suis plus confus: que voulez-vous dire exactement par "paquet virtuel"? Qu'est-ce qui est virtuel? (aptitude utilise le mot avec une signification très spécifique (et obscure) - la confusion est que vous voulez dire autre chose, avec le même mot)
Volker Siegel
Maintenant je comprends: le titre est une question très intéressante sur les packages virtuels (pour les personnes qui savent ce que cela signifie). Mais le corps de la question décrit un exemple qui n'a rien à voir avec les packages virtuels, mais qui n'est pas facile à voir. En fait, la réponse de @ThomasWeinbrenner est excellente. Il explique les deux parties. Premièrement: quel est le problème avec xdialog, et deuxièmement, quels sont les packages virtuels.
Volker Siegel
nettoyé un peu plus le titre, j'espère que c'est mieux maintenant.
shirish

Réponses:

12

Dans le cas où xdialogil y avait une fois un tel paquet, mais il a été supprimé. À en juger par sa page d'accueil, il y a eu des problèmes entre l'auteur et le peuple Debian.

Ensuite, il existe d'autres soi-disant packages virtuels, qui n'existent pas, mais qui sont fournis par d'autres packages. Ces mécanismes sont utilisés lorsque différents packages fournissent la même fonction.

Par exemple, le paquet mail-transport-agent est un paquet virtuel qui est fourni par exim, postfix, qmail etc. Donc, si vous avez un paquet qui a besoin d'un MTA, vous le faites dépendre de ce paquet virtuel et vous n'avez pas à le faire dépendre d'exim OU postfix OU qmail ...
Et vous n'avez pas à changer votre package si une autre alternative apparaît.

Thomas Weinbrenner
la source