Siduction Forum

Siduction Forum => Free Speech => Topic started by: Isegrimm666 on 2023/07/12, 10:39:08

Title: Endgegner 'autoremove'
Post by: Isegrimm666 on 2023/07/12, 10:39:08
Guten Morgen ...

Das Forum ist ja voll mit Warnungen vor der Nutzung von 'autoremove'. Ich selbst habe mich damit schon oft genug in die ... geritten.

Aber wie ist nun der systemschonendere Weg?

Wenn mir das System bei einem 'apt upgrade' die Entfernung von Paketen vorschlägt, die obsolet geworden sind, dann kann ich doch ... besser sollte ich doch von der Korrektheit der Empfehlung ausgehen können, oder?

Mache ich es nicht, dann wird die Liste dieser zur Löschung empfohlenen Pakete ja immer länger ... hier regelt sich also nichts von alleine.

Wie kann ich also diesen Vorgang überwachen?

Derzeitiger Status:
Code: [Select]
[09:34:14][root@CYGNA:/home/isegrimm]# apt upgrade
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Paketaktualisierung (Upgrade) wird berechnet… Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  gdisk libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2 libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2 linux-headers-6.3.11-1-siduction-amd64
  linux-image-6.3.11-1-siduction-amd64
Verwenden Sie »apt autoremove«, um sie zu entfernen.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

Da es also keine zurückgehaltenen Pakete gibt, sollte das doch hier problemlos sein, oder?
Title: Re: Endgegner 'autoremove'
Post by: edlin on 2023/07/12, 12:49:32
„Ist er zu stark, bist du zu schwach!“  ;)
Mal im Ernst. Die Aufräumfunktion apt autoremove ist nicht von vornherein ein Problemmacher. Ich kann mich persönlich nicht daran erinnern, dass mich apt autoremove schon mal in die Sch... geritten hätte. Allerdings schau ich schon mal auf die Liste, ob mir was spanisch vorkommt. Auch sollte man daran denken, dass es ein remove und kein purge durchführt. Eine zurückgelassene, evtl. fehlerbehaftete, Konfiguration kann später auch mal Ärger machen.

Wenn dir apt autoremove mal was entfernt, wo du den Verdacht hast, dass dies ein Fehler war, so findest du die Liste der gelöschten Dateien in /var/log/apt/history.log. Könnte so aussehen:
Code: [Select]
Start-Date: 2023-07-12  11:50:15
Commandline: apt autoremove
Remove: libsavitar0:amd64 (4.13.0-2+b3), libblockdev-part2:amd64 (2.28-2), libblockdev-swap2:amd64 (2.28-2), libgeos3.11.1:amd64 (3.11.1-1), libgps28:amd64 (3.22-4.1+b1), libexecs0:amd64 (1.3-3), libdraco7:amd64 (1.5.5+dfsg-2), libdraco8:amd64 (1.5.6+dfsg-2), libblockdev-fs2:amd64 (2.28-2), python3-reportlab-accel:amd64 (4.0.4-6), libmujs2:amd64 (1.3.2-1), libassimp5:amd64 (5.2.5~ds0-1.1+b1), python3-async-generator:amd64 (1.10-4), cube2:amd64 (0.0.20201227+dfsg-2), libblockdev-loop2:amd64 (2.28-2), libblockdev2:amd64 (2.28-2), libblockdev-part-err2:amd64 (2.28-2), libarcus3:amd64 (4.13.0-3+b4), libblockdev-utils2:amd64 (2.28-2), python3-renderpm:amd64 (4.0.4-6), libenet7:amd64 (1.3.17+ds-2), libraw20:amd64 (0.20.2-2.1), libblockdev-crypto2:amd64 (2.28-2)
End-Date: 2023-07-12  11:50:19
Du kannst also die Pakete wieder neu installieren, egal, ob es nun Sinn macht oder nicht.
Was willst du genau überwachen? Was apt autoremove machen will, wird dir angezeigt, bevor du den Vorgang startest oder abbrichst.
Was apt autoremove gemacht hat, steht im Logfile von apt.
Wenn du apt nicht traust, kannst du das ja selbst mal mit Zettel und Bleistift aufdröseln und schauen, welche Pakete von keinem anderen Paket mehr benötigt werden.
Und noch ein Tipp: Wenn man apt autoremove anwendet, sollte man ein „intaktes“ System haben und keine Problemkinder an denen man gerade herumbastelt.

