Paquetes virtuales como aptitude entiende y gestión de paquetes

10

He visto en Debian que bastantes paquetes son paquetes virtuales. ¿Por qué existen tales paquetes virtuales?

por ejemplo: -

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

Ver las sugerencias: -

Suggests: xdialog

Ahora intentemos verlo un poco más cerca.

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

¿Por qué está ahí? Se podría, era un paquete real en sayezy o jessie y luego se eliminó. ¿Podría ser esta la única razón o hay posibilidades de más razones?

Lo anterior que acabo de tomar como ejemplo.

shirish
fuente
Parece que hay paquetes inexistentes / faltantes. En aptitude, paquetes virtuales es el término utilizado para describir paquetes que consisten solo en dependencias, pero que hacen que el software real se instale en función de paquetes no virtuales dependientes. No estoy seguro de si el término se usa de manera diferente en Debian, por lo que no lo cambiaré sin su autorización. ¿Podría confirmar o cambiar el título y la descripción, ya que es confuso?
Volker Siegel
Ahí, ¿ahora es mejor?
Shirish
Ohh ... ahora estoy más confundido: ¿qué quieres decir exactamente con "paquete virtual"? ¿Qué tiene de virtual? (aptitud utiliza la palabra con un significado muy específico (y oscuro) - la confusión es que quieres decir algo más, con la misma palabra)
Volker Siegel
Ahora entiendo: el título es una pregunta muy interesante sobre paquetes virtuales (para personas que saben lo que eso significa). Pero el cuerpo de la pregunta describe un ejemplo que no tiene nada que ver con los paquetes virtuales, pero que no es fácil de ver. En realidad, la respuesta de @ThomasWeinbrenner es genial. Él explica las dos partes. Primero: cuál es el problema xdialog, y segundo, qué son los paquetes virtuales.
Volker Siegel
Limpié el título un poco más, espero que sea mejor ahora.
Shirish

Respuestas:

12

En el caso de xdialogque alguna vez hubo un paquete de este tipo, pero se eliminó. A juzgar por su página de inicio, hubo algunos problemas entre el autor y la gente de Debian.

Luego hay otros llamados paquetes virtuales, que no existen, pero que son proporcionados por otros paquetes. Este mecanismo se utiliza cuando diferentes paquetes proporcionan la misma función.

Por ejemplo, el paquete mail-transport-agent es un paquete virtual que es proporcionado por exim, postfix, qmail, etc. Así que si tiene un paquete que necesita un MTA lo hace depender de este paquete virtual y no tiene que hacerlo. depende de exim O postfix O qmail ...
Y no tiene que cambiar su paquete si aparece otra alternativa.

Thomas Weinbrenner
fuente