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 | ||
| + | </ | ||