Corso Linux / Installare e aggiornare pacchetti con APT e DNF

Il gestore di pacchetti Linux recupera programmi e dipendenze dai repository configurati e ne gestisce installazione, aggiornamento e rimozione. Debian e Ubuntu usano comunemente APT tramite apt; Rocky Linux usa DNF tramite dnf. Per aggiornare con criterio, distingui l’aggiornamento delle informazioni sui pacchetti disponibili dalla modifica effettiva del software installato.

Questa lezione riguarda ricerca, installazione e aggiornamento dei pacchetti. Per gestire un programma installato come servizio in background, consulta anche il corso su stati e avvio dei servizi systemd (in inglese).

Gli ambienti di riferimento sono macchine virtuali con un’installazione ordinaria di Ubuntu 26.04 LTS o Rocky Linux 9, usando rispettivamente APT o DNF. LTS significa Long Term Support, supporto a lungo termine. Container, Windows Subsystem for Linux (WSL) e altre versioni possono avere configurazioni differenti. Prepara l’accesso alla console per il ripristino e annota le versioni seguendo il corso sull’ambiente di prova in macchina virtuale (in inglese). Serve una connessione ai repository e un account autorizzato per i comandi con sudo; esegui le prove di modifica su una VM di cui puoi ripristinare lo stato.

Pacchetti, repository e dipendenze

Un pacchetto riunisce il software e informazioni d’installazione, come versione e dipendenze. Un repository è una fonte di pacchetti fornita dalla distribuzione o aggiunta dall’amministratore. Se un programma richiede una libreria, il gestore può proporre di installarla insieme come dipendenza. Prima di confermare controlla provenienza, pacchetti da aggiungere, sostituire o rimuovere e possibili effetti sui servizi.

La versione disponibile e il risultato dipendono dalla distribuzione, dal rilascio e dai repository attivi. Non eseguire sullo stesso sistema indifferentemente i comandi Debian/Ubuntu e quelli Rocky Linux. Identifica prima l’ambiente:

cat /etc/os-release
command -v apt
command -v dnf

I campi ID e, se presente, ID_LIKE di /etc/os-release aiutano a riconoscere la famiglia della distribuzione. command -v indica se la shell trova il comando, non descrive tutte le politiche di gestione dei pacchetti. Se un comando manca, la verifica può non stampare nulla e restituire uno stato diverso da zero: non è necessario che entrambi i gestori siano presenti. Le immagini minime e i container possono ometterli o limitarne l’uso.

Confrontare le operazioni di APT e DNF

Operazione Debian/Ubuntu: APT Rocky Linux: DNF
Cercare un pacchetto apt search tree dnf search tree
Leggere le informazioni apt show tree dnf info tree
Verificare gli aggiornamenti sudo apt update, poi apt list --upgradable sudo dnf check-update
Installare sudo apt install tree sudo dnf install tree
Aggiornare i pacchetti installati sudo apt upgrade sudo dnf upgrade
Rimuovere sudo apt remove tree sudo dnf remove tree

tree è un pacchetto di esempio: verificane la disponibilità nei repository del tuo sistema. In DNF, check-update restituisce 100 quando trova aggiornamenti, 0 quando non ne trova e 1 in caso di errore gestito dal comando. Un’automazione non deve quindi classificare automaticamente 100 come un errore. Installazione, aggiornamento e rimozione cambiano il sistema: eseguili nell’ambiente di prova dopo aver controllato i pacchetti coinvolti.

Usare APT su Debian e Ubuntu

APT (Advanced Package Tool) gestisce pacchetti nel formato Debian .deb. sudo apt update scarica dai repository configurati le informazioni aggiornate sui pacchetti: da solo non esegue l’upgrade dei programmi installati. Esamina i candidati con apt list --upgradable, quindi usa sudo apt upgrade per applicare gli aggiornamenti dopo la conferma.

sudo apt update
apt list --upgradable
sudo apt upgrade

Leggi i pacchetti proposti, i nuovi elementi richiesti e la quantità da scaricare prima di confermare. apt upgrade può aggiungere dipendenze, ma non rimuove pacchetti già installati: se un aggiornamento richiede una rimozione, lo lascia in sospeso. full-upgrade ha un comportamento diverso e può rimuovere pacchetti; non sostituirlo automaticamente al comando dell’esempio. Se il download dei metadati fallisce, l’elenco può essere vecchio o incompleto: risolvi gli avvisi prima di considerarlo aggiornato.

