Apt, Abhängigkeiten und Metapakete

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
superkret
Beiträge: 17
Registriert: 27.08.2016 10:52:01

Apt, Abhängigkeiten und Metapakete

Beitrag von superkret » 30.08.2016 18:20:08

Ich habe mal eine Frage zum Verhalten von Apt im Bezug auf Metapakete.
Wenn ich ein Metapaket installiere (z.b. Gnome), zieht es eine ganze Menge Abhängigkeiten mit sich und installiert diese.
Wenn ich nun das Metapaket wieder entferne, bleiben die Abhängigkeiten auf dem System, da sie vom Metapaket als manuell installiert markiert wurden.

Ein ähnlicher Fall ergibt sich bei Paketen die eine Abhängigkeit in der Form (A|B) haben. Sagen wir, Paket Foo hängt von A oder B (A|B) ab. Paket Bar hängt von B ab. Ist Foo und A installiert, und ich installiere Bar nach, ziet es als Abhängigkeit B mit sich. Wenn ich nun Bar wieder entferne, bleibt B auf dem System, weil es als Abhängigkeit von Foo deklariert wurde.

Beide Vorgänge machen es häufig schwierig, installierte Pakete und ihre Abhängigkeiten wieder restlos zu entfernen.

Warum verhält sich Apt so? Ist das eine fehlende Funktionalität (anscheinend haben Arch's Pacman und Fedora's yum diese Probleme nicht) oder steckt da ein Gedanke dahinter, der sich mir nicht erschließt?

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von smutbert » 30.08.2016 18:39:40

superkret hat geschrieben:[…]
Wenn ich ein Metapaket installiere (z.b. Gnome), zieht es eine ganze Menge Abhängigkeiten mit sich und installiert diese.
Wenn ich nun das Metapaket wieder entferne, bleiben die Abhängigkeiten auf dem System, da sie vom Metapaket als manuell installiert markiert wurden.[…]
Nein, als Abhängigkeit installierte Pakete werden als "automatisch installiert" markiert und können daher größtenteils per autoremove wieder entfernt werden.
Eine von den Ausnahmen hast du selbst genannt:
superkret hat geschrieben:[…]
Ein ähnlicher Fall ergibt sich bei Paketen die eine Abhängigkeit in der Form (A|B) haben. Sagen wir, Paket Foo hängt von A oder B (A|B) ab. Paket Bar hängt von B ab. Ist Foo und A installiert, und ich installiere Bar nach, ziet es als Abhängigkeit B mit sich. Wenn ich nun Bar wieder entferne, bleibt B auf dem System, weil es als Abhängigkeit von Foo deklariert wurde.
[…]
Dagegen gibt's imho kein Mittel. Ähnliches passiert auch mit empfohlenen Paketen, die autoremove nicht erfasst.

Teilweise kann man unnotwendige Pakete mit Debiandeborphan und dessen GUI Debiangtkorphan finden. Vor allem für den Fall verbliebener empfohlener Pakete habe ich mir einmal ein kleines Skript ausgedacht, das allerdings allzu fehlbar ist...
superkret hat geschrieben:[…]
Warum verhält sich Apt so? Ist das eine fehlende Funktionalität (anscheinend haben Arch's Pacman und Fedora's yum diese Probleme nicht) oder steckt da ein Gedanke dahinter, der sich mir nicht erschließt?
Soviel ich weiß sind yum und pacman viel jünger als apt und werden mit einigen Situationen, die bei apt öfter vorkommen, nie konfrontiert.
Damit meine ich zB, dass die Pakete in arch nicht so fein aufgedröselt sind wie in debian. In arch führt die Installation vieler Audio- und Multimediapakete/-anwendungen zur Installation von jackd, bei Debian wird nur die Client-Bibliothek installiert, die es noch dazu in zwei Ausführungen gibt (Debianlibjack-jackd2-0 und Debianlibjack0).

Ich finde es schon richtig wie sich apt verhält und man kann dank der Logs und Ausgaben auch nachvollziehen welche Pakete wann und wieso installiert wurden und daher, wenn man Wert darauf legt, sie auch wieder entfernen, wenn sie überflüssig werden.
Außerdem stören viele Pakete nicht weiter, da sie einfach nur etwas Platz auf dem Dateisystem wegnehmen, wenn sie nicht verwendet werden.

guennid

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von guennid » 30.08.2016 18:50:57

