'~$ dpkg --get-selections' gibt aus: "deinstall"

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
bullgard
Beiträge: 1538
Registriert: 14.09.2012 23:03:01

'~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von bullgard » 30.03.2021 18:22:31

Hallo debianforum.de,
[Debian stable]

Code: Alles auswählen

~$ dpkg --get-selections
gibt aus:
linux-image-4.19.0-10-amd64 deinstall
linux-image-4.19.0-11-amd64 deinstall
linux-image-4.19.0-12-amd64 deinstall
linux-image-4.19.0-13-amd64 deinstall
linux-image-4.19.0-14-amd64 install
linux-image-4.19.0-16-amd64 install
linux-image-4.19.0-5-amd64 deinstall
linux-image-4.19.0-6-amd64 deinstall
linux-image-4.19.0-8-amd64 deinstall
linux-image-4.19.0-9-amd64 deinstall
linux-image-4.9.0-3-amd64 deinstall
linux-image-4.9.0-4-amd64 deinstall
linux-image-4.9.0-5-amd64 deinstall
linux-image-4.9.0-6-amd64 deinstall
linux-image-4.9.0-7-amd64 deinstall
linux-image-4.9.0-8-amd64 deinstall
Wie heißen die verschiedenen linux-image-4.19-Versionen? "Patches"?
Wie werde ich die deinstalls am elegantesten los?
Mit freundlichen Grüßen
bullgard

Apfelmann
Beiträge: 657
Registriert: 15.01.2010 20:48:45
Kontaktdaten:

Re: '~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von Apfelmann » 30.03.2021 18:50:05

man dpkg

Code: Alles auswählen

--get-selections [Paket-Name-Muster …]
           Holt die Liste von Paketauswahlen und schreibt sie in die
           Standardausgabe. Ohne Muster werden nicht-installierte Pakete (d.h.
           solche, die vorher „vollständig gelöscht“ wurden) nicht angezeigt.
man remove und man purge sind für Dich wichtig

Code: Alles auswählen

apt search linux-image
LG

Benutzeravatar
willy4711
Beiträge: 5314
Registriert: 08.09.2018 16:51:16

Re: '~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von willy4711 » 30.03.2021 19:09:36

Wie heißen die verschiedenen linux-image-4.1Versionen? "Patches"?
Aktuell ist linux-image-4.19.0-16-amd64 - Ist ja auch installiert

Ich würde mal denken, das diese Kernel bei dir vorhanden sind ?

Code: Alles auswählen

 ls -l /boot
gibt Auskunft.
Sind da eventuell noch Restbestände vorhanden der Kernel ? - > Nicht gepurgt, sondern nur removed ?

Ich kenne diese Ausgabe von dpkg --get-selections nicht, wenn man nicht was gezielt mit grep gesucht hat.
Bei mir wird da nur "install" ausgegeben
Was sagt denn

Code: Alles auswählen

apt autoremove
?

Code: Alles auswählen

aptitude purge ~c
Würde unvollständig gelöschte Pakete ausgeben.

MSfree
Beiträge: 7210
Registriert: 25.09.2007 19:59:30

Re: '~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von MSfree » 30.03.2021 19:20:33

bullgard hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 18:22:31
Wie heißen die verschiedenen linux-image-4.19-Versionen? "Patches"?
Das sind einfach die Kernel, die seit der Release von Stretch inzwischen aktualisiert wurde.
Wie werde ich die deinstalls am elegantesten los?
z.B. mit:

Code: Alles auswählen

apt-get purge linux-image-4.19.0-10
Wenn du alle 14 überflüssigen Kernel purgest, werden auf deinem System rund 3.5GB Plattenplatz frei.
Zuletzt geändert von Meillo am 30.03.2021 21:26:39, insgesamt 1-mal geändert.
Grund: BB-Code gefixt

Benutzeravatar
willy4711
Beiträge: 5314
Registriert: 08.09.2018 16:51:16

Re: '~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von willy4711 » 30.03.2021 19:36:24

Normalerweise wird das auch durch apt autoremove erledigt. Es bleiben immer nur die zwei letzten übrig.
Wahrscheinlich wurde das aber von ihm noch nie gemacht.
So wir er höchstwahrscheinlich von der Liste "erschlagen" werden

