Zum Inhalt springenZur Seitennavigation springen: vorherige Seite [Zugriffstaste p]/nächste Seite [Zugriffstaste n]
documentation.suse.com / SUSE Linux Enterprise Server-Dokumentation / Bereitstellungshandbuch / Erstkonfiguration des Systems / Installieren von mehreren Kernel-Versionen
Gilt für SUSE Linux Enterprise Server 15 SP3

23 Installieren von mehreren Kernel-Versionen

SUSE Linux Enterprise Server unterstützt die parallele Installation von mehreren Kernel-Versionen. Beim Installieren eines zweiten Kernels werden automatisch ein Boot-Eintrag und ein initrd erstellt; es sind also keine weiteren manuellen Konfigurationsschritte erforderlich. Beim Neustarten des Rechners wird der hinzugefügte Kernel als zusätzlicher Boot-Parameter angeboten.

Mithilfe dieser Funktion können Sie Kernel-Aktualisierungen zunächst auf sichere Weise testen, wobei Sie jederzeit ein Fallback auf den bisherigen (einwandfrei funktionsfähigen) Kernel vornehmen können. Verwenden Sie hierzu nicht die Aktualisierungswerkzeuge (wie YaST-Online-Update oder das Aktualisierungsmodul), sondern befolgen Sie die Anweisungen in diesem Kapitel.

Warnung
Warnung: Supportberechtigung

Es ist zu beachten, dass Ihre gesamte Supportberechtigung für den Rechner erlischt, sobald Sie einen selbst kompilierten Kernel oder einen Kernel von Drittanbietern installieren. Es werden nur solche Kernels unterstützt, die zum Lieferumfang von SUSE Linux Enterprise Server gehören oder über die offiziellen Aktualisierungskanäle für SUSE Linux Enterprise Server bezogen werden.

Tipp
Tipp: Prüfen der Bootloader-Konfiguration

Nach dem Installieren eines weiteren Kernels wird empfohlen, die Bootloader-Konfiguration zu prüfen und den gewünschten Standard-Booteintrag festzulegen. Weitere Informationen hierzu finden Sie im Abschnitt 14.3, „Konfigurieren des Bootloaders mit YaST“.

23.1 Aktivieren und Konfigurieren der Multiversions-Unterstützung

Die Unterstützung für die Installation mehrerer Versionen eines Softwarepakets (Multiversions-Unterstützung) ist seit SUSE Linux Enterprise Server 12 standardmäßig aktiviert. Diese Einstellung können Sie wie folgt überprüfen:

  1. Öffnen Sie /etc/zypp/zypp.conf als root in einem Editor.

  2. Suchen Sie die Zeichenkette multiversion. Wenn „multiversion“ für alle Kernel-Pakete aktiviert ist, die diese Funktion unterstützen, wird folgende Zeile ohne Kommentare angezeigt:

    multiversion = provides:multiversion(kernel)
  3. Soll die Multiversions-Unterstützung auf bestimmte Kernel-Varianten beschränkt werden, fügen Sie die Paketnamen in einer durch Komma getrennten Liste an die Option multiversion in /etc/zypp/zypp.conf an, beispielsweise

    multiversion = kernel-default,kernel-default-base,kernel-source
  4. Speichern Sie die Änderungen.

Warnung
Warnung: Kernel-Modul-Pakete (KMP)

Stellen Sie sicher, dass die erforderlichen, vom Hersteller bereitgestellten Kernel-Module (Kernel-Modul-Pakete) auch für den neuen, aktualisierten Kernel installiert werden. Während der Aktualisierung des Kernels erhalten Sie keine Warnung zu fehlenden Kernel-Modulen, da die Paketanforderungen noch vom alten, auf dem System beibehaltenen Kernel erfüllt werden.

23.1.1 Automatisches Löschen nicht verwendeter Kernel