Na ja, smutbert im Prinzip bin ich deiner Meinung, aber irgendwie sollten diese Metapakete dem User auch als solche besser deutlich gemacht werden. Mitunter steht man da bei autoremove auf dem Schlauch und rätselt über den Vorschlag.

deborphan (ein Segen!) befasst sich, soweit ich weiß, nur mit libs.

Grüße, Günther

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von smutbert » 30.08.2016 20:02:00

deborphan „behandelt“ auf Wunsch (Option -a soweit ich mich erinnere) alle Pakete.

geier22

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von geier22 » 30.08.2016 20:37:59

Leider scheint das - zumindest bei Stretch - nicht zu klappen.
hab das gerade durchexerziert (siehe Punkt 2)
viewtopic.php?f=2&t=162034#p1102788
nach

Code: Alles auswählen

 apt remove task-lxde-desktop
ertfernte

Code: Alles auswählen

apt autoremove
kein einziges weiteres Paket

noch ne Anmerkung, die mir erst jetzt auffällt

bei der NoPaste NoPaste-Eintrag39472 hab ich eine Zeile vergessen reinzukopieren, die sich aber aus dem weiteren ergibt (nach Zeile 10) :

Code: Alles auswählen

apt purge lxde lxde-common openbox obconf

Benutzeravatar
tegula
Beiträge: 439
Registriert: 04.06.2004 13:51:04
Lizenz eigener Beiträge: MIT Lizenz

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von tegula » 30.08.2016 21:37:53

Du könntest ausprobieren, ob du vielleicht mit dem von dem von Smutbert vorgeschlagenen [1] [2] Debiandeborphan mehr Erfolg hast. Siehe auch [3] [4].

[1] viewtopic.php?f=27&t=162083#p1103187
[2] viewtopic.php?f=27&t=162083#p1103198
[3] http://debiananwenderhandbuch.de/deborphan.html
[4] http://debiananwenderhandbuch.de/debfoster.html

Radfahrer

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von Radfahrer » 30.08.2016 22:43:06

Es gibt auch noch Debiandebfoster.

superkret
Beiträge: 17
Registriert: 27.08.2016 10:52:01

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von superkret » 30.08.2016 23:36:12

smutbert hat geschrieben:
superkret hat geschrieben:[…]
Wenn ich ein Metapaket installiere (z.b. Gnome), zieht es eine ganze Menge Abhängigkeiten mit sich und installiert diese.
Wenn ich nun das Metapaket wieder entferne, bleiben die Abhängigkeiten auf dem System, da sie vom Metapaket als manuell installiert markiert wurden.[…]
Nein, als Abhängigkeit installierte Pakete werden als "automatisch installiert" markiert und können daher größtenteils per autoremove wieder entfernt werden.
Im Prinzip ja, so weit ich weiß aber bei Metapaketen eben nicht. Weil es keine "richtigen" Pakete sind, sondern nur eine Art Platzhalter für alles das enthalten ist. Wenn man Apt sagt, "installiere Gnome" ist das dasselbe wie wenn man sagt, "installiere alle Pakete die in Gnome enthalten sind". Also wird der Inhalt auf manuell installiert gesetzt.
Es gibt auch noch debfoster.
Das kannte ich noch nicht. Klingt nach etwas das ich brauchen kann.



Edit: Schreibfehler. Ich meinte, Task-Pakete setzen alles was sie enthalten auf manuell installiert, andere Metapakete nicht.
Zuletzt geändert von superkret am 01.09.2016 01:43:25, insgesamt 1-mal geändert.

Radfahrer

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von Radfahrer » 31.08.2016 11:05:02

superkret hat geschrieben:Also wird der Inhalt auf manuell installiert gesetzt.
Nein, wird er nicht.
Metapakete enthalten Abhängigkeiten. Wenn du das Metapaket gnome-desktop installierst, zieht es halt alle Pakete, die dazugehören als Abhängigkeiten hinterher. Und Abhängigkeiten werden automatisch installiert. Das ist ja der Vorteil von apt, dass man eben nicht alle Abhängigkeiten manuell installieren muss.

https://wiki.ubuntuusers.de/Metapakete/

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von smutbert » 31.08.2016 11:06:10

