Home / Sistemi operativi & mobile / Linux / Riavviare il Kernel senza riavviare il sistema in Linux
Mattepuffo

Riavviare il Kernel senza riavviare il sistema in Linux

Riavviare il Kernel senza riavviare il sistema in Linux

Ad ogni aggiornamento del Kernel, è richiesto il riavvio del sistema per applicare le patch e usare la nuova versione.

Se stiamo sul pc di casa, nessun problema; ma se siamo su un server di produzione (e non ne abbiamo uno di backup) rischiamo di dare un disservizio.

Però è fondamentale assicurare l'uso dell'ultima versione.

Una soluzione al problema può arrivare da Kexec.

Kexec-Tool è in grado di caricare in memoria l'intero Kernel e avviare il processo di aggiornamento senza riavviare il sistema.

In certi casi, soprattutto in caso di grossi aggiornamenti, è stata rilevata un pò di instabilità; in quela caso non possiamo far altro che riavviare.

Per installare il programma su Debian e derivate:

# aptitude install kexec-tool

A questo punto aggiornaimo il Kernel con il normale aggiornamento dei repo (se è previsto un aggiornamento ovviamente), e poi lanciamo questo comando:

# latestkernel=`ls -t /boot/vmlinuz-* | sed "s/\/boot\/vmlinuz-//g" | head -n1`

Dopo di che verifichiamo il corretto aggiornamento con:

# echo $latestkernel

Se è tutto ok diamo questi altri comandi:

# kexec -l /boot/vmlinuz-${latestkernel} --initrd=/boot/initramfs-${latestkernel}.img --append="`cat /proc/cmdline`"
# kexec -e
# uname -r

L'ultimo dovrebbe indicarci il Kernel usato; così possiamo controllare che stiamo usando l'ultima versione installata.

Enjoy!