Paket kann per autoremove nicht entfernt werden, obwohl es "auto" markiert ist.

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
tabletennisskisrugby
Beiträge: 12
Registriert: 09.08.2024 10:30:31

Paket kann per autoremove nicht entfernt werden, obwohl es "auto" markiert ist.

Beitrag von tabletennisskisrugby » 17.01.2025 14:10:44

Hallo Leute!
Mir ist bei meiner Debian-Mate-Trixie-Installation das Programmm "apvlv" aufgefallen, welches ich nie installiert habe. Also habe ich nachgesehen, wovon es abhängt. Also von keinem Paket.

Code: Alles auswählen

apt-cache rdepends --installed apvlv
apvlv
Reverse Depends:
Danach habe ich mir angesehen, ob es automatisch installiert wurde. Das ist der Fall.

Code: Alles auswählen

apt-mark showauto apvlv
apvlv
Zu guter Letzt wollte ich es per "apt autoremove" entfernen lassen. Das hat leider nicht funktioniert.

Code: Alles auswählen

apt autoremove
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
Ich kann es selbst deinstallieren. Das funktioniert.

Code: Alles auswählen

apt purge apvlv
Wenn ich es jedoch wieder installiere und den Mark auf "auto" setze, wird es mit autoremove wieder nicht entfernt.

Code: Alles auswählen

apt install apvlv
apt-mark auto apvlv
apt autoremove
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
Das hat mich sehr verwirrt. Was kann ich tun, um den Fehler zu finden? Wenn ich das mit einem anderen Paket mache, es z.B. installiere, die Markierung auf "auto" setze und dann ein "autoremove" mache, wird es wieder deinstalliert.

Vielen Dank im Voraus.
LG

Benutzeravatar
thunder11
Beiträge: 2502
Registriert: 19.04.2023 09:08:30

Re: Paket kann per autoremove nicht entfernt werden, obwohl es "auto" markiert ist.

Beitrag von thunder11 » 17.01.2025 14:26:33

Es gibt hunderte Pakete, die keine weiteren Abhängigkeiten haben.
Warum also soll apt ein solches Paket entfernen, wenn es nicht Aufgrund von anderen Abhängigkeiten
"übriggeblieben" (verweist) ist ?
aus der man-Page:
autoremove (apt-get(8))
autoremove wird benutzt, um Pakete zu entfernen, die automatisch installiert wurden, um Abhängigkeiten für andere Pakete zu erfüllen und die
nicht mehr benötigt werden, da sich die Abhängigkeiten geändert haben oder die Pakete, die sie benötigten, in der Zwischenzeit entfernt
wurden.
Wenn ich das mit einem anderen Paket mache, es z.B. installiere, die Markierung auf "auto" setze und dann ein "autoremove" mache, wird es wieder deinstalliert.
Das kann ich mir nicht vorstellen. Da wäre mal etwas Konkretes als Beispiel an zuführen.
Ich weiß auch nicht warum man mit "apt-mark" herumspielen muss, außer wenn man ein Paket auf "hold" setzen will :?:

EDIT

Wenn das ausgeführt werden würde, gäbe es ja ein richtiges Schlachtfest mit dem Ergebnis: System kapuuut 8O

Code: Alles auswählen

thunder@XFCE:~$ apt-mark showauto|wc -l
2861

Code: Alles auswählen

thunder@XFCE:~$ apt-mark showmanual|wc -l
768

Code: Alles auswählen

thunder@XFCE:~$ apt-mark showhold|wc -l
0

Benutzeravatar
hikaru
Moderator
Beiträge: 14038
Registriert: 09.04.2008 12:48:59

Re: Paket kann per autoremove nicht entfernt werden, obwohl es "auto" markiert ist.

Beitrag von hikaru » 17.01.2025 14:59:38

Hier funktioniert das autoremove von Debianapvlv: NoPaste-Eintrag42300
thunder11 hat geschrieben: ↑ zum Beitrag ↑
17.01.2025 14:26:33
Es gibt hunderte Pakete, die keine weiteren Abhängigkeiten haben.
Warum also soll apt ein solches Paket entfernen, wenn es nicht Aufgrund von anderen Abhängigkeiten
"übriggeblieben" (verweist) ist ?
Die Einemillion-Kekse-Frage lautet hier: Ist das Pakt verwaist (sic)?
Bei mir schon, ich habe es ja nur für diesen Test installiert, und offenbar auch sonst keine Pakete installiert, die es empfehlen (recommends) oder vorschlagen (sugggests). Bei tabletennisskisrugby ist das möglicherweise nicht der Fall.

apt rdepends gibt darüber Auskunft. Hier mal am Beispiel von Debianmousepad:

Code: Alles auswählen