Also ich bin mir so sicher, wie man sich nur sicher sein kann, dass durch Abhängigkeiten mitinstallierte Pakete als automatisch installiert markiert werden, unabhängig davon, ob es sich nun um normale Pakete oder Metapakete handelt. Der einzige Unterschied zwischen normalen Paketen und Metapaketen ist ohnehin der, dass Metapakete selbst fast keine Dateien im System installieren - im Grunde sind es ganz normale Pakete.

Allerdings kann das schon auch schief gehen, so hatte ich beispielsweise mit Debiansynaptic ein paar unangenehme Erfahrungen, weil das viele Pakete als manuell installiert markiert hat und wenn ich mich recht erinnere hatte ich ähnliche Erfahrungen mit packagekit (zB Debiangnome-packagekit oder Debianapper).
Ich weiß aber auch (noch? :wink: ) nicht was bei dir bei dem Beispiel mit lxde schief gegangen ist.

Radfahrer

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von Radfahrer » 31.08.2016 11:21:47

Klar werden die automatisch installiert.
Denk an das Problem, wenn man z.B. den gnome-desktop installiert und apt ihn dann per autoremove nahezu komplett wieder entfernen will, wenn man ein einzelnes Paket daraus deinstalliert. Das ist eine bekannte Situation.
Das passiert genau deshalb, weil die Pakete aus dem Metapaket als "automatisch installiert" markiert werden. Setzt man sie von Hand auf "manuell" will apt sie auch nicht mehr entfernen.

Häufiges Thema hier im Forum. :mrgreen:

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von smutbert » 31.08.2016 16:24:41

Sag ich ja ☺

Ich hab jetzt kurz geier22 mit dem TE verwechselt, aber ich versteh nun auch nicht ganz was in geiers lxde-Beispiel nicht funktioniert haben soll. Wenn es um die übriggebliebenen Konfigurationsdateien geht - die wird man auf Anhieb mit

Code: Alles auswählen

# apt-get --purge autoremove
los.

geier22

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von geier22 » 31.08.2016 20:09:42

smutbert hat geschrieben:aber ich versteh nun auch nicht ganz was in geiers lxde-Beispiel nicht funktioniert haben soll.
Es ging ganz einfach darum, daß eine Oberfläche, die während der Installation mit task-xxx installiert wurde sich
eben nicht dadurch entfernen läßt, das man den task deinstalliert . Lediglich der Task - im Beispiel task-lxde-desktop - wird entfernt in kein einzige noch so kleines Paket dazu. apt autoremove entfernt auch nichts weiter.
smutbert hat geschrieben:Nein, als Abhängigkeit installierte Pakete werden als "automatisch installiert" markiert und können daher größtenteils per autoremove wieder entfernt werden.
Wenn man einen Task installiert, werden die meisten Pakete eben doch auf "manuell" gesetzt offensichtlich sowohl während der Installation als auch während des "Betriebs"
NoPaste-Eintrag39478
Das Beispiel ist aus dem oben genannte Thread
:
LXDE mit Netinst installiert
task-xfce-desktop nachinstalliert
Lxde entfernt, wie im Thread beschrieben
Zuletzt geändert von geier22 am 31.08.2016 20:21:18, insgesamt 1-mal geändert.

superkret
Beiträge: 17
Registriert: 27.08.2016 10:52:01

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von superkret » 31.08.2016 20:15:58

Metapakete an sich setzen tatsächlich nicht alle installierten Pakete auf Manuell. Das hab ich jetzt auch nochmal nachgeprüft.
Tasks aber anscheinend schon.

geier22

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von geier22 » 31.08.2016 20:25:35

superkret hat geschrieben:Metapakete an sich setzen tatsächlich nicht alle installierten Pakete auf Manuell.
Verschrieben ?
Aus meiner Sicht müßte es heißen:

Metapakete an sich setzen tatsächlich nicht alle installierten (oder zumindest die meisten) Pakete auf Manuell

.......zumindest, wenn man von einem Task spricht, der ja zweifellos ein Metapaket ist

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von smutbert » 31.08.2016 22:36:03

Tatsächlich 8O
Habe gerade task-lxde-desktop installiert, die hereingezogenen Pakete waren hinterher manuell installiert. Mir ist das bis jetzt wohl noch nicht aufgefallen, weil ich die task-… Pakete nie verwendet habe, aber mir ist bisher weder klar woher dieser Unterschied zu den Abhängigkeiten anderer Pakete kommt, noch wieso dieses Verhalten (von den Debian-Entwicklern) gewünscht sein könnte.