So, das war meine Meinung/Erfahrung dazu.

edlin
Title: Re: Endgegner 'autoremove'
Post by: hendrikL on 2023/07/12, 19:38:01
Code: [Select]
apt autopurge
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

Wie edlin schon schrieb, nicht immer ist es böse!

Stört die Anzeige, autoremove könnte ....., so könnte /etc/apt/apt.conf.d/80siduction mit einem Editor eigener Wahl so geändert werden, sodass die autoremove Frage nicht mehr angezeigt wird.

Dafür muss Folgendes geändert werden: APT::Get::HideAutoRemove "0";  und zwar nach APT::Get::HideAutoRemove "1"; und Ruhe ist!
Also die "0" in eine "1".

Title: Re: Endgegner 'autoremove'
Post by: Isegrimm666 on 2023/07/13, 08:53:27
Danke für die Antworten ...

Ich nutze ein 'intaktes' System ... also keine 'gemixten' sources. Nachdem in den isos 'Cinnamon' nicht mehr Desktop angeboten wurde, bin ich - bei der Neuinstallation meines Rechners - vor zwei Monaten auf ein Testbuild gewechselt. Das ist aber in dem Punkt auch schon alles.

'Überwachen' war vielleicht das falsche Wort.
Wie ich schrieb, geht es mir darum, dass die Vorschläge für mich natürlich stimmig sind, das System bei einem upgrade also durchaus erkennt, wenn Pakete obsolet geworden sind. Diese dann zu löschen, macht also Sinn.

Taucht jetzt ein Paket auf, das mir 'spanisch' vorkommt, stutze ich natürlich. Also lasse ich es.

Das aber macht die Liste bei jedem upgrade länger. Für mich bleibt also nur die Möglichkeit, es jetzt oder später zu löschen ...

Was ich in einem anderen Fall gelernt habe ist, das ein dist-upgrade keinerlei Sinn macht, wenn noch zurückgehaltene Pakete existieren, da hier natürlich eine sehr hohe Gefahr existiert, dass das System hinterher steht, weil benötigte Pakete nicht installiert werden können. Ist die Liste leer, die Transition also abgeschlossen, ist es möglich.

Bei Autoremove ist das aber nicht der Fall.

Die einzige Möglichkeit für mich ist damit, die Liste der zu löschenden Pakete mit Hinweisen hier im Forum abzugleichen und zu sehen, ob Warnungen existieren, die das Löschen erst einmal aufschieben.

Oder gibt es da einen praktikableren Weg?
Title: Re: Endgegner 'autoremove'
Post by: unklarer on 2023/07/13, 10:07:39
Quote from: Isegrimm666
Oder gibt es da einen praktikableren Weg?

Nein.

Es ist richtig, was du zu apt dist-upgrade vs full-upgrade schreibst. Also, bricht man das dist-upgrade ab, sieht ins Forum und wartet.
Diese zwei Befehle von apt autoremove und autopurge erledigen den Job zuverlässig. Damit hatte ich noch NIE ein Problem.   ;)
Title: Re: Endgegner 'autoremove'
Post by: scholle1 on 2023/07/13, 13:54:11
Taucht jetzt ein Paket auf, das mir 'spanisch' vorkommt, stutze ich natürlich. Also lasse ich es.
Das aber macht die Liste bei jedem upgrade länger. Für mich bleibt also nur die Möglichkeit, es jetzt oder später zu löschen ...

Es gibt noch die Möglichkeit ein Paket auf "hold" zu setzen. Deine Frage betreffend das Paket, dessen Entfernung dir 'spanisch' vorkommt.

Code: [Select]
apt-mark hold <Paket-spanisch>
Dann führst du autoremove aus und anschließend

