apt-get autoremove

Warum Debian? Was muss ich vorher wissen? Wo geht's nach der Installation weiter?
Luise
Beiträge: 171
Registriert: 20.11.2009 17:09:52

apt-get autoremove

Beitrag von Luise » 07.01.2011 17:15:46

In meinem Gehirn herrscht kernelpanic - wem kann ich noch trauen? :(

Bei der installation von alsa Paketen kam die Meldung, dass eine Reihe von installierten Paketen nicht mehr benötigt werden und den Vorschlag, apt-get autoremove laufen zu lassen.

Bei "man apt-get steht dazu:
autoremove
autoremove is used to remove packages that were automatically
installed to satisfy dependencies for some package and that are no
more needed
Als ich aber dann "apt-get autoremove" aufgerufen habe, kam die Meldung
Die folgenden Pakete wurden automatisch installiert und werden nicht länger benötigt:
bluez-gnome gcj-4.3-base xmms2-plugin-lastfm evolution-common libgnomekbd2
libepc-ui-1.0-1 libwildmidi0 evolution-webcal python-gst0.10 libmtp7
gcalctool lp-solve gstreamer0.10-x libarchive1 libpth20 gnome-nettool
metacity libepc-1.0-1 gnome-desktop-data libgtk-vnc-1.0-0 nautilus
libdc1394-13 libdc1394-22 libgksu1.2-0 python-notify openoffice.org-impress
aspell gstreamer0.10-plugins-ugly libcaca0 gnome-settings-daemon
obex-data-server openoffice.org-draw libsoundtouch1c2 libgda3-common
python-gnome2-extras gucharmap libgksuui1.0-1 libdiscid0 gnome-games
liburi-perl evolution-exchange evolution dnsutils libspectre1
gnome-network-admin libxmmsclient4 libsvga1 libgfortran3 app-install-data
gnome-power-manager libresid-builder0c2a libexchange-storage1.2-3 unzip
gnome-cards-data gnome-screensaver python-gdata alacarte liblircclient0
libxcb-xv0 gtk2-engines-pixbuf xmms2-plugin-musepack system-config-printer
dvd+rw-tools gnome-control-center libhtml-parser-perl libopenspc0 libpisock9
java-common xmms2-plugin-avcodec xmms2-plugin-pulse gnome-themes
libtrackerclient0 seahorse libggzmod4 libxml-twig-perl xmms2-plugin-karaoke
libfftw3-3 whois totem-common vinagre libedata-cal1.2-6 libgvfscommon0
libxine1-bin libsuitesparse-3.1.0 nautilus-data libgpod3 libsoup2.4-1
libwavpack1 libxml-parser-perl system-tools-backends libgweather1 libcdio7
xmms2-plugin-vocoder libxosd2 gtkhtml3.14 guile-1.8-libs python-gtkmozembed
python-gtkhtml2 libgnomekbd-common p7zip gnome-utils gnome-themes-extras
xmms2-plugin-cdda ttf-liberation libdmx1 libgnome-pilot2 xmms2-plugin-daap
finger gdm-themes libmusicbrainz4c2a libnet-dbus-perl
fast-user-switch-applet arj xmms2-plugin-id3v2 gnome-about
gnome-volume-manager nautilus-cd-burner libexempi3 libcdio-cdda0
gtk2-engines libxine1-ffmpeg xmms2-plugin-ao libkpathsea4
openoffice.org-math libgnomekbdui2 eog gdm libfltk1.1 capplets-data
libgcj-common xmms2-plugin-airplay libmikmod2 gnome-backgrounds
python-eggtrayicon libegroupwise1.2-13 python-sexy gnome-spell libggz2
libxcb-shape0 libgweather-common xmms2-plugin-faad xmms2-plugin-m3u
xmms2-plugin-asf freepats xmms2-plugin-asx libgdata1.2-1 vino
gnome-system-monitor xmms2-plugin-cue evince libbluetooth2 gnome-games-data
libgdata-google1.2-1 gnome-app-install xmms2-plugin-gme gnome-user-guide
evolution-plugins libshout3 libdv4 libedataserverui1.2-8 xmms2-plugin-curl
xmms2-plugin-mad libgnome-window-settings1 libdvdread3 libedata-book1.2-2
evolution-data-server cdrdao xmms2-plugin-mp4 libblas3gf xmms2-plugin-flac
libcdaudio1 xmms2-plugin-ofa xmms2-plugin-mms xmms2-core liblapack3gf
libcdio-paranoia0 xmms2-plugin-normalize libsidplay1 libsidplay2
xmms2-plugin-pls libxvmc1 fastjar zip xmms2-plugin-oss
gnome-netstatus-applet dmz-cursor-theme python-4suite-xml xmms2-plugin-sid
xmms2-plugin-speex libtag1c2a libxklavier12 xmms2-plugin-smb liboobs-1-4
libmad0 xmms2-plugin-rss libgda3-3 xmms2-plugin-ices xmms2-plugin-modplug
xmms2-client-cli svgalibg1 libpt-1.10.10-plugins-v4l libgpgme11 libid3tag0
libggzcore9 libgmyth0 libmodplug0c2 gconf-editor xmms2-plugin-vorbis
gnome-system-tools xmms2-plugin-wma libhtml-tree-perl gvfs xmms2-plugin-xml
gnome-panel libwww-perl gvfs-backends gnuchess gstreamer0.10-gnomevfs
openoffice.org-calc deskbar-applet evolution-data-server-common libxcb-shm0
xmms2-plugin-xspf gnome-applets-data xmms2-plugin-gvfs libhtml-tagset-perl
desktop-file-utils transmission-common gnome-session libmpcdec3
gstreamer0.10-tools libxmmsclient-glib1 libcucul0 libgdl-1-0
libgtkhtml3.14-19 libofa0 libmpeg2-4 file-roller libopenobex1 libmms0
libspeexdsp1 libneon27-gnutls transmission-gtk gnome-panel-data libpisync1
libxine1-console libgdl-1-common xmms2-plugin-icymetaint gnome-vfs-obexftp
liba52-0.7.4
Die folgenden Pakete werden ENTFERNT: [wie oben]
Das bedeutet anscheinend, dass alle vorinstallierten Pakete entfernt werden, ohne Rücksicht darauf, ob sie benutzt worden sind oder werden.

Das ist aber etwas ganz anderes als die manpage aussagt!

Ist das jetzt ein bug von apt-get (bei mir) und es sollte anders sein oder ist das eine Fehlinformation in der man-page?

Benutzeravatar
Emess
Beiträge: 3144
Registriert: 07.11.2006 15:02:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Im schönen Odenwald
Kontaktdaten:

Re: apt-get autoremove

Beitrag von Emess » 07.01.2011 18:01:43

Das Problem hatte ich früher auch von Zeit zur Zeit. Kommt evtl. davon, dass man verschieden Paketverwaltungen benutzt zb. apt und aptitude mixed. Da kann es zu Problemen mit den Abhängigkeiten kommen.
Seit ich ausschließlich aptitude verwende ist das nicht wieder auf getreten.
Debian Testing (bleibt es auch)
Debian Buster KDE Plasma 5x Kernel 4.19.0.6-amd64
Notebook HP ZBook 17 G2

http://www.emess62.de

Luise
Beiträge: 171
Registriert: 20.11.2009 17:09:52

Re: apt-get autoremove

Beitrag von Luise » 07.01.2011 19:19:10

Emess hat geschrieben:Das Problem hatte ich früher auch von Zeit zur Zeit. Kommt evtl. davon, dass man verschieden Paketverwaltungen benutzt zb. apt und aptitude mixed. Da kann es zu Problemen mit den Abhängigkeiten kommen.
Seit ich ausschließlich aptitude verwende ist das nicht wieder auf getreten.
hmm - ich benutze apt- get und synaptic zusammen.

afaik sollte das doch ok sein - oder?

Fjunchclick

Re: apt-get autoremove

Beitrag von Fjunchclick » 07.01.2011 19:30:03

Das hat damit auch nichts zu tun, apt und aptitude kann man schon seit Lenny problemlos abwechselnd benutzen.

Ich hatte das auch mal, weiß aber leider nicht, woran es lag. Ich habe einfach über synaptic alle diese Pakete als manuell installiert markiert. Dann passiert das nicht mehr.

Luise
Beiträge: 171
Registriert: 20.11.2009 17:09:52

Re: apt-get autoremove

Beitrag von Luise » 07.01.2011 19:47:01

Wäre ein work-around, ABER

Wenn alle Pakete als manuell installiert markiert sind, kann apt-get doch keinen autoremove mehr machen :?

Fjunchclick

Re: apt-get autoremove

Beitrag von Fjunchclick » 07.01.2011 20:10:05

Das ist richtig. Deswegen habe ich das direkt nach der Installation gemacht. Dann ist das neue System erst einmal vor diesem Verhalten geschützt. Bei allem, was danach installiert und deinstalliert wird, funktioniert das autoremove dann ja wieder.

Benutzeravatar
Ibex
Beiträge: 292
Registriert: 25.07.2008 20:54:19

Re: apt-get autoremove

Beitrag von Ibex » 07.01.2011 20:41:09

Soweit ich weiß kommt das dann vor, wenn Programe über ein metapaket wie z.B. gnome-core installiert wurden. Wird das Metapaket entfernt, z.B. weil man einziges Paket wie z.B. evolution daraus entfernt, möchte apt-get autoremove alle pakete entfernen, die als Abhängigkeit des Metapaket installiert wurden. An sich logisch, aber nicht immer erwünscht.

Evt. ist also durch die Installation von alsa ein Paket aus einem metapaket entfernt worden, daher der Kahlschlag versuch.

ich stehe apt-get autoremove aus dem Grund auch etwas skeptisch gegenüber

Fjunchclick

Re: apt-get autoremove

Beitrag von Fjunchclick » 07.01.2011 21:00:45

Jetzt wo du das sagst...
Das kann tatsächlich sein. Ich habe früher immer die normale Installation gemacht und dann diverse Dinge (z.B. evolution, ekiga, brasero usw.) deinstalliert. Da trat dann das beschriebene Verhalten auf.
Seit dem ich nur eine minimale Installation mache, hatte ich das tatsächlich nicht mehr.

Ich werde das morgen mal in einer VM testen.

@Luise
Eine Lösung wäre dann, das entsprechende Metapaket zu entfernen, in deinem Fall dürfte das wohl gnome-desktop-environment oder gnome sein. Musst du mal gucken, beim Entfernen sollte nur(!) das entsprechende Paket entfernt werden.

coxorange
Beiträge: 28
Registriert: 21.11.2010 22:37:30

Re: apt-get autoremove

Beitrag von coxorange » 07.01.2011 21:15:53

Hallo an alle!

Wenn dieses Verhalten wirklich von den Metapaketen abhängt, wäre es dann nicht sinnvoll, wenn man nur diese Metapakete (das sind doch die tasks in aptitude) auf manuell setzt? Dann würde autoremove bei allen anderen Paketen ja immer noch funktionieren. Oder liege ich da falsch?

Fjunchclick

Re: apt-get autoremove

Beitrag von Fjunchclick » 07.01.2011 21:50:10

Die Abhängigkeiten, die durch das Metapaket definiert werden, werden dann ja aber immer noch automatisch installiert. Ich weiß nicht, ob das funktionieren würde. Deswegen würde ich die Metapakete einfach entfernen. Nach der Installation braucht man die ja eh nicht mehr.

coxorange
Beiträge: 28
Registriert: 21.11.2010 22:37:30

Re: apt-get autoremove

Beitrag von coxorange » 07.01.2011 21:57:47

Und da geht nichts kaputt, wenn ich so ein (oder alle) Metapakete bzw. Tasks entferne? Ich hab da irgendwie Bauchschmerzen.

Fjunchclick

Re: apt-get autoremove

Beitrag von Fjunchclick » 07.01.2011 22:14:29

Metapakete sind nicht das gleiche wie tasks. Ein Metapaket ist z.B. gnome-core. Dies ist eigentlich nur eine Liste mit allen Paketen die zu gnome-core gehören. Das heißt, installierst du gnome-core, wird einfach nachgeschaut, welche Programme in dieser Liste enthalten sind und diese dann installiert. Entfernst du es nun, wird ja nur die Liste entfernt, nicht aber die Programme.

Das Problem, dass Ibex ja oben schon angesprochen hat, ist folgendes:
Wenn man irgendein Paket das zu gnome-core gehört entfernt und dann ein apt-get autoremove ausführt, schaut apt nach den Abhängigkeiten dieses Pakets und wird alles entfernen, was dazugehört. Tja, und das beinhaltet dann eben auch gnome-core und alles, was dazugehört.... Gibt es gnome-core aber nicht mehr, ist alles OK.

gnome-core ist natürlich nur ein Beispiel, es gibt noch eine Menge andere Metapakete.

Hier gibt es noch eine Erklärung dazu:
http://wiki.ubuntuusers.de/Metapakete

Luise
Beiträge: 171
Registriert: 20.11.2009 17:09:52

Re: apt-get autoremove

Beitrag von Luise » 08.01.2011 15:23:59

Sollte man nicht in der man page zu apt-get darauf hinweisen?

Irgendwie bin ich bis jetzt davon ausgegangen, dass man den Angaben in den man pages vertrauen kann.

Wo soll man sich Gewissheit darüber verschaffen, ob z. B. ein Kommando in Ordnung ist, wenn nicht da?

Benutzeravatar
bmario
Beiträge: 1255
Registriert: 05.09.2007 12:15:47
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dresden

Re: apt-get autoremove

Beitrag von bmario » 08.01.2011 17:53:23

Luise hat geschrieben:Wo soll man sich Gewissheit darüber verschaffen, ob z. B. ein Kommando in Ordnung ist, wenn nicht da?
Das Kommando ist in Ordnung, es tut genau das was es soll. Wollen wir doch hier mal für Klarheit sorgen:

Was tut autoremove?
Es entfernt alle Pakete, die nichtmehr benötigt werden.

Wann wird ein Paket A als nicht mehr benötigt erkannt?
Apt(itute) nimmt ein installiertes Paket A dann als nicht mehr benötigt an, wenn
a) es die Markierung "Automatisch Installiert" besitzt (in aptitude mit einem "M" gekennzeichnet)
und b) es kein Installationsgrund gibt

Was ist ein Installationsgrund für ein Paket A?
Ein Paket A hat dann einen Installatationsgrund, wenn
a) es die Markierung "Manuel Installiert" besitzt (in aptitude mit "m" gekennzeichnet)
ODER
b) es gibt wenigstens ein anderes Paket B, welches ein Installationsgrund hat und das von Paket A abhängig ist.

Was sind Meta-Pakete?
Meta-Pakete sind entgegen, wie man annehmen könnte, technisch ganz normale Pakete. Der Unterschied besteht darin, dass sie selbst keine Dateien enthalten (bis auf die internen Steuerdateien) und nur Abhängigkeiten definieren. Installiert man also ein Metapaket M, welches von Paket A, B und C abhängig ist, so wird keine Datei durch so ein Metapaket hinzugefügt, aber es wird Paket A, B und C installiert. Ein recht bekanntes Metapaket ist Debiangnome-desktop-environment. Aber auch Debiangnome-core ist ein solches.

Was passiert, wenn man ein Paket löscht, von dem ein Meta-Paket abhängig ist?
Dann wird das Paket entfernt, daraufhin hätte aber das Meta-Paket selbst eine unerfüllte Abhängigkeit. Pakete mit unerfüllten Abhängigkeiten werden aber ohne Ausnahme deinstalliert, da sie eh nicht funktionieren können! Es fehlt ja schließlich eine Abhängigkeit und die sind ja nicht nur aus Spass gesetzt. z.B. Ich lösche die Abhängigkeit B des Meta-Paketes M. Daraufhin wird als auch M gelöscht.
Diese Praxis ist zwar für normale Pakete sinnvoll, aber nicht wirklich für Meta-Pakete, da z.B. Gnome auch ohne Evolution funktioniert

