Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | anwenderwiki:server:alte-kernel-loeschen [2016/06/20 22:07] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | {{tag> | ||
+ | |||
+ | ====== Alte Kernel löschen ====== | ||
+ | |||
+ | Bei Updates wird immer wieder mal ein neuer Kernel installiert, | ||
+ | |||
+ | Das Skript '' | ||
+ | |||
+ | Im Skript kann man einstellen, ob man '' | ||
+ | |||
+ | Optionen sind: | ||
+ | |||
+ | purge-old-kernels -s | ||
+ | |||
+ | Es wird nur angezeigt, was passieren würde, wenn man das '' | ||
+ | |||
+ | purge-old-kernels --keep 4 | ||
+ | |||
+ | Es werden vier Kernel behalten (der aktuell laufende und weitere drei). | ||
+ | |||
+ | Und hier ist das Skript: | ||
+ | |||
+ | <file purge-old-kernels> | ||
+ | #!/bin/bash | ||
+ | # | ||
+ | # purge-old-kernels - remove old kernel packages | ||
+ | # Copyright (C) 2012 Dustin Kirkland < | ||
+ | # | ||
+ | # Authors: Dustin Kirkland < | ||
+ | # Kees Cook < | ||
+ | # | ||
+ | # Minor modifications by Jörg Richter | ||
+ | # | ||
+ | # | ||
+ | # This program is free software: you can redistribute it and/or modify | ||
+ | # it under the terms of the GNU General Public License as published by | ||
+ | # the Free Software Foundation, version 3 of the License. | ||
+ | # | ||
+ | # This program is distributed in the hope that it will be useful, | ||
+ | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
+ | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
+ | # GNU General Public License for more details. | ||
+ | # | ||
+ | # You should have received a copy of the GNU General Public License | ||
+ | # along with this program. If not, see < | ||
+ | |||
+ | # Ensure we're running as root | ||
+ | if [ "$(id -u)" != 0 ]; then | ||
+ | echo " | ||
+ | echo " sudo $0 $@" 1>&2 | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | # aptitude or apt-get? | ||
+ | APT=" | ||
+ | # | ||
+ | |||
+ | # NOTE: This script will ALWAYS keep the currently running kernel | ||
+ | # NOTE: Default is to keep 2 more, user overrides with --keep N | ||
+ | KEEP=2 | ||
+ | SIMULATE=" | ||
+ | |||
+ | # NOTE: Any unrecognized option will be passed straight through to apt-get/ | ||
+ | APT_OPTS= | ||
+ | while [ ! -z " | ||
+ | case " | ||
+ | --keep) | ||
+ | # User specified the number of kernels to keep | ||
+ | KEEP=" | ||
+ | shift 2 | ||
+ | ;; | ||
+ | -s) | ||
+ | # User specified the number of kernels to keep | ||
+ | SIMULATE=" | ||
+ | shift 1 | ||
+ | ;; | ||
+ | *) | ||
+ | APT_OPTS=" | ||
+ | shift 1 | ||
+ | ;; | ||
+ | esac | ||
+ | done | ||
+ | |||
+ | # Build our list of kernel packages to purge | ||
+ | # Original code, keeps non-generic linux-headers | ||
+ | # | ||
+ | |||
+ | CANDIDATES="" | ||
+ | for v in $(ls -tr / | ||
+ | CANDIDATES=" | ||
+ | done | ||
+ | |||
+ | |||
+ | |||
+ | for c in $CANDIDATES; | ||
+ | dpkg-query -s " | ||
+ | done | ||
+ | |||
+ | if [ -z " | ||
+ | echo "No kernels are eligible for removal" | ||
+ | exit 0 | ||
+ | fi | ||
+ | |||
+ | if [ " | ||
+ | echo "$APT $APT_OPTS purge $PURGE" | ||
+ | else | ||
+ | $APT $APT_OPTS purge $PURGE | ||
+ | fi | ||
+ | </ | ||