Ho preso in gestione alcune macchine Debian non più aggiornate da anni; mi sono accorto che erano rimaste ferme a Debian 10 ed era arrivato il momento di aggiornarle.
Non si può saltare dalla 10 alla 13 direttamente
Debian non supporta l’aggiornamento diretto da una release vecchia a una recente saltando le versioni intermedie. Ogni salto di release ha la sua procedura documentata, i suoi repository e — soprattutto — le sue trappole. Il percorso corretto da Debian 10 (Buster) a Debian 13 (Trixie) passa quindi per tutte le tappe intermedie:
Buster → Bullseye → Bookworm → Trixie
Tre upgrade a catena, sì, ma nessuno di questi è complicato se si segue l’ordine giusto. In questa guida riporto la procedura completa che ho applicato, compresa la gestione dei repository archiviati e delle chiavi GPG legacy.
Prima di partire: le precauzioni (non saltatele)
Qualunque sia la tappa, alcune regole valgono sempre:
- Backup completo prima di ogni salto: al minimo
/etc,/home, l’elenco dei pacchetti (dpkg --get-selections > pacchetti.txt) e, se possibile, uno snapshot o un’immagine della macchina. - Spazio su disco: verificatelo con
df -h, con attenzione a/bootche si riempie facilmente con vecchi kernel. - Repository di terze parti: i file in
/etc/apt/sources.list.d/(GitLab, Docker, NodeSource, PostgreSQL…) sono la causa numero uno di upgrade falliti. Commentateli prima di ogni salto e riattivateli solo dopo aver verificato la compatibilità con la release di destinazione. - Console, non SSH cieco: se operate da remoto, usate
screenotmux, così una connessione caduta non vi lascia a metà di undpkg --configure -a. - Una tappa alla volta: riavviate, verificate, solo poi passate alla successiva.
Tappa 1 — Da Buster a Bullseye (Debian 10 → 11)
Il problema: entrambe le release sono archiviate
Debian 10 e Debian 11 non sono più nei repository ufficiali: sono finite su archive.debian.org. I primi comandi quindi puntano lì.
Passaggio 1 — Portare Buster al massimo aggiornamento possibile
apt update && apt upgrade
apt full-upgrade
Passaggio 2 — Aggiornare le sorgenti di Buster verso l’archivio
Sostituire il contenuto di /etc/apt/sources.list con:
deb http://archive.debian.org/debian buster main contrib non-free
deb http://archive.debian.org/debian-security buster/updates main contrib non-free
Poi:
apt update
apt full-upgrade
Passaggio 3 — Impostare le sorgenti di Bullseye
Sovrascrivere /etc/apt/sources.list con:
deb http://archive.debian.org/debian bullseye main contrib non-free
Nota importante: non esiste una riga di sicurezza separata. Gli aggiornamenti di sicurezza di Bullseye (il cui LTS è terminato nell’agosto 2024) non sono più pubblicati — l’archivio contiene l’ultimo stato disponibile. Questa tappa è quella da fare per primo e più in fretta possibile: Bullseye archiviato non riceve più nulla.
Siccome i file Release archiviati hanno scadenze (Valid-Until) ormai passate, disattiviamo il controllo creando /etc/apt/apt.conf.d/99no-check-valid-until con:
Acquire::Check-Valid-Until "false";
Passaggio 4 — L’upgrade vero e proprio
apt update
apt upgrade --without-new-pkgs
apt full-upgrade
Durante il processo APT chiederà come gestire i file di configurazione modificati a mano: di regola conviene tenere la versione attuale e verificare dopo le differenze.
Passaggio 5 — Pulizia e riavvio
apt --purge autoremove
reboot
Verifica:
cat /etc/debian_version # deve dire 11.x
Tappa 2 — Da Bullseye a Bookworm (Debian 11 → 12)
Da qui in poi le cose migliorano: Bookworm è ancora supportato, quindi si torna ai mirror ufficiali.
Passaggio 1 — Aggiornare Bullseye
apt update
apt full-upgrade
Passaggio 2 — Nuove sorgenti
Sovrascrivere /etc/apt/sources.list con:
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://deb.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
Due accorgimenti:
- Rimuovere il file di scorciatoia creato nella tappa precedente:
rm /etc/apt/apt.conf.d/99no-check-valid-until— con i repository attivi vogliamo che il controllo di validità sia attivo. non-free-firmwareè una componente introdotta con Bookworm: aggiungetela se usate firmware (schede Wi-Fi, GPU, ecc.).
Passaggio 3 — Upgrade
apt update
apt upgrade --without-new-pkgs
apt full-upgrade
apt --purge autoremove
reboot
Verifica: /etc/debian_version deve dire 12.x.
Tappa 3 — Da Bookworm a Trixie (Debian 12 → 13)
Procedura identica alla precedente, con sorgenti:
deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
deb http://deb.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
E poi:
apt update
apt upgrade --without-new-pkgs
apt full-upgrade
apt --purge autoremove
reboot
Trixie porta novità visibili come APT 3 (output più compatto e colorato) e versioni molto più recenti di Python, PHP e GCC: se sul server girano applicazioni con dipendenze specifiche, consultate le note di rilascio ufficiali prima del salto.
Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui
Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Commenta