Code: [Select]
apt-mark unhold <Paket-spanisch>
Danach ist die Liste der zur Löschung empfohlenen Pakete wieder ganz kurz.
Title: Re: Endgegner 'autoremove'
Post by: edlin on 2023/07/13, 14:39:58
Genau genommen _ist_ apt autoremove der Weg.
In „Friedenszeiten", sprich keine Transition und keine Pakete, die buggy sind und sich nicht installieren lassen etc., kann apt autoremove problemlos verwendet werden. Apt verwendet dafür ja die gleichen Informationen und Mechanismen, wie auch bei der Installation von Paketen. Da verlassen wir uns ja auch auf apt.
Und in Krisenzeiten sitzen wir das Ganze aus. In der Zeit sammeln sich aber auch nicht soooo viele Pakete für ein autoremove an. Und die Möglichkeit, mittels Hold ein Paket festzutackern, hat ja @scholle1 schon erwähnt.

edlin
Title: Re: Endgegner 'autoremove'
Post by: Isegrimm666 on 2023/07/14, 08:06:50
Ok ... ich muss mich viiiiel intensiver mit 'apt' beschäftigen.  :)

Die genannten Aktionen sind mir so nicht bekannt gewesen und ich müsste da wohl mal 'Hausaufgaben' nachholen.

Zum Thema Transition:

Gibt es hierzu Ankündigungen im Forum, damit man sich im Vorfeld schon damit auseinandersetzen kann und wohlweislich die Füße still hält? 8)
Title: Re: Endgegner 'autoremove'
Post by: hendrikL on 2023/07/14, 08:20:48

Zum Thema Transition:

Gibt es hierzu Ankündigungen im Forum, damit man sich im Vorfeld schon damit auseinandersetzen kann und wohlweislich die Füße still hält? 8)

Dafür haben wir die Rubrik Upgrade Warnings und apt ist normalerweise auch sehr Redeselig.Trotz allem kann es auch mal rumpeln , dann warnt Mensch selber die anderen!
Title: Re: Endgegner 'autoremove'
Post by: edlin on 2023/07/14, 08:25:44
Natürlich gibt es bei einer Transition hier im Forum unter Upgrade Warnings die entsprechenden Hinweise. Allerdings schließt das nicht aus, dass auch du einmal zuerst darauf stößt, bevor es hier eine Warnung gibt. Daher der Rat, auf die zu löschenden Pakete und deren Anzahl zu schauen. Qt- oder Perl-Transitions ziehen gern mal hunderte Pakete ins Nirvana und das ist auch ein Indiz für eine Transition. Kommt aber nicht täglich vor. Über den Stand einer Transition kannst du dich hier informieren: https://release.debian.org/transitions/index.html (https://release.debian.org/transitions/index.html).

edlin
Title: Re: Endgegner 'autoremove'
Post by: hschn on 2023/07/14, 09:13:52
Eine weitere Bemerkung meinerseits:
In irgendeinem Thread bemekte towo:
wenn auto dann purge: also
Code: [Select]
apt autopurgeDamit werden auch "Zombies" vermieden.
Natürlich diesen Befehl nur nach Kontrolle im Forum und Überprüfung auf Sinnhaftigkeit verwenden.
Mit dieser Vorgehensweise habe ich schon seit Jahren keine Probleme.
Title: Re: Endgegner 'autoremove'
Post by: Isegrimm666 on 2023/07/14, 09:16:46
Danke ... die Tipps helfen mir weiter. Besonders der 'Transition Tracker' ist ein gutes Nachschlagewerk.
Title: Re: Endgegner 'autoremove'
Post by: hsp on 2023/07/14, 10:22:31
Ich benutze autoremove/autopurge seit Jahren regelmäßig um altes Zeugs zu entsorgen. Apt weiß was es tut. habe noch nie Sorgen damit gehabt.

...
Title: Re: Endgegner 'autoremove'
Post by: Isegrimm666 on 2023/10/08, 08:39:16
Moin zusammen ...

Seit einiger Zeit 'schleppe' ich jetzt schon diese Pakete mit mir rum:

Code: [Select]
[08:22:59][root@CYGNA:/home/isegrimm]# apt upgrade
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Paketaktualisierung (Upgrade) wird berechnet… Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  libcbor0.8 libclang-14-dev libclang-common-14-dev libclang-rt-14-dev
  libclang1-14 libgumbo1 libjim0.81 libllvm14 libllvm15 libmozjs-78-0 libpcre3
  libtexluajit2 linux-headers-6.5.2-1-siduction-amd64
  linux-headers-6.5.3-1-siduction-amd64 linux-image-6.5.2-1-siduction-amd64
  linux-image-6.5.3-1-siduction-amd64