# apt rdepends mousepad
mousepad
Reverse Depends:
 |Schlägt vor: claws-mail
 |Schlägt vor: claws-mail
  Hängt ab von: xfce4-goodies
  Empfiehlt: task-xfce-desktop
 |Hängt ab von: lxde
  Hängt ab von: parl-desktop
  
apvlv hat bei mir keine Reverse Depends:

Code: Alles auswählen

# apt rdepends apvlv
apvlv
Reverse Depends:
Aber mit den richtigen Fremdquellen sieht das vielleicht anders aus.

Benutzeravatar
thunder11
Beiträge: 2502
Registriert: 19.04.2023 09:08:30

Re: Paket kann per autoremove nicht entfernt werden, obwohl es "auto" markiert ist.

Beitrag von thunder11 » 17.01.2025 15:12:23

Das ist doch nun wirklich akademisch. Debianapvlv
hat einen Haufen Abhängigkeiten die wahrscheinlich schon installiert waren, bzw. in Abhängigkeit zu anderen Paketen installiert wurden. Auf jeden Fall wurde das nicht erwähnt.

Code: Alles auswählen

apt depends apvlv
apvlv
  Hängt ab von: libc6 (>= 2.38)
  Hängt ab von: libdjvulibre21 (>= 3.5.28)
  Hängt ab von: libfreetype6 (>= 2.6)
  Hängt ab von: libgcc-s1 (>= 3.0)
  Hängt ab von: libgumbo2 (>= 0.12.0)
  Hängt ab von: libharfbuzz0b (>= 0.9.42)
  Hängt ab von: libjbig2dec0 (>= 0.16+20190905)
  Hängt ab von: libjpeg62-turbo (>= 1.3.1)
  Hängt ab von: libmujs3 (>= 1.0.7)
  Hängt ab von: libopenjp2-7 (>= 2.0.0)
  Hängt ab von: libqt6core6t64 (>= 6.7.2)
  Hängt ab von: libqt6gui6 (>= 6.7.2)
  Hängt ab von: libqt6pdf6 (>= 6.6.0)
  Hängt ab von: libqt6pdfwidgets6 (>= 6.6.0)
  Hängt ab von: libqt6webenginecore6 (>= 6.6.0)
  Hängt ab von: libqt6webenginecore6-bin (>= 6.6.0)
  Hängt ab von: libqt6webenginewidgets6 (>= 6.6.0)
  Hängt ab von: libqt6widgets6 (>= 6.3.0)
  Hängt ab von: libquazip1-qt6-1t64 (>= 1.4)
  Hängt ab von: libstdc++6 (>= 14)
  Hängt ab von: libtesseract5 (>= 5.3.4)
  Hängt ab von: zlib1g (>= 1:1.2.0)
  Empfiehlt: tesseract-ocr-chi-sim
  Empfiehlt: tesseract-ocr-eng
  Schlägt vor: poppler-data
Wenn ich nun Debianapvlv installiere, ist das kein "verweistes" sondern ein zusätzlich installiertes Paket.
Wäre ja schlimm, wenn das dann einfach weggeholzt würde.
Gut das apt sowas bemerkt. :THX:
Z.B. die meisten Firmware Paket wären demnach dann ganz schnell futsch. :twisted:

Bei mir sieht das so aus:

Code: Alles auswählen

apt install apvlv
Installing:                                 
  apvlv

Installing dependencies:
  isa-support  libqt6pdfwidgets6   libqt6webchannel6      libqt6webenginecore6      libqt6webenginewidgets6  sse3-support
  libqt6pdf6   libqt6positioning6  libqt6webengine6-data  libqt6webenginecore6-bin  libquazip1-qt6-1t64      tesseract-ocr-chi-sim

Summary:
  Upgrading: 0, Installing: 13, Removing: 0, Not Upgrading: 2
  Download size: 112 MB
  Space needed: 318 MB / 26,7 GB available
Sinnloses Intermezzo:

Code: Alles auswählen

apt-mark auto apvlv 
apvlv wurde als automatisch installiert festgelegt.
Korrekte Reaktion von apt ;

Code: Alles auswählen

apt autoremove
Summary:                                    
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 2
Aber

Code: Alles auswählen

apt remove apvlv
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  isa-support  libqt6pdfwidgets6   libqt6webchannel6      libqt6webenginecore6      libqt6webenginewidgets6  sse3-support
  libqt6pdf6   libqt6positioning6  libqt6webengine6-data  libqt6webenginecore6-bin  libquazip1-qt6-1t64      tesseract-ocr-chi-sim
Verwenden Sie »apt autoremove«, um sie zu entfernen.

REMOVING:
  apvlv

Summary:
  Upgrading: 0, Installing: 0, Removing: 1, Not Upgrading: 2
  Freed space: 48,7 MB
dann:

Code: Alles auswählen

apt autopurge
REMOVING:                                   
  isa-support*  libqt6pdfwidgets6*   libqt6webchannel6*      libqt6webenginecore6*      libqt6webenginewidgets6*  sse3-support*
  libqt6pdf6*   libqt6positioning6*  libqt6webengine6-data*  libqt6webenginecore6-bin*  libquazip1-qt6-1t64*      tesseract-ocr-chi-sim*

Summary:
  Upgrading: 0, Installing: 0, Removing: 12, Not Upgrading: 2
  Freed space: 269 MB
Zuletzt geändert von thunder11 am 17.01.2025 15:26:20, insgesamt 2-mal geändert.

tabletennisskisrugby
Beiträge: 12
Registriert: 09.08.2024 10:30:31

Re: Paket kann per autoremove nicht entfernt werden, obwohl es "auto" markiert ist.

Beitrag von tabletennisskisrugby » 17.01.2025 15:15:31

Selbstverständlich habe ich Backups. Es geht mir nur darum, mehr Verständnis für die Paketverwaltung zu entwickeln und wenn eine Ungereimtheit auftaucht, versuche ich, dem nachzugehen.
Zu dem Beispiel:

Code: Alles auswählen

apt install 2048
Installing:                                 
  2048

Summary:
  Upgrading: 0, Installing: 1, Removing: 0, Not Upgrading: 0
  Download size: 14,8 kB
  Space needed: 46,1 kB / 21,0 GB available

