La gestione dei server Linux può sembrare un lavoro ingrato soprattutto se devi eseguire attività ripetute.
L'aggiornamento del server è una di queste attività. Sebbene tu possa scegliere di installare automaticamente gli aggiornamenti di sicurezza sul tuo server, ciò non ti rende completamente libero dall'attività di manutenzione.
Come mai? Perché gli aggiornamenti di sicurezza del kernel richiedono il riavvio del server Ubuntu.
Se utilizzi il server Ubuntu su uno dei servizi cloud come Linode, noterai che ti avvisa che il tuo sistema richiede il riavvio.
*** È necessario il riavvio del sistema ***
E se ti dicessi che c'è un modo per installare tutti gli aggiornamenti inclusi gli aggiornamenti del kernel senza riavviare il server. Si chiama patch live del kernel o patch live.
Cos'è il live patching?
L'applicazione di patch in tempo reale è il processo di applicazione delle correzioni di sicurezza a un kernel Linux in esecuzione senza riavviare il sistema.
Il processo è piuttosto complesso e rischioso ed è per questo che non è disponibile per impostazione predefinita nelle distribuzioni Linux.
I precedenti amministratori di sistema Linux dovevano fare molto lavoro manuale per creare una hot patch al kernel. Il supporto per le patch live è stato aggiunto nel kernel Linux stesso dalla versione 4.0. Ciò significa che il tuo sistema Ubuntu dovrebbe supportare le patch live.
Tuttavia, puoi sempre assicurarti che sia supportato usando il seguente comando in Ubuntu:
cat /boot/config-$(uname -r) | grep LIVEPATCH
Se vedi Y
, significa che il tuo kernel supporta il livepatching.
Consideriamo ora le patch live del kernel. Avrai bisogno di un servizio di patch live. Esistono alcuni strumenti che consentono l'applicazione di patch in tempo reale del kernel Linux. Come ksplice di Oracle o kGraft di SUSE e Livepatch di Ubuntu.
Tieni presente che il live patching viene venduto come servizio da aziende come KernelCare. Ubuntu lo consente gratuitamente per un massimo di 3 server per account Ubuntu (spiegato più avanti).
Poiché la discussione qui riguarda Ubuntu, sarebbe meglio usare il servizio di patch live di Ubuntu stesso.
Abilitazione di Live Patching sul server Ubuntu
Vai alla pagina web di Canonical Livepatch Service.
Dovrai creare un account con Ubuntu One, se non ne hai già uno.
Una volta effettuato l'accesso, potrai vedere il token del tuo account e un paio di comandi che dovrai utilizzare sul server per il quale desideri attivare il live patching.
Una volta ottenuto questo token, accedi al tuo server Ubuntu.
Installa prima lo strumento di patch live:
sudo snap install canonical-livepatch
E poi, abilita la patch live del kernel con il token che hai copiato dal tuo account Ubuntu One.
sudo canonical-livepatch enable ad108xxxxxxxxxxxxxxxxxxxxxxxxx
Questo è tutto. Ora che hai abilitato le patch live, non devi preoccuparti di riavviare il tuo server. Immagina il tempo di attività del tuo server.
A proposito di uptime, permettetemi di condividere l'inno di sysadmin Uptime Funk. È un video parodia così riconoscibile e divertente da SUSE Linux.
Non riavviarlo, basta applicare la patch :)