DeletedUserReAsG

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von DeletedUserReAsG » 31.08.2016 22:38:33

[…] noch wieso dieses Verhalten (von den Debian-Entwicklern) gewünscht sein könnte.
Mein unqualifizierter Tipp: weil’s so nicht zu den ganzen „Hilfe, apt* will mein halbes System deinstallieren!!k“-Threads/Mails kommt, die das „gewohnte“ Verhalten provoziert …

[scnr]

geier22

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von geier22 » 01.09.2016 05:54:09

An sich finde ich das gar nicht so schlecht. Man könnte es als eine art "Selbstschutz" betrachten. Da man um eine Oberfläche zu deinstallieren eben ganz bewußt die "Core"-Pakete entfernen muß.
Hab mich allerdings gewundert das selbst apt als manuell markiert ist, da ich das natürlich noch nie explizit installiert habe
erklärt sich - dieser Logik folgend aber aus den Anderen Abhängigkeiten
der Logik folgend würde das Entfernen von tasksel nämlich sonst apt entfernen --> System geschrottet

Code: Alles auswählen

# apt remove tasksel
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  bluetooth bluez-cups gir1.2-polkit-1.0 libwildmidi1 powertop python-gobject
Verwenden Sie »apt autoremove«, um sie zu entfernen.
Die folgenden Pakete werden ENTFERNT:
  task-desktop task-english task-laptop tasksel tasksel-data
0 aktualisiert, 0 neu installiert, 5 zu entfernen und 0 nicht aktualisiert.
Nach dieser Operation werden 620 kB Plattenplatz freigegeben.
Möchten Sie fortfahren? [J/n] n
Abbruch.
Debiantask-desktop installiere ich z.B. bei jeder Installation mit

Code: Alles auswählen

~$ apt-cache depends task-xfce-desktop
task-xfce-desktop
  Hängt ab von: tasksel
  Hängt ab von: task-desktop
  Hängt ab von: xfce4
  Hängt ab von: lightdm
  Hängt ab von: light-locker
  Empfiehlt: xfce4-goodies
  Empfiehlt: xfce4-power-manager
  Empfiehlt: <xfce4-mixer>
  Empfiehlt: xfce4-terminal
  Empfiehlt: mousepad
  Empfiehlt: orage
  Empfiehlt: libreoffice-gtk
    libreoffice-gtk2
  Empfiehlt: dbus-x11
    dbus-x11:i386
  Empfiehlt: xsane
  Empfiehlt: vlc
  Empfiehlt: quodlibet
 |Empfiehlt: evince-gtk
  Empfiehlt: evince
  Empfiehlt: tango-icon-theme
  Empfiehlt: network-manager-gnome
  Empfiehlt: synaptic
 |Empfiehlt: firefox-esr
  Empfiehlt: firefox
  Empfiehlt: libreoffice
  Empfiehlt: libreoffice-help-en-us
  Empfiehlt: mythes-en-us
  Empfiehlt: hunspell-en-us
  Empfiehlt: hyphen-en-us
  Empfiehlt: system-config-printer
  Empfiehlt: gnome-orca

~$ apt-cache depends tasksel
tasksel
 |Hängt ab von (vorher): debconf
  Hängt ab von (vorher): cdebconf
 |Hängt ab von: debconf
  Hängt ab von: <debconf-2.0>
    cdebconf
    debconf
  Hängt ab von: liblocale-gettext-perl
  Hängt ab von: apt
  Hängt ab von: tasksel-data
  Hängt ab von: perl-base
  Kollidiert mit: <base-config>
  Kollidiert mit: debconf

:~$ apt-cache depends task-desktop
task-desktop
  Hängt ab von: tasksel
  Hängt ab von: xorg
  Hängt ab von: xserver-xorg-video-all
  Hängt ab von: xserver-xorg-input-all
  Hängt ab von: desktop-base
 |Empfiehlt: task-gnome-desktop
 |Empfiehlt: task-xfce-desktop
 |Empfiehlt: task-kde-desktop
 |Empfiehlt: task-lxde-desktop
 |Empfiehlt: task-cinnamon-desktop
  Empfiehlt: task-mate-desktop
  Empfiehlt: xdg-utils
  Empfiehlt: avahi-daemon
    avahi-daemon:i386
  Empfiehlt: libnss-mdns
  Empfiehlt: anacron
    systemd-cron
  Empfiehlt: eject
    eject:i386
  Empfiehlt: iw
    iw:i386
  Empfiehlt: alsa-utils
    alsa-utils:i386


Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22359
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von KBDCALLS » 01.09.2016 12:43:05