Wenn Sie häufig neue Kernel mit aktivierter Multiversions-Unterstützung testen, wird das Bootmenü rasch unübersichtlich. Für eine /boot-Partition gilt in der Regel eine Längenbeschränkung, sodass zu lange Angaben für /boot zu Problemen führen können. Sie können die nicht verwendeten Kernel-Versionen durchaus manuell mit YaST oder Zypper entfernen (Anweisungen siehe unten) oder auch alternativ libzypp so konfigurieren, dass alle nicht mehr genutzten Kernel automatisch gelöscht werden. Standardmäßig werden keine Kernel gelöscht.

  1. Öffnen Sie /etc/zypp/zypp.conf als root in einem Editor.

  2. Suchen Sie die Zeichenkette multiversion.kernels, und aktivieren Sie die Option, indem Sie die Auskommentierung der Zeile aufheben. Diese Option erfordert eine durch Komma getrennte Liste der folgenden Werte:

    5.3.18-53.3: Kernel mit angegebener Versionsnummer beibehalten

    neusten: Kernel mit höchster Versionsnummer beibehalten

    latest-N: Kernel mit n-höchster Versionsnummer beibehalten

    ist und ausgeführt wird: Derzeit ausgeführten Kernel beibehalten

    weitesten: Kernel mit niedrigster Versionsnummer beibehalten (also den Kernel, der aus dem ursprünglichen Lieferumfang von SUSE Linux Enterprise Server stammt)

    oldest+N Kernel mit n-niedrigster Versionsnummer beibehalten

    Hier einige Beispiele

    multiversion.kernels = latest,running

    Behält den jüngsten Kernel und den derzeit ausgeführten Kernel bei. Dies entspricht nahezu dem Nichtaktivieren der Multiversionsfunktion, mit der Ausnahme, dass der alte Kernel nicht direkt nach der Installation entfernt wird, sondern erst nach dem nächsten Neubooten.

    multiversion.kernels = latest,latest-1,running

    Behält die beiden jüngsten Kernel und den derzeit ausgeführten Kernel bei.

    multiversion.kernels = latest,running,5.3.18-53.3

    Behält den jüngsten Kernel, den derzeit ausgeführten Kernel sowie den Kernel 5.3.18-53.3 bei.

    Tipp
    Tipp: Derzeit ausgeführten Kernel beibehalten

    Wenn Sie nicht mit einer besonderen Einrichtung arbeiten, behalten Sie den als derzeit ausgeführt markierten Kernel bei.

    Falls Sie den derzeit ausgeführten Kernel nicht beibehalten, wird dieser Kernel bei einer Kernel-Aktualisierung gelöscht. Dies bedeutet wiederum, dass auch alle Module des derzeit ausgeführten Kernels gelöscht werden und nicht mehr geladen werden können.

    Wenn Sie sich entscheiden, den derzeit ausgeführten Kernel tatsächlich nicht beizubehalten, booten Sie nach einer Kernel-Aktualisierung stets unmittelbar neu, damit keine Probleme mit den Modulen auftreten.

23.1.2 Anwendungsfall: Löschen eines alten Kernels erst nach dem Neustart

Ein alter Kernel soll erst dann gelöscht werden, wenn das System fehlerfrei mit dem neuen Kernel gebootet wurde.

Ändern Sie die folgende Zeile in /etc/zypp/zypp.conf:

multiversion.kernels = latest,running

Die Parameter weisen das System an, den aktuellen Kernel und den ausgeführten Kernel nur dann beizubehalten, wenn sie nicht identisch sind.

23.1.3 Anwendungsfall: Beibehalten älterer Kernel als Fallback

Mindestens eine Kernel-Version soll als Ersatz-Kernel beibehalten werden.

Dies kann von Nutzen sein, wenn Sie mehrere Kernel zu Testzwecken beibehalten möchten. Sollte ein Problem eintreten (beispielsweise weil der Computer nicht bootet), können Sie dennoch auf mindestens eine bekanntermaßen funktionsfähige Kernel-Version zurückgreifen.

Ändern Sie die folgende Zeile in /etc/zypp/zypp.conf:

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

