SDB:Mehrere Kernelversionen behalten

Wechseln zu: Navigation, Suche
Getestet mit openSUSE Empfohlene Artikel Verwandte Artikel
Icon-checked.png

Icon-manual.png Icon-help.png
Dieser Artikel beschreibt openSUSEs Multiversion Kernel Funktion, wie sie aktiviert und konfiguriert wird.
Warnung! Diese Funktion sollte nur von erfahrenen Benutzern verwendet werden.

Standardeinstellung nach Installation eines neuen Kernels

Wenn man einen neuen Kernel mit YaST oder Zypper heruntergeladen und installiert hat, ist die Standardeinstellung einer openSUSE Installation den alten Kernel zu löschen, sobald der neue Kernel installiert wurde und bevor das System mit diesem neuen Kernel gestartet wurde.

Die Standardeinstellung mithilfe der Multiversion Kernel Funktion ändern

Seit openSUSE 12.1 ist eine neue umfassend konfigurierbare Funktion verfügbar, die sich Multiversion Kernel nennt und die in der Datei /etc/zypp/zypp.conf aktiviert und konfiguriert werden kann.

Durch die Aktivierung und die Konfiguration dieser Funktion kann die Standardeinstellung dahin gehend geändert werden, dass das System

  • alte Kernel erst löscht nachdem es erfolgreich mit einem neuen Kernel gestartet wurde
  • eine bestimmte Anzahl älterer Kernel als Ersatz auf dem System beläßt
  • eine bestimmte Kernelversion behält

Nach einem, der Installation eines neuen Kernels folgenden Neustart, vergleicht ein Script die Liste der installierten Kernel mit den Einstellungen in der Datei /etc/zypp/zypp.conf und löscht diejenigen, die nicht länger benötigt werden.


Aktivierung der Multiversion Kernel Funktion

Melden Sie sich als Benutzer Root bei Ihrem System an, öffnen Sie die Datei /etc/zypp/zypp.conf mit einem Editor und suchen Sie nach den folgenden beiden Zeilen:

#multiversion = provides:multiversion(kernel)

und

#multiversion.kernels = latest,running

Mithilfe der ersten Zeile können Sie die Multiversion Kernel Funktion aktivieren und in der zweiten Zeile konfigurieren Sie, wie das System die verschiedenen Kernelversionen handhabt.

Entfernen Sie das #-Zeichen am Beginn beider Zeilen und speichern Sie die Datei anschließend.