MSfree
Beiträge: 7210
Registriert: 25.09.2007 19:59:30

Re: '~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von MSfree » 30.03.2021 19:49:14

willy4711 hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 19:36:24
Normalerweise wird das auch durch apt autoremove erledigt.
Leider nein. Dank Bullseye habe ich im Moment rund alle 1-2 Wochen das Vergnügen, die "autoremove"-ten Pakete noch zusätzlich purgen zu dürfen.

apt autoremove läßt leider bei Kerneln den kompletten Modulbaum unter /lib/modules stehen, und der hat bis zu 250MB pro Kernel. Erst ein purge löscht die Untervezeichnisse der nicht mehr benötigten Kernel weg.

JTH
Moderator
Beiträge: 1077
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: '~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von JTH » 30.03.2021 19:50:01

Um nicht alle einzeln entfernen zu müssen, hilfts, die Kernel als automatisch installiert zu markieren:

Code: Alles auswählen

~# apt install linux-image-amd64
~# apt-mark auto 'linux-image-*-amd64'
~# apt autoremove --purge
Das Metapaket im ersten Schritt ist vermutlich schon installiert. Den letzten Schritt kann man dann regelmäßig mal ausführen. Dabei drübergucken, was genau deinstalliert wird!

MSfree hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 19:49:14
Erst ein purge löscht die Untervezeichnisse der nicht mehr benötigten Kernel weg.
apt autoremove kennt auch --purge.

Benutzeravatar
willy4711
Beiträge: 5314
Registriert: 08.09.2018 16:51:16

Re: '~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von willy4711 » 30.03.2021 19:56:54

MSfree hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 19:49:14
Leider nein. Dank Bullseye habe ich im Moment rund alle 1-2 Wochen das Vergnügen, die "autoremove"-ten Pakete noch zusätzlich purgen zu dürfen.
Stimmt. Aber ab und zu :
Versuche es mal mit

Code: Alles auswählen

aptitude purge ~c
Schupp weg is es in /lib/modules/. :mrgreen:

bullgard
Beiträge: 1538
Registriert: 14.09.2012 23:03:01

Re: '~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von bullgard » 30.03.2021 22:38:29

Hallo Apfelmann,
Deine Antwort hilft mir nicht weiter:
Apfelmann hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 18:50:05
man dpkg

Code: Alles auswählen

--get-selections [Paket-Name-Muster …]
           Holt die Liste von Paketauswahlen und schreibt sie in die
           Standardausgabe. Ohne Muster werden nicht-installierte Pakete (d.h.
           solche, die vorher „vollständig gelöscht“ wurden) nicht angezeigt.
hatte ich mir vorher durchgelesen, bevor ich hier postete. Wie ist der Begriff »Paketauswahlen« definiert?
Apfelmann hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 18:50:05
man remove und man purge sind für Dich wichtig

Code: Alles auswählen

man remove
und

Code: Alles auswählen

man purge
existieren nicht.
Apfelmann hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 18:50:05

Code: Alles auswählen

apt search linux-image
hatte ich mir ausführlich vor dem Posten hier angesehen.
Mit freundlichen Grüßen
bullgard

bullgard
Beiträge: 1538
Registriert: 14.09.2012 23:03:01

Re: '~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von bullgard » 30.03.2021 23:50:43

Hallo willy,
willy4711 hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 19:09:36
Wie heißen die verschiedenen linux-image-4.1Versionen? "Patches"?
willy4711 hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 19:09:36
Aktuell ist linux-image-4.19.0-16-amd64 - Ist ja auch installiert
Ich würde mal denken, das diese Kernel bei dir vorhanden sind ?
Daß dieses Paket aktuell installiert ist, geht ja schon aus der Ausgabe des Kommandos hervor, das ich angegeben habe in meinem Posting. Da erzählst Du mir hier nichts neues.
willy4711 hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 19:09:36

Code: Alles auswählen

 ls -l /boot
