|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 10393
Wohnort: Münster
|
Berlin_1946 schrieb: […] Dank eurer Posts (Ruth-Wies und kB) bin ich der Meinung der Beitrag sollte ins Archiv.
Das hilft nur begrenzt. Wenn der 1000-Tatzelwurm unsauber arbeitet (was ich jedenfalls befürchte), ändert sich das nicht durch seine Verbannung ins Archiv. Eine Warnung bleibt erforderlich.
|
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 10393
Wohnort: Münster
|
Berlin_1946 schrieb: […] Das finde ich so interessant. Habe ich noch nicht als Tipp im Wiki gefunden.
Nicht alles, was man im Kopf der Ausgabe von dpkg lesen kann, muss auch im Wiki wiederholt werden:
$ LANG= dpkg -l 'linux-*generic*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-================================================-===================-============-=========================================
ii linux-generic-hwe-24.04 7.0.0-42.42~24.04.1 amd64 Complete Generic Linux kernel and headers
rc … rc kennzeichnen also bei der gewünschten Entfernung (remove) des Paketes zurückgebliebene Konfigurationsdateien, in der Regel ohne Wert.
|
|
Ruth-Wies
Anmeldungsdatum: 12. April 2023
Beiträge: 1011
Wohnort: im Exil ;(
|
a) Es ist verkehrt, den Artikel als fehlerhaft zu deklarieren, weil man die Einzeiler und ihr Zusammenwirken nicht versteht. Die Erzeugung der Liste ist nur ein Teil der Aufgabe, die von dem ersten Einzeiler erledigt wird. Das richtig spannende erfolgt mit dem zweiten Einzeiler, indem man die erzeugte Liste der Paketverwaltung übergibt. Das scheint sich keiner getraut zu haben. 😢 (ggf. aus gutem Grund – s. u.) b) Ich greife meinen Gedanken von 9514437 auf, denn er ist dem Kern auf der Spur. Sollte man eine älteren Kernel im GRUB ausgewählt und gestartet haben, dann werden über uname -r … eben dieser aktive Kernel bei der Erstellung der Liste heraus genommen. Der Einzeiler weiß ja nicht, dass dieser Kernel nicht der aktuelle ist, sondern nur dass dieser aktiv ist. Nachdem nun nur der aktive Kernel heraus gefiltert wurde, verbleiben sämtliche anderen, installierten Kernel in der Liste und würden zur Deinstallation an den zweiten Einzeiler manuell weitergereicht. Weil nun aber der aktuelle Kernel entfernt werden soll, wird die Paketverwaltung auch die Metapakete entfernen, weil deren Abhängigkeit(en) nicht mehr erfüllt sind. Es ist also völlig egal, ob man bei der Erstellung der Liste die Metapakete herausfiltert oder nicht. Fazit: Die Bezeichnung als „Alte Kernel entfernen“ ist nur unter der Prämisse richtig, dass man den aktuellen Kernel gestartet hat (auch wenn dies der kosmische Normalfall sein sollte). Richtiger und ohne Einschränkung formuliert sollte der Artikel „Alle Kernel außer dem aktiven entfernen“ heißen.
|
|
Berlin_1946
Supporter, Wikiteam
Anmeldungsdatum: 18. September 2009
Beiträge: 10867
|
kB schrieb: Eine Warnung bleibt erforderlich.
👍
|
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 10393
Wohnort: Münster
|
Ruth-Wies schrieb: […] Die Bezeichnung als „Alte Kernel entfernen“ ist nur unter der Prämisse richtig, dass man den aktuellen Kernel gestartet hat (auch wenn dies der kosmische Normalfall sein sollte). Richtiger und ohne Einschränkung formuliert sollte der Artikel „Alle Kernel außer dem aktiven entfernen“ heißen.
Ich habe das Wort „Alte“ aus dem Titel entfernt. Nun Baustelle.
|
|
Berlin_1946
Supporter, Wikiteam
Anmeldungsdatum: 18. September 2009
Beiträge: 10867
|
Ruth-Wies schrieb: Alle Kernel außer dem aktiven entfernen“ heißen.
das finde ich eine super Idee. Deine Gedanken im Fazit sind doch eigentlich dann berücksichtigt wenn das Zuerst ermittelt man den aktiven Kernel, damit dieser nicht versehentlich entfernt wird:
Durch das ersetzt wird:
"Zuerst ermittelt man, ob der aktive/laufende Kernel auch der neueste installierte Kernel ist. echo "Laufender Kernel: $(uname -r)" && echo "Neuester installierter Kernel: $(dpkg -l | grep -E '^ii linux-image-[0-9]' | awk '{print $2}' | sed 's/linux-image-//' | sort -V | tail -n1)"
"Fehler"
mate-vm-26@mate26-VirtualBox:~$ echo "Laufender Kernel: $(uname -r)" && echo "Neuester installierter Kernel: $(dpkg -l | grep -E '^ii linux-image-[0-9]' | awk '{print $2}' | sed 's/linux-image-//' | sort -V | tail -n1)"
Laufender Kernel: 7.0.0-38-generic
Neuester installierter Kernel: 7.0.0-42-generic
mate-vm-26@mate26-VirtualBox:~$
OK
mate-vm-26@mate26-VirtualBox:~$ echo "Laufender Kernel: $(uname -r)" && echo "Neuester installierter Kernel: $(dpkg -l | grep -E '^ii linux-image-[0-9]' | awk '{print $2}' | sed 's/linux-image-//' | sort -V | tail -n1)"
Laufender Kernel: 7.0.0-42-generic
Neuester installierter Kernel: 7.0.0-42-generic
mate-vm-26@mate26-VirtualBox:~$
Ein weiterer Vorschlag ist, das hier benutzen
apt policy linux-generic 'linux-generic-hwe-*'
an Stelle von
apt policy linux-generic linux-generic-hwe-22.04 linux-generic-hwe-24.04 linux-generic-hwe-26.04
|
|
Ruth-Wies
Anmeldungsdatum: 12. April 2023
Beiträge: 1011
Wohnort: im Exil ;(
|
Meine Änderung im Wiki war auf die Schnelle und ist nicht in Stein gemeißelt.
Ein weiterte Vorschla ist das hier benutzen
Das berücksichtigt nur den HWE-Kernel, aber nicht den LTS (der mittlerweile „GA“ heißt).
Da gab es schon mal einen schlanken Ansatz vor drei Jahren: kB schrieb: Konkret ermittelt man den aktuell laufenden Kernel und eine Liste aller installierten Kernel ganz einfach mit diesen Befehlen:
uname -r
linux-version list
Die Ausgabe von linux-version list ist soweit ich das beobachtet habe sortiert; Der aktuelle steht bei mir zumindest unten.
Ebenfalls vor drei Jahren: kB schrieb: rklm schrieb: Inwiefern wird das Skript überhaupt gebraucht? Mit auto-remove werden alte Kernel bei mir zuverlässig entfernt.
Der Artikel stammt wohl aus weit zurück liegenden Zeiten, als „auto-remove für alte Kernel“ noch nicht fest in die Aktualisierungsprozedur eingebaut war.
Genau! Es gab auch mal im Paket byobu ein Skript, dass alte Kernel entfernt hat, aber seit ca. 10 Jahren ruft dieses Skript auch bloß autoremove auf.
PS: Artikel ist seit einer Stunde in der Baustelle, mal sehen was kB daraus macht.
|
|
Berlin_1946
Supporter, Wikiteam
Anmeldungsdatum: 18. September 2009
Beiträge: 10867
|
Hallo in die Runde. mein Vorschlag. mate-vm-26@mate26-VirtualBox:~$ apt policy linux-generic 'linux-generic-hwe-*'| cat
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
linux-generic:
Installiert: 7.0.0-42.42
Installationskandidat: 7.0.0-42.42
Versionstabelle:
*** 7.0.0-42.42 500
500 http://de.archive.ubuntu.com/ubuntu resolute-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu resolute-security/main amd64 Packages
100 /var/lib/dpkg/status
7.0.0-14.14 500
500 http://de.archive.ubuntu.com/ubuntu resolute/main amd64 Packages
linux-generic-hwe-24.04:
Installiert: 7.0.0-42.42
Installationskandidat: 7.0.0-42.42
Versionstabelle:
*** 7.0.0-42.42 500
500 http://de.archive.ubuntu.com/ubuntu resolute-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu resolute-security/main amd64 Packages
100 /var/lib/dpkg/status
7.0.0-14.14 500
500 http://de.archive.ubuntu.com/ubuntu resolute/main amd64 Packages
linux-generic-hwe-26.04:
Installiert: 7.0.0-42.42
Installationskandidat: 7.0.0-42.42
Versionstabelle:
*** 7.0.0-42.42 500
500 http://de.archive.ubuntu.com/ubuntu resolute-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu resolute-security/main amd64 Packages
100 /var/lib/dpkg/status
7.0.0-14.14 500
500 http://de.archive.ubuntu.com/ubuntu resolute/main amd64 Packages
linux-generic-hwe-24.04-edge:
Installiert: (keine)
Installationskandidat: 7.0.0-42.42
Versionstabelle:
7.0.0-42.42 500
500 http://de.archive.ubuntu.com/ubuntu resolute-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu resolute-security/main amd64 Packages
7.0.0-14.14 500
500 http://de.archive.ubuntu.com/ubuntu resolute/main amd64 Packages
linux-generic-hwe-26.04-edge:
Installiert: (keine)
Installationskandidat: 7.0.0-42.42
Versionstabelle:
7.0.0-42.42 500
500 http://de.archive.ubuntu.com/ubuntu resolute-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu resolute-security/main amd64 Packages
7.0.0-14.14 500
500 http://de.archive.ubuntu.com/ubuntu resolute/main amd64 Packages
mate-vm-26@mate26-VirtualBox:~$
Damit ist dann auch zu sehen ob und was gerade geladen und installiert ist.
|
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 10393
Wohnort: Münster
|
Ruth-Wies schrieb: […] Die Ausgabe von linux-version list ist soweit ich das beobachtet habe sortiert; Der aktuelle steht bei mir zumindest unten.
Leider kann man sich darauf nicht verlassen. Ich habe hier ein Gegenbeispiel:
$ linux-version list
4.15.0-156-generic
4.15.0-20-generic
4.15.0-213-generic
4.19.101-0419101-generic
4.19.31-041931-generic
4.19.53-041953-generic Die Ausgabe mag zwar sortiert sein, aber jedenfalls nicht numerisch (woraus man dann auf das Alter schließen könnte), sondern vielleicht lexikographisch (was im Hinblick auf eine Altersbestimmung Murks ist).
|
|
Ruth-Wies
Anmeldungsdatum: 12. April 2023
Beiträge: 1011
Wohnort: im Exil ;(
|
Mir ist noch eine Bedingung eingefallen, bei der die bisherige Kombination der Einzeiler ungut arbeitet. Wenn man gerade erst die Paketquellen aufgefrischt hat und eine Aktualisierung des Kernels ansteht, aber man vor deren Installation noch das Aufräumen nachholen möchte, dann können die Metapakete für den aktuellen HWE-Kernel nicht über uname herausgefilert werden. Dies könnte man durch einen fünften sed-Teil noch abfangen. '/hwe/d' .
kB schrieb: Leider kann man sich darauf nicht verlassen. Ich habe hier ein Gegenbeispiel:
Das erklärt auch, warum in der manpage ein Beispiel für das Sortieren enthalten ist. Vereinfacht würde es dies bedeuten: linux-version list | linux-version sort .
In der derzeitigen Fassung des Artikels steht:
Den neusten Kernel sollte man in der Regel auch nicht entfernen, ausgenommen, das ist genau der, welcher nach einem misslungenen Update Probleme verursacht.
Äh, bei Entfernen des neuesten Kernel werden allerdings auch die Metapakete entfernt, weil deren Abhängigkeiten durch diese Paketaktion nicht mehr erfüllt sind. Im Folgenden muss man sich manuell um Aktualisierungen kümmern. Da sollte man m. E. lieber im GRUB die Reihenfolge ändern, damit man über die Paketverwaltung mitbekommt, wenn die nächste Aktualisierung erfolgt. Danach über GRUB manuell testen und ggf. wieder auf Standard gehen.
|
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 10393
Wohnort: Münster
|
Ruth-Wies schrieb: […]
linux-version list | linux-version sort
Wie geil ist das denn? Danke für den Hinweis. Werde ich einbauen, auch wenn ich vermute, dass das zwar besser, aber immer noch nicht perfekt ist.
[…] bei Entfernen des neuesten Kernel werden allerdings auch die Metapakete entfernt, weil deren Abhängigkeiten durch diese Paketaktion nicht mehr erfüllt sind.
Ja, das stimmt. Danke für den Hinweis. Hatte ich bisher übersehen.
|
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 10393
Wohnort: Münster
|
kB schrieb: […] Nun Baustelle
Ich bin fertig mit meiner Überarbeitung und stelle die neue Fassung hiermit zur Diskussion, in der Hoffnung, dass sie nützlicher als die bisherige 1000-Tatzelwurm-Zucht sein möge.
|
|
Thomas_Do
Moderator
Anmeldungsdatum: 24. November 2009
Beiträge: 8975
|
Der Artikel hat noch den Tag für getestet Bionic. Könnte/sollte weg?
|
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 10393
Wohnort: Münster
|
Thomas_Do schrieb: Der Artikel hat noch den Tag für getestet Bionic.
Ich sehe in den Metadaten so etwas nicht, sondern nur: „getestet: general“ Und das ist so beabsichtigt.
|
|
Thomas_Do
Moderator
Anmeldungsdatum: 24. November 2009
Beiträge: 8975
|
Vielleicht bin ich ja zu blöd aber ich sehe: [[Vorlage( Getestet-general-ab, 18.04 ) ]]
|