Ebenfalls geprüft. Funktioniert tadellos unter Kubuntu Yak. Das autoremove zu bevorzugen ist, ist zwar einerseits Geschmackssache, sehe ich aber auch so. Wer aber eine sehr kleine Boot-Partition nutzt oder per Standard-Installer nur die 500MB hat, für den ist der Befehl nach wie vor brauchbar.
Skripte/Alte_Kernel_entfernen
Anmeldungsdatum: Beiträge: 12067 |
|
||
Anmeldungsdatum: Beiträge: 6244 Wohnort: Berlin |
Der Fehler lag darin, das das Skript von einem weiteren Skript aufgerufen wurde, in welchem zuvor ein neuer Kernel installiert, zwischendurch aber nicht neu gestartet wurde. Das Überprüfen des Inhalts der Datei "zu_entfernende_Kernel" dürfte dabei unter den Tisch gefallen sein. Der Fehler ist somit eigentlich nicht im Skript sondern zwischen Tastatur und Stuhl zu suchen. |
||
Anmeldungsdatum: Beiträge: 364 |
Also ich denke noch immer, wenn der Ubuntu- Kernel statt auf -generic auf -amd64 enden würde(denn das ist der einzige Unterschied), würde das Skript auf Ubuntu genausowenig funktionieren, auch wenn ich es mangels Skriptkentnissen nicht absolut überprüfen kann, insofern ist da ein hohes Risiko, dass bei der kleinsten Änderung das Skript nicht mehr läuft. Wenn man auf Fremdquellen mit einer Warnung hinweist, sollte man da meiner Meinung nach auch eine Warnung anbringen, denn so ein Skript würde ich jetzt mal mit einer Kettensäge vergleichen, die einem Jungen in die Hand gedrückt wird, dem man vorher nur beigebracht hat, wie man Holz mit dem Taschenmesser schnitzt. Wenn es binär kompiliert wäre, sodass man nicht auf die Idee kommen kann, Anpassungen vorzunehmen, würde ich das etwas anders sehen - zumal man dann eine exakte Überprüfung der Eingaben mit Fehlerbehandlung etc. erwarten kann... Auch wenn man sich darüber sicher streiten kann, besteht aber trotzdem der wesentlichste Punkt meiner Kritik weiterhin. Das Wiki suggeriert, dass das Skript "alte" Kernel entferne. Das tut es aber (wenn ich mich nicht täusche) nicht, sondern es unterstellt, dass der User alle Kernel loswerden möchte, die er gerade nicht in den Arbeitsspeicher geladen hat. Genau das hat nämlich im verlinkten Beitrag dazu geführt, dass der Ersteller des Themas eigentlich unschuldig, da er ja darauf vertraute, was dort wortwörtlich stand, eben den neuen Kernel gelöscht hat. Das bedeutet, dass meiner Meinung nach mindestens da eine Änderung gemacht werden sollte, um solche Missverständnisse künftig zu vermeiden. |
||
Ehemaliger
Anmeldungsdatum: Beiträge: 29455 Wohnort: WW |
Hallo, die Aussage mit (sinngemäß) "mininmale Änderungen - Skript funktioniert vielleicht nicht mehr" ist so generisch, das trifft auf jedes Skript in der Programmiersprache zu. Was man in der Tat einbauen sollte ist, dass das Skript _alle_ Kernal, außer den aktuell geladenen, entfernt. Wenn das tatsächlich so ist, hab's nicht überprüft. Gruß, noisefloor |
||
Anmeldungsdatum: Beiträge: 2943 |
Wenn Canonical das machen würde, dann gäbe es wohl deutlich mehr Probleme. Allerdings ist meines Wissens in nächster Zeit nicht damit zu rechnen, dass Canonical das Benennungsschema der Kernelpakete ändern wird. Aber wenn du einen besseren Regex findest, immer her damit.
Kann man machen. Allerdings ist es im Artikel eigentlich gut erklärt, wie das Skript zu bedienen ist. Und wer den oberen Teil nicht liest, wird vielleicht auch die Warnung nicht lesen.
Es entfernt ja auch die alten Kernel. Wahrscheinlich könnte man auch statistisch belegen, dass die meisten Nutzer den aktuellsten Kernel geladen haben. Sollte der neueste Kernel entfernt werden, wird er mit grosser Wahrscheinlichkeit wieder mit
Nein, der Artikel suggeriert, dass alle aufgelisteten Kernel "Nach Prüfung" entfernt werden, was dann ja auch geschieht.
Meiner Meinung nach, ersetzen "bessere" Wikiartikel nicht das Lesen von bestehenden Artikeln und das Verstehen des Geschriebenen. Allerdings sollte das auch niemanden daran hindern, einen Artikel zu verbessern. |
||
Anmeldungsdatum: Beiträge: 9214 |
für mich klingt das eher nach, neuer Kernel bei einer Aktualisierung und danach keinen Neustart gemacht → änders lässt sich das mMn nicht erklären 😉 Mehrere User haben das jetzt getestet, ich selber mit 14.04, 16.04 und 16.10 - der benutzte Kernel wurde dabei weder bei mir, noch bei den Anderen, entfernt. Du berufst dich auf einen und von dem weißt du auch nur, dass ihm ein Missgeschick passiert ist - die Vorgeschichte ist unbekannt und was das oft geschriebene "ich hab nix gemacht" wert ist, sollte ja auch bekannt sein 😇 |
||
Anmeldungsdatum: Beiträge: 364 |
Ich denke, dass es jetzt verständlich genug ist, und markiere es mal wieder als gelöst. Davon, dass man neu starten und den Kernel wählen soll, den man behalten möchte, steht aber auch nichts da. Ich sehe deshalb auch kein Fehlverhalten, wenn jemand, der vielleicht nicht so viel Ahnung davon hat, wie das technisch abläuft, davon ausgeht, dass das Skript irgendwie weiß, welchen Kernel er behalten möchte etc. Mit dem Hinweis auf den aktuellen Kernel sollte das aber nicht mehr vorkommen. |
||
Anmeldungsdatum: Beiträge: 9214 |
Hi, ich hab gerade mal im Rahmen einer Systempflege auf nem alten 14.04 nach veralteten Konfigurationsleichen geschaut → ~$ dpkg -l | grep linux-image* | grep rc rc linux-image-3.13.0-35-generic 3.13.0-35.62 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-36-generic 3.13.0-36.63 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-37-generic 3.13.0-37.64 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-39-generic 3.13.0-39.66 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-40-generic 3.13.0-40.69 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-43-generic 3.13.0-43.72 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-44-generic 3.13.0-44.73 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-45-generic 3.13.0-45.74 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-46-generic 3.13.0-46.79 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-48-generic 3.13.0-48.80 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-49-generic 3.13.0-49.83 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-51-generic 3.13.0-51.84 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-52-generic 3.13.0-52.86 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-53-generic 3.13.0-53.89 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-54-generic 3.13.0-54.91 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-57-generic 3.13.0-57.95 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-58-generic 3.13.0-58.97 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-59-generic 3.13.0-59.98 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-61-generic 3.13.0-61.100 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-62-generic 3.13.0-62.102 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-63-generic 3.13.0-63.103 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-65-generic 3.13.0-65.106 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-66-generic 3.13.0-66.108 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-68-generic 3.13.0-68.111 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-70-generic 3.13.0-70.113 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-71-generic 3.13.0-71.114 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-73-generic 3.13.0-73.116 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-74-generic 3.13.0-74.118 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-76-generic 3.13.0-76.120 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-77-generic 3.13.0-77.121 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-79-generic 3.13.0-79.123 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-83-generic 3.13.0-83.127 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-85-generic 3.13.0-85.129 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-86-generic 3.13.0-86.131 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-87-generic 3.13.0-87.133 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-88-generic 3.13.0-88.135 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-91-generic 3.13.0-91.138 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-92-generic 3.13.0-92.139 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-93-generic 3.13.0-93.140 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-95-generic 3.13.0-95.142 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-96-generic 3.13.0-96.143 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-3.13.0-98-generic 3.13.0-98.145 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-103-generic 3.13.0-103.150 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-105-generic 3.13.0-105.152 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-106-generic 3.13.0-106.153 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-107-generic 3.13.0-107.154 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-30-generic 3.13.0-30.55 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-32-generic 3.13.0-32.57 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-34-generic 3.13.0-34.60 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-35-generic 3.13.0-35.62 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-36-generic 3.13.0-36.63 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-37-generic 3.13.0-37.64 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-39-generic 3.13.0-39.66 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-40-generic 3.13.0-40.69 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-43-generic 3.13.0-43.72 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-44-generic 3.13.0-44.73 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-45-generic 3.13.0-45.74 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-46-generic 3.13.0-46.79 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-48-generic 3.13.0-48.80 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-49-generic 3.13.0-49.83 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-51-generic 3.13.0-51.84 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-52-generic 3.13.0-52.86 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-53-generic 3.13.0-53.89 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-54-generic 3.13.0-54.91 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-57-generic 3.13.0-57.95 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-58-generic 3.13.0-58.97 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-59-generic 3.13.0-59.98 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-61-generic 3.13.0-61.100 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-62-generic 3.13.0-62.102 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-63-generic 3.13.0-63.103 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-65-generic 3.13.0-65.106 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-66-generic 3.13.0-66.108 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-68-generic 3.13.0-68.111 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-70-generic 3.13.0-70.113 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-71-generic 3.13.0-71.114 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-73-generic 3.13.0-73.116 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-74-generic 3.13.0-74.118 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-76-generic 3.13.0-76.120 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-77-generic 3.13.0-77.121 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-79-generic 3.13.0-79.123 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-83-generic 3.13.0-83.127 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-85-generic 3.13.0-85.129 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-86-generic 3.13.0-86.131 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-87-generic 3.13.0-87.133 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-88-generic 3.13.0-88.135 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-91-generic 3.13.0-91.138 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-92-generic 3.13.0-92.139 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-93-generic 3.13.0-93.140 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-95-generic 3.13.0-95.142 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-96-generic 3.13.0-96.143 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP rc linux-image-extra-3.13.0-98-generic 3.13.0-98.145 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP auf der Suche nach ner Möglichkeit, das möglichst in einem Rutsch zu entfernen, gab ich den unter zu entfernende Kernel ermitteln gelisteten Befehl dpkg -l 'linux-[ihs]*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\([-0-9]*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | tee zu_entfernende_Kernel abgeändert in dpkg -l 'linux-[ihs]*' | sed '/^rc/!d;/'"$(uname -r | sed "s/\([-0-9]*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | tee zu_entfernende_Kernel ein - danach dann, wie im Artikel erwähnt, einfach ein cat zu_entfernende_Kernel | xargs sudo apt-get -y purge ausgeführt → das Ergebniss sieht wie folgt aus frieder@X220:~$ dpkg -l | grep linux-image* | grep rc frieder@X220:~$ dpkg -l | grep linux-image* ii linux-image-3.13.0-108-generic 3.13.0-108.155 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP ii linux-image-extra-3.13.0-108-generic 3.13.0-108.155 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP ii linux-image-generic 3.13.0.108.116 amd64 Generic Linux kernel image frieder@X220:~$ Da ja des öfteren mal nach nem Entfernen der alten Configs gefragt wird, stellt sich mir die Frage, ob man das in irgend einer Form evtl. im Artikel erwähnen sollte → was meint da draussen dazu? |
||
Anmeldungsdatum: Beiträge: 12067 |
Klingt interessant. Vielleicht sollte man dann gleich mit |
||
Anmeldungsdatum: Beiträge: 9214 |
die "Dateileichen" bei mir kommen von |
||
Anmeldungsdatum: Beiträge: 12067 |
ii listet alle installierten Pakete auf. Da die Zeile mit ii anfängt, kann man danach gut suchen. Siehst du bei der ausgabe von |
||
Anmeldungsdatum: Beiträge: 9214 |
schon klar ☺ eine Hmm, weiß jetzt auch nicht - vielleicht gehört mein "Anliegen" auch eher nach Systempflege oder auch als Erganzüng zu Bin da, wie erwähnt, zufällig drüber "gestolpert" und dachte, hei, das ist gut → und es ist ja eine Lösung zu ner Frage, die des öfteren mal im Forum auftaucht. Ich werd das mal unter |
||
Anmeldungsdatum: Beiträge: 12067 |
Also unter meinem 16.04 habe ich eben nachgesehen (upgrade von 14.04) und bin gerade die alten rcs am rauswerfen. Wird also offensichtlich nicht von autoremove abgedeckt und gehört - zumindest für mich damit sowohl nach Systempflege, als auch hier rein. |
||
Anmeldungsdatum: Beiträge: 3741 |
Das ist imho in dem Artikel nicht richtig, da das "Problem" (was ja im Prinzip kein Problem ist, da keine negativen Systemzustände dadurch hervorgerufen werden) nicht nur die Kernel betrifft, sondern auch andere Pakete mit dem Status rc. Dann lieber gleich:
|
||
Anmeldungsdatum: Beiträge: 12067 |
Ich würde mir das so vorstellen:
In beiden mit dem Hinweis auf dpkg - Paketstati. |