Holen:1 https://deb.debian.org/debian trixie/main amd64 2048 amd64 1.0.0-1 [14,8 kB]
Es wurden 14,8 kB in 0 s geholt (145 kB/s).
Vormals nicht ausgewähltes Paket 2048 wird gewählt.
(Lese Datenbank ... 312230 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../2048_1.0.0-1_amd64.deb ...
Entpacken von 2048 (1.0.0-1) ...
2048 (1.0.0-1) wird eingerichtet ...
Trigger für desktop-file-utils (0.28-1) werden verarbeitet ...
Trigger für mate-menus (1.26.1-1) werden verarbeitet ...
Trigger für man-db (2.13.0-1) werden verarbeitet ...
Trigger für mailcap (3.74) werden verarbeitet ...

Code: Alles auswählen

apt-mark showmanual 2048
2048

Code: Alles auswählen

apt autoremove
Summary:                                    
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0

Code: Alles auswählen

apt-mark auto 2048
2048 wurde als automatisch installiert festgelegt

Code: Alles auswählen

apt autoremove
REMOVING:                                   
  2048

Summary:
  Upgrading: 0, Installing: 0, Removing: 1, Not Upgrading: 0
  Freed space: 46,1 kB

Continue? [J/n] j
(Lese Datenbank ... 312240 Dateien und Verzeichnisse sind derzeit installiert.)
Entfernen von 2048 (1.0.0-1) ...
Trigger für mate-menus (1.26.1-1) werden verarbeitet ...
Trigger für man-db (2.13.0-1) werden verarbeitet ...
Trigger für mailcap (3.74) werden verarbeitet ...
Trigger für desktop-file-utils (0.28-1) werden verarbeitet ...
Ich dachte immer, damit "autoremove" greift, müssen zwei Dinge erfüllt sein, sonst handelt es sich um ein verwaistes Paket, nämlich, die "Automarkierung" muss gesetzt sein und es darf keine übergeordnete Abhängigkeit geben. Soweit ich das sehe, sind beide Punkte bei "apvlv" und "2028" erfüllt. Was übersehe ich?

Benutzeravatar
MSfree
Beiträge: 11901
Registriert: 25.09.2007 19:59:30

Re: Paket kann per autoremove nicht entfernt werden, obwohl es "auto" markiert ist.

Beitrag von MSfree » 17.01.2025 15:18:30

thunder11 hat geschrieben: ↑ zum Beitrag ↑
17.01.2025 15:12:23
Wenn ich nun Debianapvlv installiere, ist das kein "verweistes" sondern ein zusätzlich installiertes Paket.
Wäre ja schlimm, wenn das dann einfach weggeholzt würde.
apt autoremove entfernt keine Pakete, die als "manual" markiert sind. Da alle Pakete, die du mit explizit mit apt(-get) install installierst, als "manual" markiert sind, passiert da auch nichts beim autoremove.

Benutzeravatar
thunder11
Beiträge: 2502
Registriert: 19.04.2023 09:08:30

Re: Paket kann per autoremove nicht entfernt werden, obwohl es "auto" markiert ist.

Beitrag von thunder11 » 17.01.2025 15:36:06

MSfree hat geschrieben: ↑ zum Beitrag ↑
17.01.2025 15:18:30
apt autoremove entfernt keine Pakete, die als "manual" markiert sind. Da alle Pakete, die du mit explizit mit apt(-get) install installierst, als "manual" markiert sind, passiert da auch nichts beim autoremove.
Ich hatte das aber als "auto" makiert :!:

Warum das bei Debian2048 passiert, entzieht sich meinem Verständnis.

Edit und Rolle rückwärts

Code: Alles auswählen

apt-mark auto xpad
xpad wurde als automatisch installiert festgelegt.

Code: Alles auswählen

root@XFCE:~# apt autoremove
REMOVING:                                   
  xpad

Summary:
  Upgrading: 0, Installing: 0, Removing: 1, Not Upgrading: 2
  Freed space: 461 kB
Von meinem Verständnis ist das ein BUG. Das dürfte nach der Definition nicht sein.
autoremove (apt-get(8))
autoremove wird benutzt, um Pakete zu entfernen, die automatisch installiert wurden, um Abhängigkeiten für andere Pakete zu erfüllen und die
nicht mehr benötigt werden, da sich die Abhängigkeiten geändert haben oder die Pakete, die sie benötigten, in der Zwischenzeit entfernt
wurden.

Benutzeravatar
hikaru
Moderator
Beiträge: 14038
Registriert: 09.04.2008 12:48:59

Re: Paket kann per autoremove nicht entfernt werden, obwohl es "auto" markiert ist.

Beitrag von hikaru » 17.01.2025 15:56:20

thunder11 hat geschrieben: ↑ zum Beitrag ↑
17.01.2025 15:12:23
Das ist doch nun wirklich akademisch. Debianapvlv
hat einen Haufen Abhängigkeiten die wahrscheinlich schon installiert waren, bzw. in Abhängigkeit zu anderen Paketen installiert wurden. Auf jeden Fall wurde das nicht erwähnt.
Vorsicht! Es geht nicht um die Pakete, von denen Debianapvlv abhängt, sondern um die Pakete, die von Debianapvlv abhängen - also genau den umgekehrten Fall, daher auch "Reverse Depends".
thunder11 hat geschrieben: ↑ zum Beitrag ↑
17.01.2025 15:12:23
Wenn ich nun Debianapvlv installiere, ist das kein "verweistes" sondern ein zusätzlich installiertes Paket.
Aber es wird zum verwaisten Paket, wenn du es als automatisch installiert markierst, und es keine weiteren Pakete auf deinem System gibt, die davon abhängen, es empfehlen oder vorschlagen (kurz: referenzieren). Und nur in diesem Fall ergibt es durchaus Sinn, dass apt es dann "wegholzt". Das ist der ganze Sinn von autoremove.
thunder11 hat geschrieben: ↑ zum Beitrag ↑
17.01.2025 15:12:23
Sinnloses Intermezzo:

Code: Alles auswählen

apt-mark auto apvlv 
apvlv wurde als automatisch installiert festgelegt.
Nein, überhaupt nicht sinnlos.
thunder11 hat geschrieben: ↑ zum Beitrag ↑
17.01.2025 15:12:23
Korrekte Reaktion von apt ;

Code: Alles auswählen

apt autoremove
Summary:                                    
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 2
Die Reaktion ist nur dann korrekt, wenn du mindestens ein Paket auf deinem System hast, das Debianapvlv referenziert, z.B. in Form einer alternativen Empfehlung (auch in Form eines virtuellen Pakets), weil das Programm meint, es sei sinnvoll, irgendeinen PDF-Viever an Bord zu haben, sich aber nicht wirklich darum schert, welcher das ist.
Debianapvlv stellt z.B. das virtuelle Paket Debianpdf-viewer bereit (provides). Und ich nehme stark an, dass du irgendein Programm auf deienm System hast, das dieses virtuelle Paket referenziert.

Benutzeravatar
Huo
Beiträge: 831
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Paket kann per autoremove nicht entfernt werden, obwohl es "auto" markiert ist.

Beitrag von Huo » 17.01.2025 16:36:49

Ich erkläre mir das so, dass Debianapvlv von einem oder mehreren anderen Paketen vorgeschlagen (suggests) wird. Um apvlv per "autoremove" entfernen zu lassen, müssen diese Vorschläge explizit übergangen werden:

Code: Alles auswählen

apt -o "Apt::AutoRemove::SuggestsImportant=false" autoremove

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Paket kann per autoremove nicht entfernt werden, obwohl es "auto" markiert ist.

Beitrag von tobo » 17.01.2025 17:11:58

Huo hat geschrieben: ↑ zum Beitrag ↑
17.01.2025 16:36:49

Code: Alles auswählen

apt -o "Apt::AutoRemove::SuggestsImportant=false" autoremove
Neben suggests ist recommends mindestens genauso wahrscheinlich, weil da der Installationsdefault auf true steht.

Als Lesestoff für die Optionen:
https://www.debian.org/doc/manuals/apti ... 05.en.html

Antworten