Ein Blog über Ubuntu, Linux, Android und IT
Alte Kernel inkl. Header mit nur einem Befehl entfernen
Dieser Beitrag wurde vor mehr als sechs Monaten veröffentlicht. Bedenke bitte, dass die hier angebotene Information nicht mehr aktuell und gültig sein könnte. Informiere dich daher bitte auch an anderer Stelle über dieses Thema. Sollten sich neue Informationen ergeben haben, so kannst du mich auch gerne auf diese über einen Kommentar hinweisen. Vielen Dank!Betreibt man ein Ubuntu- oder Debian-System über einen längeren Zeitraum, so sammeln sich über die Monate und Jahre eine ganze Reihe von Kerneln an. Bei Sicherheitsupdates oder auch Upgrades auf ein neueres Ubuntu oder Debian werden die alten Kernel nicht deinstalliert. So hat man bei Problemen mit dem neuen Kernel, den “Alten” noch zur Verfügung und kann so das System booten. Allerdings belegen der Kernel mit seinen Headern eine ganze Menge Platz, so dass man früher oder später etwas aufräumen sollte.
Über Synaptic kann man sich die alten Kernel raussuchen und sie dann deinstallieren. Mit ein bisschen Shell-Magie deinstalliert man jedoch mit nur einem Kommando alle alten Kernel inklusive ihren Headern. Via…
$ dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
…löscht ihr alle alten Kernel inkl. den passenden Kernel-Headern…
Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Lese Status-Informationen ein... Fertig Die folgenden Pakete werden ENTFERNT: linux-headers-2.6.31-13* linux-headers-2.6.31-13-generic* linux-headers-2.6.31-14* linux-headers-2.6.31-14-generic* linux-image-2.6.27-14-generic* linux-image-2.6.31-13-generic* linux-image-2.6.31-14-generic* linux-restricted-modules-2.6.27-14-generic* 0 aktualisiert, 0 neu installiert, 8 zu entfernen und 10 nicht aktualisiert. Nach dieser Operation werden 441MB Plattenplatz freigegeben. Möchten Sie fortfahren [J/n]?
Allerdings würde ich alte Kernel erst dann löschen, wenn ich weiß dass ich mit dem Aktuellen keine Probleme habe. Lasst nach einem Kernelupdate den alten Kernel also noch ein paar Tage oder Wochen auf eurem Rechner. Die dadurch verbrauchten MB lassen sich meist verschmerzen.
(via Web Upd8)
Das könnte Euch auch gefallen...
Anzeige...
| Artikel drucken | Dieser Beitrag wurde von Christoph am 12. Dezember 2009 um 20:14 veröffentlicht und unter GNU/Linux abgelegt. Du kannst allen Antworten zu diesem Beitrag durch RSS 2.0 folgen. Du kannst eine Antwort schreiben oder einen Trackback von deiner eigenen Seite hinterlassen. |



















vor 8 Monaten
“Über Synaptic kann man sich die alten Kernel raussuchen und sie dann ?(DE)?installieren”
Greetz Frettchen
vor 8 Monaten
Es gibt doch auch den schönen Rechnerhausmeister, glaube ab Karmic, der kann das auch
vor 8 Monaten
Ich schrieb es eben erst, zu einem anderen Thema ins Ubuntuuser-Forum: Nutzt doch einfach Ubuntu-Tweak!
Es ist weiß Gott kein Allerheilmittel, aber wenn doch schon ein GUI-basiertes Programm entwickelt wurde um es den Leuten leichter zu machen, warum dann immer wieder diesen konsolenlastigen Tipps?
Vielleicht kam das gerade ziemlich harsch herüber, da ich deinen Blog wirklich schätze und zum Großteil auch deine Ansichten teile. Aber ab und an hab ich das Gefühl, dass manche mehr neben, als für und mit den Otto-Normal-Nutzer arbeiten.
vor 8 Monaten
Danke, den Befehl kann ich sehr gut gebrauchen! Auf 2 System mal eben je 500mb Platz gemacht. Der eine hat auch nur 4GB, da kommt es auf jedes MB an
Grüße Ben
vor 8 Monaten
@GH1234: Der blöde Rechnerhausmeister kann das bei mir nicht, weil ich sie nicht selber installiert habe. Meiner listet nur auf wenn ich selber .DEB installiere
@ALL: Ja genau sowas vermisse ich – gleich mal testen und fein THX schreiben
vor 8 Monaten
@Jens Kampe:
Dein Einwand zu Ubuntu Tweak ist zwar ganz gut, aber deine Argumentation beisst sich IMHO etwas.
Der von dir zitierte “Otto-Normal-Nutzer” dürfte sich im Allgemeinen nicht sehr für Kernel und das Entfernen selbiger interessieren, ergo ist der Artikel hier für ihn sowieso uninteressant, ergo ist die Angabe eines kryptischen Konsolenbefehls auch kein Erschwernis für selbigen.
Ich persönlich finde den Ansatz gut etwas in der Konsole zu erledigen, anstatt auf einer GUI rumzuklicken, weil ich verstehen will, was ich da tue. Thematisch passen hierzu auch gut die letzten beiden Artikel von Christoph (Ubun-student und Sicherheitskonzept von Linux verbessern)
vor 8 Monaten
Also Leute, schämt euch. Klar kann man mit Ubuntu-Tweak oder Synaptic viel schöner, aber so nen tollen, langen Befehl auszuführen oder ihn erstmal zusammen zu basteln ist ne Kunst
. Niemand befielt euch die Konsole. Aber sie wird doch auch unter Ubuntu immer mehr zur Nostalgie. Gerade für den zitierten Benutzer namens Otto. Der Befehl ist gut, habe ihn gerade ausprobiert, er läuft super, also warum nicht? Wenn man nicht will, muss man auch nicht
, aber die oben geleistete Arbeit sollte man würdigen…
vor 8 Monaten
Bitte den Befehl verifizieren. Damit wird bei mir auch der fglrx-Treiber deinstalliert.
vor 8 Monaten
@Jens, wie es schon Kai sagte geht es nicht drum das es auch noch andere Werkzeuge gibt. Aber was machst du mit Ubuntu-Tweak, wenn du einen Server vor dir hast? Keine GUI, kein Ubuntu-Tweak. Ausserdem geht es eben drum zu lernen.
@Ubunux, danke dir. Hab keine ATI-Karten hier mit diesem flgrx Treiber, von daher kann ich das nicht testen. Was gibt denn…
aus?
vor 8 Monaten
Super, auf meinem System wurden mit diesem Befehl mehr als 2 GB freigegeben!
vor 8 Monaten
In dem Kommando verstehe ich den Sinn von “^[^ ]* [^ ]* ” nicht. Das erste ^[^ ]* schnappt das “ii” vom Zeilenanfang weg. Weiter wird dann ein Leerzeichen (von Zweien) gegessen. Das folgende [^ ]* verstehe ich nicht: Geht das nicht immer leer aus, da ja zunächst noch das zweite Leerzeichen ansteht?
vor 8 Monaten
Sollte nicht ein aptitude autoremove bzw apt-get autoremove auch alle nicht genutzten Kernel entfernen?
Habs bis jetzt auch immer so gemacht…
vor 8 Monaten
Praktisch. Jetzt hab ich wieder einigen Platz mehr auf der Festplatte.
vor 8 Monaten
Tolle Idee! Sonst kommt man gar nicht darauf, alte Kernel zu entfernen. Könnte man es nicht auch irgendwie einbauen, dass der letzte alte Kernel nicht deinstalliert wird, dann wäre es sicherer (und evtl. auch fürs Wiki geeeignet)?
Gruß
fred
PS: Bei sind es gerade 1344MB
vor 8 Monaten
Ich entferne regelmäßig alte Kernel, da mein /boot nur 120 mb groß ist werde ich dazu “gezwungen” Ordnung zu halten. Ich habe meist 2 Kernel installiert und der jeweils ältere fliegt bei einem Kernel-Update dann weg.
vor 8 Monaten
Ich weiß auch gar nicht was man mit den ganzen Kernels soll. Bei der Distri ist immer einer dabei, die Probleme die man mit Linux so hat haben selten was mit dem Kernel sondern mit ganz anderen Dingen zu tun, die man alle konfigurieren und installieren muss.
vor 8 Monaten
@Rolf 2 GB? Und hat der Neustart geklappt? (das sind ungefähr 70 Kernel, also praktisch alle Ubuntukernel, die es jemals gab)
@Christoph Ne ist klar, erst wird gegen Automatix gehetzt und jetzt fängst du selber damit an. Asche auf dein Haupt.
Mein Vorschlag, der einem erstmal anzeigt was gemacht werden soll (schützt super vor Überraschungen
):
sudo aptitude purge “~i (linux-image-2|linux-headers-2) ! $(expr “$(uname -r)” : ‘\(^.*\)-’)”
vor 8 Monaten
Hm, da hätte ich wohl lieber das code-Tag benutzt, nochmal mit:
sudo aptitude purge "~i (linux-image-2|linux-headers-2) ! $(expr "$(uname -r)" : '\(^.*\)-')"vor 8 Monaten
Ich danke Dir für diesen Artikel.
vor 8 Monaten
Gute Idee daran mal zu erinnern
Danke.
“Nach dieser Operation werden 973MB Plattenplatz freigegeben.”
vor 6 Monaten
Schon etwas älter dieser Beitrag!
Aber, kann man diesen Befehl auch so formulieren das alle alten Kernels gelöscht werden, außer dem VORletzten?
Grüße,
savalas
vor 5 Monaten
Man kann Kernel vor der folgenden Aktion ausschließen indem man sich im ersten Durchlauf die Paketnamen anschaut und danach die Kernel, die nicht deinstalliert werden sollen ausschließt:
sudo dpkg -l ‘linux-*’ | sed ‘/^ii/!d;/’”$(uname -r | sed “s/\(.*\)-\([^0-9]\+\)/\1/”)”‘/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d’
z.B.:
sudo dpkg -l ‘linux-*’ | sed ‘/^ii/!d;/’”$(uname -r | sed “s/\(.*\)-\([^0-9]\+\)/\1/”)”‘/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d’ |egrep -v ‘(2.6.24-26-|\-xen)’
Danach kann man die Pipe mit der deinstallation hinzufügen:
| xargs sudo apt-get purge
Die Tipps von Yoschi #12 oder adun #17 würde ich auch mal in Betracht ziehen…
vor 4 Monaten
Ahem, der Befehl hat auch sauber meinen nvidia-Treiber entfernt…;-(
vor 4 Monaten
Hallo Christian, welche Linux-Distribution? Ubuntu? Welche Ubuntu-Version? Wie war der Nvidia-Treiber installiert?
vor 4 Monaten
Hallo Christopf, Ubuntu Karmic mit manuell installiertem NVidia Treiber (v180). Zumindest sah ich beim Durchlauf des Befehls, dass er die NVidia-Treiber zu deinstallieren scheint. Habe das gleich mal zum Anlaß genommen, alles was mit NVidia zu tun hat zu entfernen und den Treiber neu zu installieren.
Hier ist der Output [Auszug]:
(Und wie Du siehst scheint er auch etliche Virtualbox-Treiber zu deinstallieren)
——– Uninstall Beginning ——–
Module: nvidia
Version: 185.18.36
Kernel: 2.6.31-9-rt (i686)
————————————-
Status: Before uninstall, this module version was ACTIVE on this kernel.
nvidia.ko:
– Uninstallation
– Deleting from: /lib/modules/2.6.31-9-rt/updates/dkms/
– Original module
– No original module was found for this module on this kernel.
– Use the dkms install command to reinstall any previous module version.
depmod…………
DKMS: uninstall Completed.
Uninstalling: vboxdrv 3.1.6 (2.6.31-9-rt) (i686)
vor 4 Monaten
Du hast den Treiber nicht über die Paketverwaltung installiert? Ausserdem ist ein RealTime-Kernel im Einsatz. Beides sind Umstände, die ich schon lange nicht mehr gemacht habe. Generell ist es ja so, dass DKMS die Kernelmodule vorhält. Ich kann mir ganz gut vorstellen, dass du einen Kernelmix installiert hast und eventuell auch notwendige Metapakete fehlen.
vor 4 Monaten
Scheint mir auch so. Ich habe jetzt mal alle Kernelpakete die nicht uname -r sind runtergeschmissen. Waren dann mal 1 GB Daten
Q: Wie kann ich eigentlich ein lokales .run Paket “NVIDIA-Linux-x86-195.36.15-pkg1.run” via Paketverwaltung installieren?
vor 4 Monaten
Gar nicht. Gibts nen Grund warum du den Nvidia-Treiber nicht direkt aus den Quellen installierst?
vor 3 Monaten
Vielen Dank für den genialen Befehl.
Der Rechnerhausmeister bietest mir nur Blödsinn an (z.B. Mplayer deinstllieren, da er nicht mehr benutzt wird!!!).
Gruß Knollo