apt-get autoremove

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Mikewg
Beiträge: 98
Registriert: 20.01.2011 14:48:57

Re: apt-get autoremove

Beitrag von Mikewg » 21.01.2011 11:15:54

Hallo, unter Anwendungen im Panel findet sich der Punkt Sonstige.
Da ich K3b wieder deinstalliert habe (das war die einzigste KDE-Anwendung, die ich hatte) und der Rest als autoremovable auch wieder weg ist, kann ich das jetzt nicht so sagen, was es genau war. Zu diesen 69 KDE-Anwendungen zählten aber so Sachen, die die Einrichtung des KDE-Desktops betrafen, wie Bildschirmschoner oder Erscheinungsbild, ähnlich, wie ich sie auch unter System/ Einstellungen für Gnome habe und noch andere Dinge, mit denen ich nichts anfangen konnte. Aber keine Bibliotheken, die für eine KDE-Anwendung nötig sind, sondern wirklich eigenständige Anwendungen im Anwendungspanel, die sich auch starten lassen. (Und immerhin 69 :!: , habe die lange Liste gezählt, der Bildschirm hat nicht mal gereicht von oben bis unten)

Ich habe Debian Lenny, installiert von CD1 mit Internetverbindung.

Benutzeravatar
frox
Beiträge: 966
Registriert: 06.08.2004 16:29:44
Wohnort: Köln

Re: apt-get autoremove

Beitrag von frox » 21.01.2011 11:31:45

Dann schau doch mal, ob bei Synaptic > Einstellungen > Einstellungen > Allgemein das Feld "Empfohlene Pakete als Abhängigkeiten ansehen" angehakt ist. Wenn ja, entfernen.

Edit: Und wenn Du gerade schon mal in dieser Maske drin bist:

"Paketeigenschaften im Hauptfenster anzeigen" anhaken. Dann siehst Du die Abhängigkeiten und Konflikte von Paketen vorab im Detail.
Und: Von da lässt sich das alles schön kopieren, falls man evtl. Fragen zu einzelnen Abhängigkeiten hat.
Gruß, Fred

Die Zeit salzt alle Wunden

Mikewg
Beiträge: 98
Registriert: 20.01.2011 14:48:57

Re: apt-get autoremove

Beitrag von Mikewg » 21.01.2011 11:41:48

frox hat geschrieben:Dann schau doch mal, ob bei Synaptic > Einstellungen > Einstellungen > Allgemein das Feld "Empfohlene Pakete als Abhängigkeiten ansehen" angehakt ist. Wenn ja, entfernen.

Vielen Dank :THX: , jetzt hat es geklappt. Ich habe den Dialog immer falsch verstanden, ich dachte, wenn der Haken drin ist, bedeutet das, das mir die empfohlenen Abhängigkeiten angezeigt (=ansehen) werden.

Mikewg
Beiträge: 98
Registriert: 20.01.2011 14:48:57

Re: apt-get autoremove

Beitrag von Mikewg » 21.01.2011 11:46:37