apt è pensato soprattutto per l’uso interattivo. Per script che richiedono un’interfaccia stabile, valuta strumenti come apt-get secondo la documentazione della distribuzione, senza presumere che tutte le opzioni siano intercambiabili. Per un nuovo programma, cerca e leggi prima le informazioni. Nelle quattro righe seguenti, il terzo comando installa effettivamente il pacchetto; l’ultimo verifica la versione:

apt search tree
apt show tree
sudo apt install tree
tree --version

Se l’installazione riesce, tree --version mostra la versione disponibile nel tuo ambiente, che può variare tra distribuzioni e repository. Se il pacchetto non viene trovato, controlla rilascio, repository e ortografia. Non aggiungere repository arbitrari o eseguire script d’installazione trovati online senza verificarne la provenienza.

Usare DNF su Rocky Linux

Rocky Linux gestisce pacchetti RPM (RPM Package Manager) con DNF, il gestore noto come Dandified YUM. Questi esempi si riferiscono a DNF della serie 4 nell’ambiente Rocky Linux 9 indicato sopra. Consulta i candidati con dnf search e dnf info, quindi installa con sudo dnf install. DNF presenta una transazione, cioè l’insieme di operazioni proposte su pacchetti e dipendenze: leggi l’elenco prima di accettare, senza aggiungere automaticamente opzioni di conferma.

dnf search tree
dnf info tree
sudo dnf install tree
tree --version

Controllare se esistono aggiornamenti e applicarli sono azioni diverse. Nel blocco seguente check-update elenca i candidati, mentre upgrade modifica i pacchetti installati dopo l’approvazione della transazione. I comandi DNF possono aggiornare la cache dei metadati quando necessario; non interpretare la verifica come una garanzia che ogni candidato sia installabile senza problemi di dipendenze.

sudo dnf check-update
sudo dnf upgrade

I normali aggiornamenti dei pacchetti non sono una migrazione fra versioni principali di Rocky Linux. dnf upgrade non converte Rocky Linux 9 nella versione principale successiva. La procedura supportata dal progetto per il passaggio fra versioni principali prevede una nuova installazione e il trasferimento pianificato di configurazioni e dati: consulta la guida ufficiale del rilascio, verifica la compatibilità e prepara i backup.

Cosa controllare prima dell’installazione

  1. Identifica famiglia, versione del sistema operativo e repository attivi. Cerca il pacchetto richiesto in una fonte ufficiale o comunque attendibile.
  2. Leggi nome, versione, descrizione e dipendenze. Nomi simili non garantiscono la stessa funzione.
  3. Controlla aggiunte, eventuali rimozioni e spazio su disco proposti. Su un server prepara una finestra di manutenzione, l’eventuale interruzione dei servizi e un percorso di ripristino.
  4. Dopo l’esecuzione leggi stato d’uscita, errori e avvisi, poi verifica la versione del programma e lo stato dei servizi interessati.
  5. Non presumere di poter sempre tornare alla versione precedente. Il recupero dipende da backup, versioni ancora disponibili e procedure della distribuzione.

La necessità di riavviare dopo un aggiornamento di sicurezza dipende dai pacchetti modificati e dalle politiche operative. Installare un nuovo kernel non cambia immediatamente quello in esecuzione. Verifica la versione attuale con uname -r e pianifica il riavvio quando necessario, considerando gli effetti sui servizi.

Rimozione e pulizia: cosa evitare

apt remove e dnf remove rimuovono il pacchetto indicato e possono coinvolgere altri pacchetti secondo dipendenze e configurazione: esamina sempre la proposta. Con APT, purge rimuove anche i file di configurazione gestiti dal pacchetto, quindi ha un effetto più ampio di remove. Prima di usare autoremove per eliminare dipendenze installate automaticamente e non più necessarie, verifica che l’elenco non includa programmi che vuoi conservare. Il trattamento di directory dati e file creati manualmente dipende da pacchetti e script; la rimozione non sostituisce un backup e non garantisce di cancellare tutti i dati personali.

dnf history aiuta a esaminare le transazioni precedenti, ma la presenza di un record non garantisce il ripristino completo di ogni cambiamento. Servono backup separati per configurazioni, dati e modifiche ai repository esterni; anche un tentativo di annullamento dipende dai pacchetti ancora reperibili.

Documentazione di riferimento

La guida Ubuntu Server alla gestione dei pacchetti illustra ricerca, installazione e aggiornamento. Il manuale apt di Ubuntu 26.04 LTS precisa le differenze fra i comandi. Il riferimento ufficiale dei comandi DNF descrive install, check-update, upgrade e gli stati d’uscita. Consulta la guida Rocky Linux alle migrazioni supportate per distinguere gli aggiornamenti ordinari dal passaggio a un’altra versione principale.