Wenn Sie das System nach dem Installieren eines neuen Kernels neu booten, behält das System drei Kernel bei: den aktuellen Kernel (als latest,running konfiguriert) und die beiden unmittelbaren Vorgänger (als latest-1 und latest-2 konfiguriert).

23.1.4 Anwendungsfall: Beibehalten einer bestimmten Kernel-Version

Sie nehmen regelmäßige Systemaktualisierungen vor und installieren neue Kernel-Versionen. Daneben kompilieren Sie eine eigene Kernel-Version, die im System beibehalten werden soll.

Ändern Sie die folgende Zeile in /etc/zypp/zypp.conf:

multiversion.kernels = latest,5.3.18-53.3,running

Wenn Sie das System nach der Installation eines neuen Kernels neu booten, behält das System zwei Kernel bei: den neuen und ausgeführten Kernel (als latest,running konfiguriert) und den selbst kompilierten Kernel (als latest-5.3.18-53.3 konfiguriert).

23.2 Installieren/Entfernen von mehreren Kernel-Versionen mit YaST

Mit YaST können Sie mehrere Kernel installieren oder entfernen:

  1. Starten Sie YaST, und öffnen Sie den Software-Manager mit Software ›  Software installieren oder löschen.

  2. Wählen Sie Anzeigen › Paketgruppen › Multiversions-Pakete. Eine Liste aller Pakete, die mehrere Versionen bieten, wird angezeigt.

    Der YaST-Software-Manager: Multiversionsanzeige
    Abbildung 23.1: Der YaST-Software-Manager: Multiversionsanzeige
  3. Wählen Sie ein Paket aus, und öffnen Sie den Karteireiter Version im unteren linken Bereich.

  4. Zum Installieren eines Pakets klicken Sie auf das Kontrollkästchen neben dem Paket. Ein grünes Häkchen zeigt, dass das betreffende Paket zur Installation ausgewählt wurde.

    Soll ein bereits installiertes Paket (mit einem weißen Häkchen markiert) entfernt werden, klicken Sie auf das zugehörige Kontrollkästchen, bis ein rotes X sichtbar ist. Dies bedeutet, dass das Paket zum Entfernen ausgewählt wurde.

  5. Klicken Sie auf Übernehmen, um mit der Installation zu beginnen.

23.3 Installieren/Entfernen von mehreren Kernel-Versionen mit Zypper

Mit zypper können Sie mehrere Kernel installieren oder entfernen:

  1. Rufen Sie mit dem Kommando zypper se -s 'kernel*' eine Liste aller verfügbaren Kernel-Pakete ab:

    S  | Name                 | Type    | Version           | Arch   | Repository
    ---+----------------------+---------+-------------------+--------+---------------------------------
    i+ | kernel-default       | package | 5.3.18-53.3       | x86_64 | (System Packages)
    i+ | kernel-default       | package | 5.3.18-54.2       | x86_64 | SLE-Module-Basesystem15-SP3-Pool
       | kernel-default-base  | package | 5.3.18-54.2.16.15 | x86_64 | SLE-Module-Basesystem15-SP3-Pool
       | kernel-default-devel | package | 5.3.18-54.2       | x86_64 | SLE-Module-Basesystem15-SP3-Pool
       | kernel-devel         | package | 5.3.18-54.2       | noarch | SLE-Module-Basesystem15-SP3-Pool
    i  | kernel-firmware      | package | 20210208-2.4      | noarch | SLE-Module-Basesystem15-SP3-Pool
       | kernel-macros        | package | 5.3.18-54.2       | noarch | SLE-Module-Basesystem15-SP3-Pool
       | kernel-preempt       | package | 5.3.18-54.2       | x86_64 | SLE-Module-Basesystem15-SP3-Pool
  2. Geben Sie beim Installieren die genaue Version an:

    tux > sudo zypper in kernel-default-5.3.18-53.3
  3. Zum Deinstallieren eines Kernels rufen Sie mit dem Kommando zypper se -si 'kernel*' eine Liste aller installierter Kernel ab und entfernen Sie das gewünschte Paket mit dem Kommando zypper rm PAKETNAME-VERSION.