Beim Surfen im Internet nach Ubuntu-Artikeln bin ich auf folgenden Befehl gestoßen:
sudo 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
Der Autor sagte, dass dies ein einzeiliger Befehl ist, der alle vorherigen Linux-Versionen löscht und nur die aktuelle Version zurücklässt !
Ich suche tatsächlich nach einem solchen Befehl, bin mir aber nicht so sicher, wie sicher das ist. Ich würde gerne wissen:
- Ob es sicher ist, diesen Befehl auszuführen?
- Wie funktioniert dieser Befehl? dh Erklärung kleiner Teile eines so großen Befehls
- Wenn dieser Befehl einem anderen Zweck dient, was wäre dann der richtige Befehl, um das zu erreichen, was der Autor behauptet?
Ich werde sehr verwirrt und frustriert, wenn ich versuche, alles alleine herauszufinden. Wie funktioniert dieser Befehl Arbeit für sie zahlreiche enthält /
, |
, \
, *
, und ^
Zeichen , die für Google hart sind.
Ich suche eine schrittweise Übersetzung und Erklärung für diesen Befehl, die ich im Internet nicht finden konnte!
apt-get autoremove
schlägt für mich keine Entfernung älterer Kernel vor. Wenn ich sie nicht lösche, stapeln sie sich nur, bis mein /boot
Speicherplatz erschöpft ist und Aktualisierungen fehlschlagen. Haben Sie eine Referenz dafür, dass es das tun soll?
s/^[^ ]* [^ ]* \([^ ]*\).*/\1/
statt einfach ist s/^[^ ]* \([^ ]*\).*/\1/
. Das Skript ist nicht sehr robust oder elegant. Warum zum Beispiel nach dem aktuellen Kernel suchen, bevor der Paketname aus der Ausgabe extrahiert wird? Als Alternative können die sudo apt-get autoremove --purge
meisten alten Kernel in einer der neuesten Versionen von Ubuntu wie Xubuntu 15.10 gelöscht werden.