Eine Möglichkeit

Wäre
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

geier22

Re: Apt, Abhängigkeiten und Metapakete

Beitrag von geier22 » 01.09.2016 20:34:15

hmmmmmmm
Da gibt es offensichtlich Begrifflichen Klärungsbedarf
Was versteht Debian unter einem Task und was unter einem Meta-Paket ?
Auf meinem Produktiv System sieht das so aus:

Code: Alles auswählen

wajig> list task
ii  libgcr-3-common     3.20.0-2       all            Library for Crypto UI related tasks - commo
ii  libgcr-base-3-1:amd 3.20.0-2       amd64          Library for Crypto related tasks
ii  libgcr-ui-3-1:amd64 3.20.0-2       amd64          Library for Crypto UI related tasks
ii  libmono-tasklets4.0 4.2.1.102+dfsg all            Mono Tasklets library (for CLI 4.0)
ii  libmono-xbuild-task 4.2.1.102+dfsg all            Mono Mono.XBuild.Tasks library (for CLI 4.0
ii  task-desktop        3.35           all            Debian desktop environment
ii  task-english        3.35           all            General English environment
ii  task-laptop         3.35           all            laptop
ii  tasksel             3.35           all            tool for selecting tasks for installation o
ii  tasksel-data        3.35           all            official tasks used for installation of Deb
ii  xfce4-taskmanager   1.1.0-1        amd64          process manager for the Xfce4 Desktop Envir
un  libmono-tasklets2.0 <keine>        <keine>        (keine Beschreibung vorhanden)
un  libmono-xbuild-task <keine>        <keine>        (keine Beschreibung vorhanden)
un  task-cinnamon-deskt <keine>        <keine>        (keine Beschreibung vorhanden)
un  task-gnome-desktop  <keine>        <keine>        (keine Beschreibung vorhanden)
un  task-kde-desktop    <keine>        <keine>        (keine Beschreibung vorhanden)
un  task-lxde-desktop   <keine>        <keine>        (keine Beschreibung vorhanden)
un  task-mate-desktop   <keine>        <keine>        (keine Beschreibung vorhanden)
un  task-xfce-desktop   <keine>        <keine>        (keine Beschreibung vorhanden)
wajig> list metapackage
ii  exim4               4.87-3         all            metapackage to ease Exim MTA (v4) installat
ii  fonts-dejavu        2.37-1         all            metapackage to pull in fonts-dejavu-core an
ii  init                1.42           amd64          init metapackage
ii  libmono-i18n4.0-all 4.2.1.102+dfsg all            Mono I18N libraries metapackage (for CLI 4.
ii  libreoffice         1:5.2.0-2      amd64          office productivity suite (metapackage)
ii  nvidia-driver       352.79-10      amd64          NVIDIA metapackage
ii  nvidia-driver-libs: 352.79-10      amd64          NVIDIA metapackage (OpenGL/GLX/EGL/GLES lib
ii  nvidia-driver-libs- 352.79-10      i386           NVIDIA metapackage (OpenGL/GLX/EGL/GLES 32-
ii  nvidia-driver-libs: 352.79-10      i386           NVIDIA metapackage (OpenGL/GLX/EGL/GLES lib
ii  printer-driver-all  0.20140714     all            printer drivers metapackage
ii  python-pyside       1.2.2-2        all            Python bindings for Qt4 (big metapackage)
ii  xserver-xorg-input- 1:7.7+16       amd64          X.Org X server -- input driver metapackage
ii  xserver-xorg-video- 1:7.7+16       amd64          X.Org X server -- output driver metapackage
wajig> 
Ist das nun das Gleiche oder sind da Unterschiede in der Art und Weise der Installation.

Code: Alles auswählen

apt-cache search metapackage >meta.txt
gibt einen endlos lange Liste NoPaste-Eintrag39479

Code: Alles auswählen

apt-cache search task |grep task-
ergibt das :NoPaste-Eintrag39480
Bis auf die Tatsachen, daß das hauptsächlich Sprachpakete sind, aber auch einiges andere beinhaltet kann ich den Unterschied,, wie schon gesagt, nicht sehen

Antworten