Merke gerade, nach jedem Neustart von Synaptic ist der Haken wieder drin :( .

Jedenfalls habe ich jetzt k3b ohne den Rest.

Benutzeravatar
frox
Beiträge: 966
Registriert: 06.08.2004 16:29:44
Wohnort: Köln

Re: apt-get autoremove

Beitrag von frox » 21.01.2011 11:56:34

Stimmt. Ist mir noch gar nicht aufgefallen. Hmm...
Gruß, Fred

Die Zeit salzt alle Wunden

Fjunchclick

Re: apt-get autoremove

Beitrag von Fjunchclick » 21.01.2011 12:55:02

Luise hat geschrieben: Hätte ich bei der Abfrage, ob ich die aufgeführten Pakete entfernen wollte, "ja" gesagt, so wäre alles weg gewesen, was debian bei der Erstinstallation unter dem meta-Paket(?) standard desktop installiert hatte - und ich hätte wohl dumm aus der Wäsche geschaut :o als ich plötzlich keinen desktop mehr hatte :!:
Und hättest du, wie in diesem Thread schon öfters gesagt, die betreffenden Pakete als manuell installiert markiert, würde genau das eben nicht mehr passieren.

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

Re: apt-get autoremove

Beitrag von Luise » 22.01.2011 02:49:49

Fjunchclick hat geschrieben:
Luise hat geschrieben: Hätte ich bei der Abfrage, ob ich die aufgeführten Pakete entfernen wollte, "ja" gesagt, so wäre alles weg gewesen, was debian bei der Erstinstallation unter dem meta-Paket(?) standard desktop installiert hatte - und ich hätte wohl dumm aus der Wäsche geschaut :o als ich plötzlich keinen desktop mehr hatte :!:
Und hättest du, wie in diesem Thread schon öfters gesagt, die betreffenden Pakete als manuell installiert markiert, würde genau das eben nicht mehr passieren.
Dazu hätte ich aber erst mal wissen müssen, dass es da Probleme geben kann - und genau das kann man bei der manpage von apt-get nicht herauslesen:
autoremove
autoremove is used to remove packages that were automatically
installed to satisfy dependencies for some package and that are no
more needed
.
Das liest sich ganz anders als all das, was hier im thread erklärt worden ist. Wieso werden die Anwendungen, die entfernt worden wären, nicht mehr gebraucht? :o

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

Re: apt-get autoremove

Beitrag von bmario » 22.01.2011 10:19:17

Luise hat geschrieben:
autoremove
autoremove is used to remove packages that were automatically
installed to satisfy dependencies for some package and that are no
more needed
.
Das liest sich ganz anders als all das, was hier im thread erklärt worden ist. Wieso werden die Anwendungen, die entfernt worden wären, nicht mehr gebraucht? :o
Nunja, es steht nicht so deutlich drin in der manpage, aber es passiert genau das, was passieren soll. Warum das so ist, habe ich bereits ausführlich auf Seite 1 erklärt und ich habe da auch gar keine Lust mehr mich zu wiederholen...
Fakt ist, nicht dpkg oder apt ist Broken, sondern die Art der Nutzung. Entweder man entscheidet sich eine einfache Installation zu haben, dann nimmt man alle Metapakete mit, oder man entscheidet sich, dies nicht zu tun, dann installiert man nur das was man braucht und ignoriert die Metapakete. Aber wenn man ersteres tut, hat man gefälligst damit zu Leben, wie die Metapakete sind und was sie einem Installieren. Das ist wie, als wenn man nicht die Strecke fährt die einem der Navi vorgibt und sich dann beschwert, das man sich verfahren hat und das das ja nicht sein kann.
Nichts zu tun ist viel besser,
als mit viel Mühe nichts zu schaffen. - Laotse

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

Re: apt-get autoremove

Beitrag von Luise » 22.01.2011 14:57:04

bmario hat geschrieben:
Luise hat geschrieben:
autoremove
autoremove is used to remove packages that were automatically
installed to satisfy dependencies for some package and that are no
more needed
.
Das liest sich ganz anders als all das, was hier im thread erklärt worden ist. Wieso werden die Anwendungen, die entfernt worden wären, nicht mehr gebraucht? :o
Nunja, es steht nicht so deutlich drin in der manpage, aber es passiert genau das, was passieren soll. Warum das so ist, habe ich bereits ausführlich auf Seite 1 erklärt und ich habe da auch gar keine Lust mehr mich zu wiederholen...
.
Ich bezweifle das doch gar nicht.

Ich beanstande aber den Eintrag in den manpages.

Wenn dort einfach stände :
autoremove
autoremove is used to remove packages that were automatically
installed
dann wäre es zutreffend und völlig ok.

cosmac
Beiträge: 4573
Registriert: 28.03.2005 22:24:30

Re: apt-get autoremove

Beitrag von cosmac » 22.01.2011 15:51:33

'man apt-get' hat geschrieben:autoremove
autoremove is used to remove packages that were automatically installed to satisfy dependencies for some package and that are no more needed.
Luise hat geschrieben:Ich beanstande aber den Eintrag in den manpages.

Wenn dort einfach stände :
autoremove
autoremove is used to remove packages that were automatically installed
dann wäre es zutreffend und völlig ok.
wie wär's mit einem Kompromiss:
autoremove
autoremove is used to remove packages that were automatically installed and that are no more needed to satisfy dependencies for some package.
man beachte: 100% Buchstaben-Recycling :)
Beware of programmers who carry screwdrivers.

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

Re: apt-get autoremove

Beitrag von Luise » 22.01.2011 20:45:29

cosmac hat geschrieben:wie wär's mit einem Kompromiss:
autoremove
autoremove is used to remove packages that were automatically installed and that are no more needed to satisfy dependencies for some package.
man beachte: 100% Buchstaben-Recycling :)
Bein - weil es nicht stimmt!

Ich führe unten noch einmal die Pakete auf, die dabei entfernt werden sollten - die passen doch zum allergrößten Teil nicht unter die Definition:
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
Zuletzt geändert von Danielx am 23.01.2011 16:29:13, insgesamt 1-mal geändert.
Grund: quote-Tag repariert

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

Re: apt-get autoremove

Beitrag von bmario » 23.01.2011 01:04:18

Doch sie passen perfekt! Es gab ein Metapaket, diese wurde entfernt, da es broken war. Und nun haben all diese Pakete keinen Installationsgrund mehr. Das heißt sie sind nichtmehr benötigt.

