ubuntuusers.de

Warum werden automatisch installierte Pakete durch autoremove nicht entfernt?

Status: Ungelöst | Ubuntu-Version: Xubuntu 24.04 (Noble Numbat)
Antworten |

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13127

Ich habe gestern das Paket visual-regexp installiert, das ein paar Freunde mitgebracht hat:

Start-Date: 2025-03-06  13:39:03
Commandline: apt install visual-regexp
Requested-By: $user
Install: visual-regexp:amd64 (3.2-0ubuntu2), tk:amd64 (8.6.14build1, automatic), tcl-vfs:amd64 (1.4.2~20121213-2build1, automatic), tk8.6:amd64 (8.6.14-1build1, automatic)
End-Date: 2025-03-06  13:39:10

Soweit alles gut. Dann habe ich es mit apt purge visual-regexp wieder entfernt:

Start-Date: 2025-03-06  13:41:40
Commandline: apt purge visual-regexp
Requested-By: $user
Purge: visual-regexp:amd64 (3.2-0ubuntu2)
End-Date: 2025-03-06  13:41:43

Danach apt auto-remove, aber es wurde nur tcl-vfs deinstalliert, nicht aber tk und tk8.6 (die Kernel lagen da noch von vorher herum):

Start-Date: 2025-03-06  13:41:57
Commandline: apt auto-remove
Requested-By: $user
Remove: linux-modules-6.8.0-53-generic:amd64 (6.8.0-53.55), linux-image-6.8.0-53-generic:amd64 (6.8.0-53.55), linux-headers-6.8.0-53-generic:amd64 (6.8.0-53.55), linux-headers-6.8.0-53:amd64 (6.8.0-53.55), tcl-vfs:amd64 (1.4.2~20121213-2build1), linux-modules-extra-6.8.0-53-generic:amd64 (6.8.0-53.55)
End-Date: 2025-03-06  13:42:14

Ich habe mit apt-mark nachgeschaut und sowohl tk als auch tk8.6 standen auf "auto". Erst, als ich auto-remove mit expliziter Nennung der Pakete ausgeführt habe, wurden sie deinstalliert:

Start-Date: 2025-03-06  13:45:39
Commandline: apt auto-remove tk tk8.6
Requested-By: $user
Remove: tk:amd64 (8.6.14build1), tk8.6:amd64 (8.6.14-1build1)
End-Date: 2025-03-06  13:45:42

Wie erklärt sich das? Wieso wurden die beiden tk-Pakete nicht entfernt, obwohl sie als automatisch installiert markiert waren?

DJKUhpisse Team-Icon

Supporter, Wikiteam
Avatar von DJKUhpisse

Anmeldungsdatum:
18. Oktober 2016

Beiträge: 18177

Wohnort: in deinem Browser, hier auf dem Bildschirm

Gibt es andere Pakete, die zwischenzeitlich installiert wurden und die auf Recommends gelistet haben?

rklm Team-Icon

Projektleitung
(Themenstarter)

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13127

DJKUhpisse schrieb:

Gibt es andere Pakete, die zwischenzeitlich installiert wurden und die auf Recommends gelistet haben?

Nein. Zwischen den gezeigten Einträgen sind keine anderen Installationen, Updates oder Löschungen passiert. Die vier Einträge stehen so hintereinander in /var/log/apt/history.log (und ich habe die Datei natürlich nicht händisch editiert).

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9543

Wohnort: Münster

Ich erinnere mich dunkel, früher bei indirekten und/oder zirkulären Abhängigkeiten

Paket A → Paket B → Paket A, C …

etwas ähnliches bemerkt zu haben. autoremove entfernte nur einen Teilgraphen und erzeugte damit neue verwaiste Pakete. Es bedurfte update und erneutes autoremove, ggf. sogar mehrfach zur Beseitigung des kompletten Baums.

rklm Team-Icon

Projektleitung
(Themenstarter)

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13127

kB schrieb:

Ich erinnere mich dunkel, früher bei indirekten und/oder zirkulären Abhängigkeiten

Paket A → Paket B → Paket A, C …

Das wäre dann allerdings eine schwache Abhängigkeitsverwaltung.

etwas ähnliches bemerkt zu haben. autoremove entfernte nur einen Teilgraphen und erzeugte damit neue verwaiste Pakete. Es bedurfte update und erneutes autoremove, ggf. sogar mehrfach zur Beseitigung des kompletten Baums.

Ich glaube, ich habe autoremove auch mehrfach hintereinander ausgeführt, aber der von Dir beschriebene Effekt (beim zweiten Aufruf wird mehr entfernt) ist nicht aufgetreten.

Frieder108

Avatar von Frieder108