gibt Auskunft.
Worüber gibt mir das bei meinen beiden Fragen Auskunft? Ganz sicher keine direkte Auskunft! Zum Beispiel gibt '$ cat /boot/config-4.19-14-amd64' irre viele Zeilen aus, die die Konfiguration des Kernels4.19.171 betreffen. Diese vielen Zeilen beantworten meine beiden Fragen nicht.
willy4711 hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 19:09:36
Sind da eventuell noch Restbestände vorhanden der Kernel ? - > Nicht gepurgt, sondern nur removed ?
Ja, die sind vorhanden. Dafür habe ich aber nicht von Hand gesorgt; ich habe immer nur '# apt clean', '# apt update' und '# apt-dist-upgrade' eingegeben.
willy4711 hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 19:09:36
Ich kenne diese Ausgabe von dpkg --get-selections nicht, wenn man nicht was gezielt mit grep gesucht hat. Bei mir wird da nur "install" ausgegeben
Bei mir wird da eine ganze Latte Zeilen der Form '<Paketname> <installed|deinstalled>' ausgegeben, von denen ich einen Ausschnitt gepostet habe.
willy4711 hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 19:09:36
Was sagt denn

Code: Alles auswählen

apt autoremove
?
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
willy4711 hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 19:09:36

Code: Alles auswählen

aptitude purge ~c
Würde unvollständig gelöschte Pakete ausgeben.
»…295 Pakete werden entfernt…« Das sind anscheinend alles Pakete, von denen '$ apt search <Paketname>' sagt:
Konfiguration verbleibend.
Bevor ich mich traue, diesen potenten Befehl zu erteilen, müßte ich sicherheitshalber ein backup erstellen. Das würde mir dann aber sehr gut helfen.
Gruß
bullgard

bullgard
Beiträge: 1538
Registriert: 14.09.2012 23:03:01

Re: '~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von bullgard » 31.03.2021 00:22:38

Hallo MSfree,
MSfree hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 19:20:33
Das sind einfach die Kernel, die seit der Release von Stretch inzwischen aktualisiert wurde.
Woher weißt Du? »aktualisiert« heißt ja wohl, "etwas altes wird durch etwas neues ersetzt." In Wirklichkeit ist aber etwas neues hinzugefügt worden. Warum wurde das alte dabei nicht vollständig durch das neue ersetzt, sondern die alten Konfigurationsdateien blieben erhalten?
Wie werde ich die deinstalls am elegantesten los?
MSfree hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 19:20:33
z.B. mit:

Code: Alles auswählen

apt-get purge linux-image-4.19.0-10
Das funktioniert. (Aber 'aptitude purge ~c' ist wahrscheinlich eleganter.) - Vielen Dank!
MSfree hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 19:20:33
Wenn du alle 14 überflüssigen Kernel purgest, werden auf deinem System rund 3.5GB Plattenplatz frei.
Das war ja mein Hauptziel. Ein weiteres Ziel war, mehr Übersichtlichkeit zu gewinnen.
Gruß
bullgard

Benutzeravatar
smutbert
Moderator
Beiträge: 7801
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: '~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von smutbert » 31.03.2021 00:45:27

Das meiste wurde zwar eh schon gesagt, aber vielleicht kann ich mit meinem Beitrag noch ein paar Lücken füllen:
bullgard hat geschrieben: ↑ zum Beitrag ↑
31.03.2021 00:22:38
Warum wurde das alte dabei nicht vollständig durch das neue ersetzt, sondern die alten Konfigurationsdateien blieben erhalten?
Weil Kernel„updates“ keine reinen Updates sind. Aktualisiert wird das Metapaket (zB Debianlinux-image-amd64), das mit seinen Abhängigkeiten für die Installation des eigentlichen Kernelpakets sorgt (damit wird ein zusätzliches Paket installiert, zB Debianlinux-image-4.19.0-16-amd64).

Mit Hilfe der werksseitigen Konfiguraton von apt (im speziellen »/etc/apt/apt.conf.d/01autoremove« und »/etc/apt/apt.conf.d/01autoremove-kernels«) wird so auch der vorige Kernel vor einem autoremove geschützt, damit man nicht nach einem Kernelupdate plötzlich ohne funktionierenden Kernel da steht.

