Vai al contenutoNaviga tra le pagine: pagina precedente [tasto di scelta p]/pagina successiva [tasto di scelta n]
documentation.suse.com / Documentazione di SUSE Linux Enterprise Server / Guida alla distribuzione / Configurazione iniziale del sistema / Installazione di più versioni del kernel
Si applica a SUSE Linux Enterprise Server 15 SP2

21 Installazione di più versioni del kernel

SUSE Linux Enterprise Server supporta l'installazione parallela di più versioni del kernel. Quando si installa un secondo kernel, vengono creati automaticamente una voce di avvio e un disco initrd, pertanto non è necessaria alcuna ulteriore configurazione manuale. Al riavvio del computer, il kernel appena aggiunto è disponibile come parametro di avvio aggiuntivo.

Utilizzando questa funzionalità, è possibile verificare in modo sicuro gli aggiornamenti del kernel avendo sempre la possibilità di tornare al kernel precedente. A questo scopo, non utilizzare gli strumenti di aggiornamento (come YaST Online Update o l'applet del programma di aggiornamento), ma seguire la procedura descritta in questo capitolo.

Avvertimento
Avvertimento: diritto al supporto

È importante essere consapevoli che, quando si installa un kernel autocompilato o di terze parti, si perdono tutti i diritti al supporto. Sono supportati solo i kernel forniti con SUSE Linux Enterprise Server e quelli distribuiti tramite i canali di aggiornamento ufficiali per SUSE Linux Enterprise Server.

Suggerimento
Suggerimento: verificare il kernel di configurazione del boot loader

Dopo l'installazione di un kernel aggiuntivo, è consigliabile verificare la configurazione del boot loader per impostare la voce di avvio di default preferita. Per ulteriori informazioni, vedere Section 14.3, “Configuring the Boot Loader with YaST”.

21.1 Abilitazione e configurazione del supporto multiversione

L'installazione di più versioni di un pacchetto software (supporto multiversione) è abilitata per impostazione predefinita a partire da SUSE Linux Enterprise Server 12. Per verificare l'impostazione, procedere come segue:

  1. Aprire /etc/zypp/zypp.conf con l'editor preferito come root.

  2. Cercare la stringa multiversion. Se è abilitata la funzione multiversione per tutti i pacchetti kernel che la supportano, viene visualizzata la riga seguente priva di commenti:

    multiversion = provides:multiversion(kernel)
  3. Per limitare il supporto multiversione solo a determinati tipi di kernel, aggiungere l'elenco dei nomi dei pacchetti separati da virgole all'opzione multiversion in /etc/zypp/zypp.conf, ad esempio

    multiversion = kernel-default,kernel-default-base,kernel-source
  4. Salvare le modifiche apportate.

Avvertimento
Avvertimento: Kernel Module Package (KMP)

Accertarsi i moduli kernel necessari forniti dal fornitore (Kernel Module Package) siano installati anche per il nuovo kernel aggiornato. Durante il processo di aggiornamento del kernel non si riceverà alcun avviso in merito a eventuali moduli kernel mancanti perché i requisiti del pacchetto vengono ancora soddisfatti dal kernel precedente tuttora presente nel sistema.

21.1.1 Eliminazione automatica dei kernel non utilizzati

Quando viene eseguito frequentemente il test dei nuovi kernel con supporto multiversione abilitato, nel menu di avvio si genera rapidamente confusione. Poiché nella partizione /boot generalmente lo spazio disponibile è limitato, potrebbe verificarsi anche un problema di overflow. Sebbene sia possibile eliminare manualmente le versioni del kernel non utilizzate con YaST o Zypper (come descritto di seguito), è anche possibile configurare libzypp in modo che i kernel non più utilizzati vengano eliminati automaticamente. Per default i kernel non vengono eliminati.

  1. Aprire /etc/zypp/zypp.conf con l'editor preferito come root.

  2. Cercare la stringa multiversion.kernels e attivare questa opzione rimuovendo il commento dalla riga. Per questa opzione è disponibile un elenco dei valori seguenti separati da virgola:

    5.3.18-8 conservare il kernel con il numero di versione specificato

    latest conservare il kernel con il numero di versione più alto

    latest-N conservare il kernel con l'ennesimo numero di versione più alto

    running conservare il kernel in esecuzione

    oldest conservare il kernel con il numero di versione più basso (quello originariamente fornito con SUSE Linux Enterprise Server)

    oldest+N conservare il kernel con l'ennesimo numero di versione più basso

    Di seguito sono riportati alcuni esempi

    multiversion.kernels = latest,running

    Conservare il kernel più recente e quello correntemente in esecuzione. Questa situazione è analoga alla disabilitazione del supporto di più versioni, ma in questo caso il kernel precedente viene rimosso dopo il successivo riavvio e non immediatamente dopo l'installazione.

    multiversion.kernels = latest,latest-1,running

    Conservare gli ultimi due kernel e quello correntemente in esecuzione.

    multiversion.kernels = latest,running,5.3.18-8

    Conservare il kernel più recente, quello attualmente in esecuzione e 5.3.18-8.

    Suggerimento
    Suggerimento: mantenere in esecuzione il kernel

    A meno che non si utilizzi un determinato programma di installazione, mantenere sempre il kernel contrassegnato come in esecuzione.

    Se non si mantiene in esecuzione il kernel, questo viene eliminato durante l'aggiornamento. Di conseguenza, ciò significa che vengono eliminati anche tutti i moduli del kernel in esecuzione e non sarà più possibile caricarli.

    Se si decide di mantenere in esecuzione il kernel, per evitare problemi con i moduli, riavviare sempre il sistema subito dopo l'upgrade del kernel.

21.1.2 Caso d'uso: eliminazione di un kernel precedente solo dopo il riavvio

Si supponga di voler essere sicuri che il kernel precedente venga eliminato solo dopo aver riavviato il sistema con il nuovo kernel.

Modificare la riga che segue in /etc/zypp/zypp.conf:

multiversion.kernels = latest,running

I parametri precedenti indicano al sistema di conservare il kernel più recente e quello in esecuzione solo se sono diversi tra loro.

21.1.3 Caso d'uso: conservazione dei kernel precedenti come fallback

Si supponga di voler conservare una o più versioni di kernel per avere uno o più kernel «di ricambio».

Questo caso d'uso può risultare utile quando servono kernel per eseguire dei test. In caso di problemi, ad esempio se il computer non si avvia, è comunque possibile utilizzare una o più versioni di kernel notoriamente valide.

Modificare la riga che segue in /etc/zypp/zypp.conf:

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

Quando si riavvia il sistema dopo aver installato un nuovo kernel, nel sistema rimangono tre kernel: quello attuale (configurato come latest,running) e i due immediati predecessori (configurati rispettivamente come latest-1 e latest-2).

21.1.4 Caso d'uso: mantenimento di una versione specifica del kernel

L'utente effettua regolarmente aggiornamenti di sistema e installa nuove versioni di kernel. Tuttavia l'utente compila anche una versione personalizzata del kernel e vuole essere sicuro che il sistema la mantenga.

Modificare la riga che segue in /etc/zypp/zypp.conf:

multiversion.kernels = latest,5.3.18-8,running

Quando si riavvia il sistema dopo l'installazione di un nuovo kernel, il sistema conserverà due kernel: quello nuovo in esecuzione (configurato come latest,running) e quello autocompilato (configurato come 5.3.18-8).

21.2 Installazione/rimozione di più versioni del kernel con YaST

È possibile installare o rimuovere più kernel con YaST:

  1. Avviare YaST e aprire il programma di gestione del software da Software › Gestione pacchetti.

  2. Elencare tutti i pacchetti in grado di fornire più versioni scegliendo Visualizza › Gruppi di pacchetti ›  Pacchetti multiversione.

    Programma di gestione del software YaST: visualizzazione multiversione
    Figura 21.1: Programma di gestione del software YaST: visualizzazione multiversione
  3. Selezionare un pacchetto e aprire la rispettiva scheda Versione nel riquadro in basso a sinistra.

  4. Per installare un pacchetto, fare clic sulla casella di controllo corrispondente. Un segno di spunta verde indica che il pacchetto è selezionato per l'installazione.

    Per rimuovere un pacchetto già installato (contrassegnato da un segno di spunta bianco), fare clic sulla casella di controllo corrispondente fino a visualizzare una X rossa che indica che il pacchetto è selezionato per la rimozione.

  5. Fare clic su Accetta per avviare l'installazione.

21.3 Installazione/rimozione di più versioni del kernel con Zypper

È possibile installare o rimuovere più kernel con zypper:

  1. Utilizzare il comando zypper se -s 'kernel*' per visualizzare un elenco di tutti i pacchetti di kernel disponibili:

    S | Name           | Type       | Version         | Arch   | Repository
    --+----------------+------------+-----------------+--------+-------------------
    i+ | kernel-default       | package | 5.3.18-8.2       | x86_64 | (System Packages)                    
    v  | kernel-default       | package | 5.3.18-10.1      | x86_64 | SLE-Module-Basesystem15-SP2-Pool     
       | kernel-default-base  | package | 5.3.18-10.1.4.8  | x86_64 | SLE-Module-Basesystem15-SP2-Pool     
       | kernel-default-devel | package | 5.3.18-10.1      | x86_64 | SLE-Module-Basesystem15-SP2-Pool     
       | kernel-devel         | package | 5.3.18-10.1      | noarch | SLE-Module-Basesystem15-SP2-Pool     
    i  | kernel-firmware      | package | 20200107-3.12.1  | noarch | SLE-Module-Basesystem15-SP2-Pool
  2. Specificare l'esatta versione durante l'installazione:

    tux > sudo zypper in kernel-default-5.3.18-8.2
  3. Quando si disinstalla un kernel, utilizzare i comandi zypper se -si 'kernel*' per elencare tutti i kernel installati e zypper rm PACKAGENAME-VERSION per rimuovere il pacchetto.