Was bedeutet das für die verbleibenden Abhängigkeiten von M?
Kurz gesagt, sie haben einen Installationsgrund weniger, denn das Meta-Paket hatte einen Installationsgrund und es definierte Abhängigkeiten auf die Pakete. Das ist aber fatal, da Meta-Pakete nur dazu da sind, Gruppen von Paketen in einem Rutsch Installationsgründe zu geben. Es ist auch so, das Abhängigkeiten von Meta-Paketen meist nur einen Installationsgrund haben, nämlich das Meta-Paket selbst. Im Bespiel bedeutet das, Paket A und C haben keinen Installationsgrund mehr.

Was passiert also beim nächsten autoremove?
Es wird Paket A und C auch entfernt, da sie ja keinen Installationsgrund mehr haben!

Wie löst man also das Dilemma, wenn einem die Meta-Pakete nicht passen, also einem zuviel Installieren?
Man baut sich eigene Meta-Pakete (Originalen Quelltext besorgen, entpacken, debian/control anpassen und neu bauen bzw. mit equivs eigene erstellen) oder man gibt den gewünschten Paketen einen anderen Installationsgrund, etwa markiert sie als "Manuelle Installiert". Dabei reicht es auch aus die gewünschten Abhängigkeiten des fehlenden Meta-Paketes als "Manuell Installiert" zu markieren, damit haben auch deren Abhängigkeiten einen Installationsgrund. Der Rundumschlag, alle Pakete als "Manuelle Installiert" zu markieren ist übertrieben.
Fjunchclick hat geschrieben:Deswegen würde ich die Metapakete einfach entfernen. Nach der Installation braucht man die ja eh nicht mehr.
Oh doch, wie ich in diesem Post erläutert habe, geben diese den Paketen einen Installationsgrund. Ein entfernen der Meta-Pakete bringt also nichts, es macht alles nur schwerer.