Verwenden Sie »apt autoremove«, um sie zu entfernen.
Die folgenden Pakete sind zurückgehalten worden:
  cinnamon cinnamon-common cinnamon-desktop-data cinnamon-l10n
  cinnamon-screensaver cinnamon-session cinnamon-session-common
  cinnamon-settings-daemon ghostscript gir1.2-cinnamondesktop-3.0
  gir1.2-cscreensaver-1.0 gir1.2-cvc-1.0 gir1.2-meta-muffin-0.0 libavif15
  libcinnamon-desktop4 libcscreensaver0 libgd3 libgs10 libgs10-common
  libjavascriptcoregtk-4.0-18 libjavascriptcoregtk-4.1-0 libmuffin0
  libnemo-extension1 libwebkit2gtk-4.0-37 libwebkit2gtk-4.1-0 muffin nemo
  nemo-data
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 28 nicht aktualisiert.
[08:23:09][root@CYGNA:/home/isegrimm]#

Laut Transition Tracker (https://release.debian.org/transitions/index.html) sind sie nicht gelistet, eine Verwendung von apt-autoremove sollte eigentlich problemlos möglich sein.

Oder wäre es sinnvoller zu warten, bis die zurückgehaltenen Pakete freigegeben sind, dann ein dist-upgrade zu fahren und danach die Pakete via autoremove zu entfernen?

Wie seht ihr das?
Title: Re: Endgegner 'autoremove'
Post by: edlin on 2023/10/08, 11:08:01
edlin
Title: Re: Endgegner 'autoremove'
Post by: samoht on 2023/10/08, 11:34:22
Quote
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
 ...linux-headers-6.5.2-1-siduction-amd64
  linux-headers-6.5.3-1-siduction-amd64 linux-image-6.5.2-1-siduction-amd64
  linux-image-6.5.3-1-siduction-amd64
Verwenden Sie »apt autoremove«, um sie zu entfernen.

Hier leistet das aus dem siduction-Team stammende script
Code: [Select]
kernel-removereinen wertvollen Dienst
Title: Re: Endgegner 'autoremove'
Post by: hendrikL on 2023/10/08, 12:41:42
und bitte nehmt
Code: [Select]
apt autopurgebzw
Code: [Select]
apt autoremove --purge
Title: Re: Endgegner 'autoremove'
Post by: Isegrimm666 on 2023/10/09, 07:06:10
  • Also ich sehe zunächst ein apt upgrade und kein apt full-upgrade.  >:(
  • In der autoremove-Liste sehe ich keine Probleme. Wir sind schon beim Kernel 6.5.6-1. Der Rest sind ein paar nicht mehr benötigte libs. apt autoremove sollte save sein (und war es bei mir auch immer).
  • Warum die Pakete zurückgehalten werden, musst du auf deiner Maschine klären. Siehe auch 1.
edlin
Guten Morgen ...

zu 1.: Das ist korrekt, da ich hier mal gelesen habe (und ich glaube, das Du selbst mir den Tipp gabst) dass ein full-upgrade erst dann gestartet werden sollte, wenn keine zurückgehaltenen Pakete mehr existieren. Wenn ich das jetzt falsch verstanden habe ... sorry.

(Warum eigentlich der " >:(" ? :)

zu 3.: Das verstehe ich jetzt nicht. Wie kann ich das klären?

----------------

Ich werde heute abend, wenn ich wieder am Rechner bin, ein "apt autoremove --purge" durchführen, gefolgt von einem "apt full-upgrade".

(Es geht mir einfach darum einen Weg zu finden, mein System kontinuierlich zu pflegen und dabei möglichst sauber und fehlerlos zu arbeiten.  :) )

Isegrimm
Title: Re: Endgegner 'autoremove'
Post by: hendrikL on 2023/10/09, 08:06:36
Zu 1: da wir hier mit debian sid/unstable arbeiten und dieses sich stets weiter entwickelt, sollte immer ein "apt full-upgrade, dist-upgrade oder nala upgrade" durchgeführt werden. Es ändern sich immer wieder Programme und deren Abhängigkeiten.

Siehe: https://manual.siduction.org/sys-admin-apt_de.html#aktualisierung-des-systems

Zu 3: Nach einem erfolgreichen "full-upgrade", oder was bevorzugt wird, und die Pakete werden immer noch zurückgehalten (welches erst einmal kein Problem für das Funktionieren des Systems ist), kann man z. B. mit "apt -s install <zurückgehaltenes Päckchen>" schauen, wo es klemmt.

Title: Re: Endgegner 'autoremove'
Post by: edlin on 2023/10/09, 11:59:45
 >:( , weil ich dachte, dass das Thema durch ist. Also nochmal: Der normale Ablauf für ein Upgrade sollte immer eine der folgenden Versionen sein:
Code: [Select]
apt update && apt full-upgrade
apt update && apt dist-upgrade
nala upgrade
Natürlich mit root-Rechten.

Ein
Code: [Select]
apt upgrade macht nur in seltenen Fällen Sinn. Und das ist zum Beispiel bei einer Transition (Perl, Qt, ...) der Fall. Da kann es schon mal vorkommen, dass über 200 Pakete zum Entfernen vorgeschlagen werden. Will man in dieser Zeit, die schon mal etliche Tage umfassen kann, sein System wenigstens teilweise aktualisieren, ohne es zu schrotten, dann bietet sich ein upgrade an, da es keine Pakete entfernen wird. Das ist aber nur eine temporäre Notlösung. Alternativ kann man den Übeltäter auch temporär auf hold setzen. Infos gibts normalerweise in den Upgrade-Warnungen.

Wenn bei einem full-upgrade mal ein Paket gelöscht werden soll, muss man nicht gleich in Panik verfallen. Da sollte man schauen, ob es eine Anwendung ist, die man nicht gehen lassen möchte oder nur eine nicht mehr benötigte lib, die jetzt in einem Paket integriert wurde etc.
@hendrikL hat dir ja schon eine einfache Methode genannt, mit
apt -s install <Paketname> oder apt --simulate install <Paketname> gefahrlos nach Ursachen zu forschen.

Ich selbst bin ein Freund täglicher Upgrades, da sich dann auch nicht so viel anstaut. Bezüglich der Kernel wurdest du ja schon auf kernel-remover hingewiesen; allerdings empfiehlt es sich, immer noch eine ältere funktionierende Kernelversion vorzuhalten, um bei Problemen alternativ mit dem anderen Kernel booten zu können.

edlin
Title: Re: Endgegner 'autoremove'
Post by: eriefisher on 2023/10/11, 12:55:28
Personally I've never had an issue with autoremove but I do watch to see what's being remove. What I do find though is the amount of "junk" that gets left behind after a package has been removed. This is a one-liner I started using several years ago. I didn't write it but helps clean things up. I just named it apt-residual and call it when I want.
Code: [Select]
#!/bin/bash

#Purge  residual files. Need to be root.

apt-get purge $(dpkg -l | grep '^rc' | awk '{print $2}')
I'll run a dist-upgrade, an autoremove then apt-residual.
Title: Re: Endgegner 'autoremove'
Post by: ro_sid on 2023/10/11, 20:11:39
Quote
apt-get purge $(dpkg -l | grep '^rc' | awk '{print $2}')
Exactly the same can be accomplished by "apt-get --purge autoremove".
[And somewhere I have read "apt-get autopurge", but I do not see that in my man page of apt(-get).]

Me, I always did this with "aptitude" interactively ('~rc' searches for configuration files whose packages were deleted/removed).
Title: Re: Endgegner 'autoremove'
Post by: eriefisher on 2023/10/11, 20:55:11
I just did a d-u and it was good timing because there is a kernel upgrade. A good opportunity to test this out. After the d-u I rebooted into the new kernel. I immediately ran

apt --purge autoremove

which of course removed the older kernel etc.

I then ran the script I posted and was able to remove a config file from a previously removed kernel.

So, not exactly the same this it looks like.
Title: Re: Endgegner 'autoremove'
Post by: ro_sid on 2023/10/12, 15:24:37
@eriefisher: Yes, you are correct: The "apt --purge autoremove" removes only configuration files of packages, that it "touches/removes".
"Your" script removes all of them, regardless (old cruft, too).
But when you always(!) execute the "apt --purge autoremove" to eliminate unused packages, they lead to the same result :).