Zumindest das ist der logische Standpunkt des Paketsystems! Wenn du ein Paket installierst, das Abhängigkeiten nach sich zieht, so willst du ja auch, das diese Abhängigkeiten wieder entfernt werden, wenn du das ursprüngliche Paket deinstallierst. Das willst du deshalb, weil diese Pakete ja nur deshalb auf dem System sind, weil das eine Paket davon abhängig ist. Wenn man dieses Paket dann entfernt sind die Abhängigkeiten also unnütz und deshalb unnötigt.

Und Metapakete sagen halt "ich habe Abhängigkeiten zu dieser ganzen Liste von Paketen da" und deshalb werden alle diese Pakete aus dieser Liste installiert.
Entfernt man eines aus der Liste, so ist das Metapaket für das Paketsystem kaputt, denn es fehlt eine Abhängigkeit. Dies kann das Paketsystem auf 2 Arten lösen:
a) Die fehlende Abhängigkeit installieren, aber gerade das wollten wir ja nicht, die haben wir ja gerade deinstalliert!
also Variante b) Das Metapaket deinstallieren

Und das bringt das Paketsystem gleich darauf zu sagen: "Der ganze Mist, den dieses komische Paket, das grade broken war und ich deshalb deinstalliert habe, als Abhängigkeit hat, ist jetzt nurnoch unnütz, also weg damit bei nächster Gelegeheit."

Und dann kommst du an und sagst dem Paketsystem es soll alles unnütze deinstallieren. Natürlich wird dann ALLES deinstalliert! Du wolltest es ja nicht anders, und weder die manpage lügt, noch das Paketsystem ist broken. Du gibst ihm einfach die falschen und/oder zuwenige Befehle und Informationen. Wie das Problem gelöst werden kann, ist in diesem und anderen Threads sooft durchgekaut worden, das wiederhole ich jetzt nichtmehr.

Mario, der des Themas langsam überdrüssig ist.
Nichts zu tun ist viel besser,
als mit viel Mühe nichts zu schaffen. - Laotse

Clio

Re: apt-get autoremove

Beitrag von Clio » 23.01.2011 14:11:30

bmario hat geschrieben:Mario, der des Themas langsam überdrüssig ist.
Ja, das glaub' ich Dir.........trotzdem hast Du das sehr schön erklärt..... :)

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: apt-get autoremove

Beitrag von Danielx » 23.01.2011 15:56:20

Wenn man ein Metapaket entfernen möchte, weil man z.B. ein Paket entfernen möchte, welches das Metapaket als Abhängigkeit hat, dann könnte man zuerst alle (installierten) direkten Abhängigkeiten des Metapakets als "manuell installiert" markieren und dann das Metapaket entfernen.
Dann sollte ein Autoremove die von diesem Metapaket abhängigen Pakete nicht entfernen.

Habe mal eben etwas zusammen geflickt:

Code: Alles auswählen

PAKET=Paketname; dpkg --status $PAKET 2>&1 | grep "^Depends" | sed 's/([^)]*)//g' | sed "s/^Depends: //;s/| / /;;s/, / /g" | xargs -r dpkg -l 2>/dev/null | grep "^ii" | awk '{print $2}' | xargs -r aptitude unmarkauto
Das sollte (installierte) direkten Abhängigkeiten eines Paketes als "manuell installiert" markieren.

Je nach Einstellung könnte man das auch noch mit den "Recommends" machen.

Gruß,
Daniel

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: apt-get autoremove

Beitrag von linuxCowboy » 05.02.2013 20:31:17

Ein sehr anregender Thread!

Optimiert könnte es so aussehen:

Code: Alles auswählen

dpkg -l `dpkg -s PAKET | { g ^Depends || e no_deps; } | tr ' ,' '\n' | g ^[[:lower:]]` | awk '/^ii/{print $2}' | xargs ap unmarkauto
oder gleich eine Shell-Funktion (.bash_aliases):

Code: Alles auswählen

# set Package Depends
Fsetdeps ()
{
	[ -z "$2" ] && e "usage: Fsetdeps st[atus]|ma[nual]|au[tomatic] Package" && return

	local PAKETS=`dpkg -s $2 | { g ^Depends || e no_deps; } | tr ' ,' '\n' | g ^[[:lower:]] | tr '\n' ' '`

	[ "$PAKETS" = "no_deps " ] && e No Depends! && return

	case $1 in
		st*) ap search "~R$2 ~i" | tee >(wc -l) ;;
		ma*) ap unmarkauto $PAKETS ;;
		au*) ap markauto $PAKETS ;;
	esac
}
e g ap sind hardlinks

~R ist rdepends AND ~i installed

Meta-Packages lassen sich z.B. so finden:

Code: Alles auswählen

debtags search role::metapackage | cut -d\  -f1 | xargs dpkg -l | tail -n +6 | sort
-der_linux_cowboy
-der_linux_cowboy --- Besser werden! ... f*** w$$

Antworten