Se abbiamo però un server o un sistema operativo collegato ad esempio macchine che funzionano 24 ore al giorno il riavvio è un bel problema, per questo motivo molti sviluppatori stanno cercando di trovare nuove soluzioni per poter aggiornare soprattutto il Kernel senza dover riavviare l’intero sistema operativo.
Il nostro lettore TopoRuggente ci ha segnalato anche il tool Kexec strumento open source in grado di gestire velocemente i riavvii kexec. In poche parole Kexec-Tool dispone di utili strumenti che consentono di caricare in memoria l’intero Kernel avviando cosi il processo di aggiornamento per poi ripristinare il Kernel aggiornato in un secondo momento, il tutto bypassando quindi il normale processo di avvio.
Prima di procedere con la guida ricordo che in caso di errori durante l’aggiornamento potrebbero rendere instabile il nostro sistema operativo, consiglio quindi di testare la guida su Virtualbox.
Per installare Kexec-Tool in Ubuntu, Debian e derivate basta digitare:
sudo apt-get install kexec-tools
Per installare Kexec-Tool in Fedora, CentOS, RHEL basta digitare:
su yum install kexec-tools
a questo punto aggiorniamo il Kernel dai nostri repository
se abbiamo Ubuntu o una derivata loggiamoci da root digitando sudo -s per le altre distribuzioni basta dare un semplice su
una volta aggiornato il Kernel dovremo riavviare invece basta dare:
latestkernel=`ls -t /boot/vmlinuz-* | sed "s//boot/vmlinuz-//g" | head -n1`
e successivamente verifichiamo di aver correttamente installato l’aggiornamento digitando:
echo $latestkernel
se corretto avremo la versione del kernel aggiornata,
a questo punti digitiamo:
kexec -l /boot/vmlinuz-${latestkernel} --initrd=/boot/initramfs-${latestkernel}.img --append="`cat /proc/cmdline`"
e poi
kexec -e
al termine del processo digitiamo:
uname -r
dovremo avere come risultato il Kernel aggiornato attualmente attivo nella nostra distribuzione.
Ringrazio il nostro lettore TopoRuggente per la segnalazione,