Der Rest ist gleich wie bei allen anderen Paketen:
Ein normales autoremove entfernt das Paket nicht komplett, daher bleiben von alten Kernelpaketen (oder auch anderen Paketen, wenn sie ihren Namen ändern) etwas übrig. Will man das nicht verwendet man einfach die Option --purge

Code: Alles auswählen

apt --purge autoremove
oder

Code: Alles auswählen

apt-get --purge autoremove
bullgard hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 18:22:31
Wie heißen die verschiedenen linux-image-4.19-Versionen? "Patches"?
Das sind die „Debian Revision Numbers“, bei linux-image-4.19.0-10-amd64 ist das also beispielsweise 10.
bullgard hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 22:38:29
hatte ich mir vorher durchgelesen, bevor ich hier postete. Wie ist der Begriff »Paketauswahlen« definiert?
So wie es aktuell aussieht ist die Paketauswahl einfach eine Liste aller installierten oder nicht komplett deinstallierten Pakete (jeweils mit install bzw. deinstall dahinter).

Ursprünglich (und in Zusammenarbeit mit Debiandselect möglicherweise noch immer) habe ich es als Liste durchgeführter und noch geplanter Paketinstallationen und -deinstallationen verstanden. So konnte man mit dselect Pakete zur Installation oder Deinstallation vormerken ohne diese (De)Installation gleich durchzuführen.

Das konnte man später mit deselect oder

Code: Alles auswählen

apt-get dselect-upgrade
nachholen.
bullgard hat geschrieben: ↑ zum Beitrag ↑
30.03.2021 18:22:31
Wie werde ich die deinstalls am elegantesten los?
[...]
Wie bereits gesagt wurde, sind das Pakete, die zwar deinstalliert aber nicht „gepurgt“ wurden. Ein

Code: Alles auswählen

dpkg --list | grep ^rc
sollte dieselben Pakete auflisten, Loswerden kannst du sie indem du sie „purgst“.

Ohne aptitude könntest du dazu zuerst eventuell eine nackte Liste der Paketnamen erstellen

Code: Alles auswählen

dpkg --get-selections | grep "deinstall$" | awk '{print $1 }'
und damit apt purge füttern

Code: Alles auswählen

apt purge $(dpkg --get-selections | grep "deinstall$" | awk '{print $1 }')

Benutzeravatar
towo
Beiträge: 3836
Registriert: 27.02.2007 19:49:44
Lizenz eigener Beiträge: GNU Free Documentation License

Re: '~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von towo » 31.03.2021 07:05:51

Warum die Leute immer so viel tippen ist mir ein Rätsel.

Code: Alles auswählen

apt autopurge
fertig.

MSfree
Beiträge: 7210
Registriert: 25.09.2007 19:59:30

Re: '~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von MSfree » 31.03.2021 08:26:29

towo hat geschrieben: ↑ zum Beitrag ↑
31.03.2021 07:05:51
Warum die Leute immer so viel tippen ist mir ein Rätsel.
Weil nach eine apt-get dist-upgrade folgende Meldung kommt:

Code: Alles auswählen

The following packets are no longer needed, use "apt autoremove" to delete them
Tja, und dann hat man den Salat.

Code: Alles auswählen

apt autopurge
fertig.
Sehr witzig, autopurge und purge sind weder unter man apt noch unter apt --help aufgeführt. Wie soll man denn darauf kommen? :facepalm:

Benutzeravatar
willy4711
Beiträge: 5314
Registriert: 08.09.2018 16:51:16

Re: '~$ dpkg --get-selections' gibt aus: "deinstall"

Beitrag von willy4711 » 31.03.2021 10:11:30

MSfree hat geschrieben: ↑ zum Beitrag ↑
31.03.2021 08:26:29
Sehr witzig, autopurge und purge sind weder unter man apt noch unter apt --help aufgeführt. Wie soll man denn darauf kommen?
Na ganz einfach: du gibst apt (a-z) ein und schaust, was die bash-completion ausspuckt :facepalm:
Wenn du dann was findest, was nicht dokumentiert ist (ich schätze z.Z. das Meiste), einfach testen,
und schaun, was so vom System übrigbleibt :mrgreen:

Code: Alles auswählen

apt auto
autoclean   autopurge   autoremove  
Aha, nun weiß ich es auch :THX:

Antworten