Per chi non lo sapesse, Canonical permette l’aggiornamento delle proprie LTS release a partire dalla Service Pack 1 della versione successiva. Quindi per aggiornare dalla 20.04 alla 22.04 era necessario attendere appunto la versione 22.04.1 che è uscita i primi di agosto 2022.
L’aggiornamento in sé è piuttosto semplice, anche perché i passaggi che richiedono l’attenzione dell’utente sono pochi. È invece necessario fare qualche operazione prima dell’aggiornamento vero e proprio. Va detto che l’aggiornamento sarà tanto più semplice e sicuro quanto più avrete usato pacchetti standard. Se la vostra installazione presenta particolarità quasi sicuramente saranno richiesti dei passaggi in più che vanno vagliati a seconda delle situazioni.
Prendendo in esame una installazione tipo, ad esempio quella di un webserver con WordPress per prima cosa è necessario effettuare un backup del database e dei file del sito web.
Anche perché l’aggiornamento oltre all’avanzamento di versione di PHP, riceve pure quello relativo al DataBase che è un po’ più delicato.
Una volta assicurato il backup controlliamo di avere spazio a sufficienza, perché nella fase di transizione ci troveremo con il materiale del sistema nuovo con quello vecchio. Tutte le operazioni saranno svolte via linea di comando via SSH o meglio attraverso una console di sistema offerta dal gestore del server (o da un monitor e tastiera se disponete fisicamente del server davanti a voi). Quindi per essere sicuri almeno il 50% dello spazio dovrebbe essere libero. Il comando per verificare lo spazio è:
df -h
A questo punto verifichiamo che il nostro server sia predisposto ad avanzare nel canale LTS degli aggiornamenti, diamo il comando
cat /etc/update-manager/release-upgrades
deve comparire la riga “Prompt=lts” se così non è va modificato il file release-upgrades, ad esempio usando l’editor Nano
nano /etc/update-manager/release-upgrades
Il passo successivo è controllare che non ci siano pacchetti in stato di hold, cioè “cristallizzati” ad una certa versione. Si tratta di un comando che viene dato manualmente per bloccare un pacchetto ad una certa versione ed evitare che si aggiorni. Nel 99% dei casi non si usa mai e il comando di seguito non dovrebbe tornare nulla:
sudo apt-mark showhold
Nel caso dovesse riportare qualche risultato, segnatevi il pacchetto e poi date il comando:
sudo apt-mark unhold nomedelpacchetto
Arrivati a questo punto diamo un ultimo aggiornamento di sistema con il classico comando
sudo apt update && apt upgrade -y
Nel caso ci siano aggiornamenti effettuiamo anche un reboot del server per sicurezza. Ora ci mancherebbe il comando finale che dà il via all’aggiornamento, ma preventivamente dobbiamo aprire la porta 1022 nel Firewall se stiamo utilizzando una Shell via SSH, viceversa se state usando una console non è necessario. Presumendo che si stia utilizzando UFW, daremo il comando:
sudo ufw allow 1022/tcp
Questo apre la porta, che poi dovremo ricordarci di chiudere, per agevolare l’avanzamento del sistema operativo e non tagliarvi fuori durante l’aggiornamento. Bene a questo punto lanciamo il fatidico:
sudo do-release-upgrade
Da qui in poi parte la procedura di avanzamento della versione. Se siete agganciati via SSH, la vostra connessione sarà riattivata sulla porta 1022. Possiamo ancora fermarci, o per lo meno fino a quando nella prima parte viene effettuata una analisi di quello che è presente sul server, e poi ci viene chiesto se eliminare il materiale vecchio e iniziare la procedura. Da qui in poi non sarà più possibile tornare indietro.
Durante la procedura non dovrebbe chiedere nulla, ma questo dipende un po’ da come è stato configurato il server, ad esempio nel mio caso ha chiesto per ben due volte se volessi mantenere la configurazione del server SSH, cosa che ho fatto. Verso la fine della procedura vi verrà chiesta la conferma per eliminare il software obsoleto che è stato identificato, e sostituito da quello nuovo, dal sistema di aggiornamento.
Il Sito web ovviamente diventa non raggiungibile, ma per poco, addirittura questo era tornato online ben prima del riavvio finale.
Una volta riavviato e controllato che tutto sia a posto, ricordiamoci di eliminare la regola sul Firewall:
ufw delete allow 1022/tcp
Da qui in poi avremo attiva la propria versione di Ubuntu 22.04