Bitte beachten Sie, dass, wenn Sie nur das Kommentarzeichen (#) der ersten Zeile entfernen, Ihr System alle Kernel auf der Festplatte beläßt und sie nicht löscht. Dies ist kein erstrebenswertes Verhalten, denn Ihre Festplatte wird sich so im Laufe der Zeit mit alten Kernelversionen füllen bis sie vollgeschrieben ist. Um dies zu verhindern, müssen die Kommentarzeichen (#) vor beiden Zeilen entfernt werden oder sie müssen alternativ alle alten Kernel manuell löschen.

Konfigurieren der Multiversion Kernel Funktion

In der Datei /etc/zypp/zypp.conf sind alle verfügbaren Konfigurationsoptionen der Multiversion Kernel Funktion gelistet:

## Comma separated list of kernel packages to keep installed in parallel, if  the
## above multiversion variable is set. Packages can be specified as
## 2.6.32.12-0.7 - Exact version to keep
## latest        - Keep kernel with the highest version number
## latest-N      - Keep kernel with the Nth highest version number
## running       - Keep the running kernel
## oldest        - Keep kernel with the lowest version number (the GA kernel)
## oldest+N      - Keep kernel with the Nth lowest version number
##
## Default: Do not delete any kernels if multiversion = provides:multiversion(kernel) is set

Ihre Verwendung wird nachfolgend detailliert erkläutert.

Einen alten Kernel erst nach einem Neustart löschen

Anwendungsbeispiel: Sie möchten sicherstellen, dass ein alter Kernel erst dann gelöscht wird, wenn Ihr System erfolgreich mit einem neuen Kernel gestartet wurde.

Konfiguration: Entfernen Sie das Kommentarzeichen (#) am Beginn der beiden Zeilen in der Datei /etc/zypp/zypp.conf wie in Schritt 3 weiter oben beschrieben. Diese Zeilen sehen nun so aus:

multiversion = provides:multiversion(kernel)
multiversion.kernels = latest,running

Erläuterung: Die Parameter latest,running teilen Ihrem System mit, den neuesten ('latest') und den derzeit laufenden ('running') Kernel zu behalten, wenn sie sich voneinander unterscheiden.

Aus Gründen der Sicherheit sollten Sie Ihr System immer wenigstens so konfigurieren, dass die Parameter latest,running Ihr System anweisen, dass es den neuesten und den derzeit laufenden Kernel behält.

Wenn Sie Ihr System - wie es normalerweise der Fall ist - mit einem gerade installierten Kernel neu starten und dieser Neustart erfolgreich ist, dann wird Ihr System angewiesen

  • den neuesten ('latest') Kernel = Ihr gerade installierter Kernel
  • den derzeit laufenden ('running') Kernel = ebenfalls Ihr gerade installierter Kernel

zu behalten.

Der neueste und der derzeit laufende Kernel unterscheiden sich nicht, sondern sie sind identisch und daher wird in diesem Fall der Vorgänger des neuen Kernels, also der alte Kernel, gelöscht.

Falls Sie stattdessen einen Neustart Ihres Systems mit dem alten Kernel durchführen, dann wird Ihr System angewiesen

  • den neuesten ('latest') Kernel = Ihr gerade installierter Kernel
  • den derzeit laufenden ('running') Kernel = Ihr alter Kernel

zu behalten.

In diesem Fall unterscheiden sich der neueste und der derzeit laufende Kernel voneinander. Daher werden beide Kernel behalten und es wird kein Kernel gelöscht.

Ältere Kernel als Ersatz behalten

Anwendungsbeispiel: You want to keep one or more older kernel versions to have one or more spare kernels. This is useful if you, for example want to install unstable kernels for testing reasons. In case something goes wrong with a new unstable kernel, e.g. your machine does not boot, you still have one or more previous kernel versions installed which are known to be good, that you can boot your machine of.

Konfiguration: Add and configure one or more latest-N parameters to the multiversion kernel line in /etc/zypp/zypp.conf. The example line below will always keep the last two previous kernel versions on your system:

multiversion.kernels = latest,latest-1,latest-2,running

Erläuterung: When you reboot your system after the installation of a new kernel, the system will keep

  • the new and running kernel as configured with latest,running
  • the previous kernel version to the new kernel as configured with latest-1
  • the predecessor of the previous kernel version as configured with latest-2

and remove all older kernel versions.

To keep the numbers of kernel versions you want, simply add and configure another latest-N statement to the multiversion kernels line. If you would like to keep four additional kernel versions, for example, then the line would look like this:

multiversion.kernels = latest,latest-1,latest-2,latest-3.latest-4,running

which would leave you with five installed kernels: The new one and the four previous versions.

The opposite can be done when using the parameters oldest and oldest+N. A multiversion kernels line like this

multiversion.kernels = latest,oldest,oldest+1,running

would leave you with

  • the latest and running kernel version as configured with latest,running
  • the oldest kernel version as configured with oldest
  • the successor of the oldest kernel version as configured with oldest+1

Eine bestimmte Kernelversion behalten

Anwendungsbeispiel: You make regular system updates and let YaST or Zypper install new kernel versions. But you are also compiling your own special kernel for various reasons and want to make sure, that the system will keep it.

Konfiguration: Add the version number of your self-compiled kernel to the multiversion kernels line in /etc/zypp/zypp.conf. If you name your kernel 3.1.0-46-<your_username>, for example, then the line should look like this:

multiversion.kernels = latest,3.1.0-46-<your_username>,running

Erläuterung: When you reboot your system after the installation of a new kernel, the system will keep

  • the new and running kernel as configured with latest,running
  • your self-compiled kernel as configured with 3.1.0-46-<your_username>

Alle Konfigurationsoptionen verwenden

Anwendungsbeispiel: You have a freshly installed system that you update frequently and you want to keep

  • the kernel that came with the installation media and its successor
  • the newest kernel and its predecessor
  • your own, self-compiled kernel named 3.1.0-46-<your_username>

Konfiguration: Change the multiversion kernels line in /etc/zypp/zypp.conf to the following:

multiversion.kernels = latest,latest-1,oldest,oldest+1,3.1.0-46-<your_username>,running

Erläuterung: When you reboot your system after the installation of a new kernel, the system will keep

  • the new and running kernel as configured with latest,running
  • the predecessor of the new and running kernel as configured with latest-1
  • your self-compiled kernel as configured with 3.1.0-46-<your_username>
  • the kernel that came with the installation media as configured with oldest
  • the successor of the kernel from the installation media as configured with oldest+1


See also

Related articles

External links

--Freigeist A 09:48, 25. Dez. 2011 (MST)