Mantenere un kernel Linux aggiornato è fondamentale per la sicurezza, la compatibilità hardware e l'ottimizzazione delle prestazioni. Questa guida illustra metodi affidabili per aggiornare il kernel sui sistemi Ubuntu, adatti a diversi casi d'uso e livelli di competenza.
Perché aggiornare il kernel?
Patch di sicurezza: Mitigare le vulnerabilità.
Supporto hardware: Abilitare nuovi dispositivi/funzionalità.
Guadagni di prestazioni: Beneficiare di miglioramenti dello scheduler/IO.
Correzioni di stabilità: Risolvere bug a livello di kernel.
⚠️ Attenzione:
Testare gli aggiornamenti prima in ambienti non di produzione.
Assicurarsi che i driver critici (ad esempio, NVIDIA, ZFS) supportino il kernel di destinazione.
Avere sempre un piano di backup/rollback.
Metodo 1: Utilizzo dei repository ufficiali di Ubuntu (Consigliato)
Ideale per: Kernel stabili e testati con supporto a lungo termine (LTS).
Passaggi:
Aggiorna elenchi pacchetti:
bash
sudo apt update && sudo apt full-upgrade -y
Installa kernel HWE (sistemi LTS):Per Ubuntu 22.04 LTS:
bash
sudo apt install --install-recommends linux-generic-hwe-22.04
Riavvia e verifica:
bash
sudo reboot
uname -r # Controlla la versione del kernel (ad esempio, 6.5.x)
Metodo 2: Utilizzo del PPA Mainline Kernel (Ultimi kernel)
Ideale per: Appassionati che necessitano di funzionalità all'avanguardia.Rischio: Meno testato; potenziali problemi di compatibilità.
Aggiungi PPA Mainline:
bash
sudo add-apt-repository ppa:cappelikan/ppa -y
sudo apt update
Installa lo strumento GUI Mainline (Opzionale):
bash
sudo apt install mainline
Avvia tramite mainline per selezionare/installare i kernel graficamente.
Oppure installa tramite CLI:
bash
sudo apt install linux-image-unsigned--generic linux-headers--generic
(Sostituisci con il kernel di destinazione, ad esempio, 6.8.4)
Metodo 3: Compilazione manuale del kernel
Ideale per: Personalizzazione o esigenze di debug specifiche.
Procedura:
Installa le dipendenze:
bash
sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev
Scarica il codice sorgente del kernel:Visita kernel.org, scarica la sorgente desiderata (ad esempio, linux-6.8.tar.xz).
Estrai e configura:
bash
tar -xvf linux-6.8.tar.xz
cd linux-6.8
make menuconfig # Usa la configurazione corrente: /boot/config-$(uname -r)
Compila e installa:
bash
make -j$(nproc) # Compila usando tutti i core
sudo make modules_install # Installa i moduli
sudo make install # Installa il kernel
sudo update-initramfs -c -k 6.8.0 # Aggiorna initramfs
sudo update-grub # Aggiorna GRUB
sudo reboot
Piano di rollback
Avvia nel kernel precedente:
Tieni premuto Shift durante l'avvio per accedere a GRUB → Seleziona il kernel precedente.
Rimuovi il kernel problematico:
bash
sudo apt purge linux-image--generic
Verifica e best practice
Controlla il kernel caricato: