Pakiety wirtualne, jak rozumie aptitude i zarządzanie pakietami

10

Widziałem w Debianie, że sporo pakietów to pakiety wirtualne. Dlaczego istnieją takie wirtualne pakiety?

na przykład:

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

Zobacz sugestie:

Suggests: xdialog

Teraz spróbujmy zobaczyć to trochę bliżej -

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

Dlaczego tam jest Można by to było, to była prawdziwa paczka np. Wheezy lub jessie, a potem została usunięta. Czy to może być jedyny powód, czy też istnieją możliwości innych powodów?

Powyższe właśnie podałem jako przykład.

shirish
źródło
Wygląda na to, że brakuje już istniejących / brakujących pakietów. W aptitude, pakiety wirtualne to termin używany do opisania pakietów, które składają się tylko z zależności, ale powodują zainstalowanie rzeczywistego oprogramowania w oparciu o zależne pakiety inne niż wirtualne. Nie jestem pewien, czy ten termin jest używany inaczej w Debianie - więc nie zmienię go bez twojej zgody. Czy możesz potwierdzić lub zmienić tytuł i opis, ponieważ jest to mylące?
Volker Siegel
Czy jest teraz lepiej?
shirish
Ohh ... teraz jestem bardziej zdezorientowany: co dokładnie rozumiesz przez „pakiet wirtualny”? Co jest w tym wirtualnego? (aptitude używa słowa z bardzo specyficznym (i niejasne), co oznacza - zamieszanie jest to, że masz na myśli coś innego, z tego samego słowa)
Volker Siegel
Teraz rozumiem: tytuł to bardzo interesujące pytanie dotyczące wirtualnych pakietów (dla osób, które wiedzą, co to oznacza). Ale treść pytania opisuje przykład, który w ogóle nie ma nic wspólnego z pakietami wirtualnymi, ale nie jest to łatwe do zauważenia. W rzeczywistości odpowiedź @ThomasWeinbrenner jest świetna. Wyjaśnia obie części. Po pierwsze: o co chodzi xdialog, a po drugie, jakie są pakiety wirtualne.
Volker Siegel
oczyściłem tytuł trochę więcej, mam nadzieję, że teraz jest lepiej.
shirish

Odpowiedzi:

12

W przypadku xdialogbyło kiedyś takie opakowanie, ale zostało usunięte. Sądząc po stronie głównej , były pewne problemy między autorem a ludźmi Debiana.

Są też inne tak zwane pakiety wirtualne, które nie istnieją, ale są dostarczane przez inne pakiety. Mechanizm ten jest używany, gdy różne pakiety zapewniają tę samą funkcję.

Na przykład pakiet mail-transport-agent jest pakietem wirtualnym dostarczanym przez exim, postfix, qmail itp. Więc jeśli masz pakiet, który wymaga MTA, uzależnij go od tego wirtualnego pakietu i nie musisz go tworzyć zależy od exim LUB postfix LUB qmail ...
I nie musisz zmieniać pakietu, jeśli pojawi się inna alternatywa.

Thomas Weinbrenner
źródło