Anmeldungsdatum:
7. März 2010

Beiträge: 9427

Schon mal

apt autopurge

versucht?

rklm Team-Icon

Projektleitung
(Themenstarter)

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13127

Frieder108 schrieb:

Schon mal

apt autopurge

versucht?

Nein, aber ich erwarte da keine anderen Ergebnisse, weil das ja ein autoremove gefolgt von purge macht. Die Abhängigkeitsauflösung wird dieselbe sein.

Frieder108

Avatar von Frieder108

Anmeldungsdatum:
7. März 2010

Beiträge: 9427

Nun ja, davon. dass du ein automove --purge gemacht hast, hast du aber auch nirgendwo was geschrieben. 😉

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 3749

Frieder108 schrieb:

automove

Was machtn das? 😀

Frieder108

Avatar von Frieder108

Anmeldungsdatum:
7. März 2010

Beiträge: 9427

Gut aufgepasst 👍

rklm Team-Icon

Projektleitung
(Themenstarter)

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13127

Frieder108 schrieb:

Nun ja, davon. dass du ein automove --purge gemacht hast, hast du aber auch nirgendwo was geschrieben. 😉

Aber ich habe ja autoremove ausgeführt. Der purge räumt ja nur hinterher auf, nachdem autoremove seinen Job gemacht hat. Aber autoremove ist halt gerade das Problem hier. Da ist es egal, welche Schritte man danach noch ausführt.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9543

Wohnort: Münster

rklm schrieb:

[…] Danach apt auto-remove, aber es wurde nur tcl-vfs deinstalliert, nicht aber tk und tk8.6 (die Kernel lagen da noch von vorher herum):

Start-Date: 2025-03-06  13:41:57
Commandline: apt auto-remove
Requested-By: $user
Remove: linux-modules-6.8.0-53-generic:amd64 (6.8.0-53.55), linux-image-6.8.0-53-generic:amd64 (6.8.0-53.55), linux-headers-6.8.0-53-generic:amd64 (6.8.0-53.55), linux-headers-6.8.0-53:amd64 (6.8.0-53.55), tcl-vfs:amd64 (1.4.2~20121213-2build1), linux-modules-extra-6.8.0-53-generic:amd64 (6.8.0-53.55)
End-Date: 2025-03-06  13:42:14

Mit der Entfernung der manuell installierten Pakete tk und tk8.6 hast Du apt autoremove ja auch nicht beauftragt und manuell installierte Pakete werden nie per apt autoremove automatisch entfernt, wie man in der Manpage von apt lesen kann:

Pakete, die Sie explizit per install installiert haben, werden niemals zum automatischen
Entfernen vorgeschlagen.

rklm Team-Icon

Projektleitung
(Themenstarter)

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13127

kB schrieb:

Mit der Entfernung der manuell installierten Pakete tk und tk8.6 hast Du apt autoremove ja auch nicht beauftragt

Die sind nicht manuell installiert sondern als Abhängigkeiten (s.o.). Wenn sie manuell installiert wären, dann würde apt auto-remove tk tk8.6 sie auch nicht entfernen, was aber passiert ist (wieder s.o.).

Ruth-Wies

Avatar von Ruth-Wies

Anmeldungsdatum:
12. April 2023

Beiträge: 265

Wohnort: im Exil ;(

Ja, schwer zu sagen. Bei mir wurde bei dem Versuch das nachzustellen zusätzlich noch libtk8.6 installiert. Mit anderen Worten habe ich eine andere Ausgangssituation.

Bei purge visual-regexp wird mitgeteilt, dass tcl-vfs automatisch installiert wurde und nicht mehr gebraucht wird. Folgerichtig wird es beim ersten autoremove auch entfernt, ohne dass weitere Pakete benannt werden. Weiteres Anwenden von autoremove bringt dann auch nichts.

Die Abhängigkeiten lassen sich noch relativ einfach darstellen.

  • visual-regexp

    • tcl-vfs

    • tk

      • tk8.6

        • libtk8.6

Also reduziert sich zunächst die Frage darauf, warum tk nicht automatisch entfernt wird.

1
2
3
4
5
ruth@wies:~$ apt-cache rdepends --installed tk
tk
Reverse Depends:
  printer-driver-foo2zjs-common
ruth@wies:~$

printer-driver-foo2zjs-common gehört zum Lieferumfang ein jeden Ubuntuderivats. Und bei diesem Paket ist unter/als Suggests tatsächlich tk eingetragen. Das reicht wohl aus, dass autoremove nicht greift.

Beim manuellem Entfernen von tk werden tk8.6 (und bei mir auch libtk8.6) als überflüssig benannt.

Antworten |