Was also tun?
Am Einfachsten ist es, das entsprechende Meta-Paket zu installieren und damit zu leben.

Anmerkung: Man könnte Meta-Pakete "reparieren", indem man die Depends zu Recommends ändert, dass würde es ermöglichen, die Abhängigkeiten zu deinstallieren und trotzdem die Meta-Pakete installiert zu lassen. Das würde aber Allen, die wie ich, install-recommends für Teufelszeugs halten, das komplette System zerschießen :)
Nichts zu tun ist viel besser,
als mit viel Mühe nichts zu schaffen. - Laotse

Benutzeravatar
Blackbox
Beiträge: 2941
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: apt-get autoremove

Beitrag von Blackbox » 08.01.2011 20:04:20

Ist es dann möglich, sich ein System gänzlich ohne Metapakete zusammen zubauen, auch wenn dies ein Vielfaches an Installationsaufwand bedeutet ?
Eigenbau PC: Debian Sid - Kernel: 5.3.7 - Xfce 4.14
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 5.3.7 - Xfce 4.14
Notebook: TUXEDO Book BU1406 - Debian Sid - Kernel: 5.3.7 - Xfce 4.14
Rootserver: Centos 7.7.1908 - Kernel: 3.10-x86_64
Alles Minimalinstallationen.

Freie Software unterstützen, Datenschutz stärken!

Antworten