Riferimento tecnico · GNU/Linux

Gestione dei pacchetti con APT

APT decide come soddisfare dipendenze usando gli archivi configurati; dpkg registra e applica lo stato dei singoli pacchetti.

Pacchetti e dipendenze organizzati tra archivi e nodi di sistema

Indici, pacchetti e stato locale

apt update scarica gli indici: non aggiorna i programmi installati. apt upgrade calcola invece un piano per i pacchetti presenti. Leggere sempre il riepilogo, soprattutto se propone rimozioni. Il sistema locale conserva anche lo stato gestito da dpkg, che APT usa per conoscere file, versioni e configurazioni.

sudo apt update
apt list --upgradable
sudo apt upgrade

Separare aggiornamento degli indici e applicazione del piano rende l’operazione verificabile. Se il primo passaggio fallisce, risolvere firma, rete o sorgente prima di eseguire altro. La Debian Reference dedica un’ampia sezione alla gestione dei pacchetti.

Cercare prima di installare

La ricerca per parole chiave restituisce descrizioni, mentre apt show espone dipendenze, sezione e origine. Controllare il nome esatto evita pacchetti omonimi o vecchie istruzioni trovate altrove. L’installazione esplicita marca in genere il pacchetto come richiesto manualmente.

apt search 'termine'
apt show nome-pacchetto
sudo apt install nome-pacchetto

Per capire quale pacchetto ha installato un file già presente si può interrogare dpkg. Per cercare un file non ancora installato servono indici specifici e strumenti ulteriori; non confondere i due casi. Le pagine di manuale locali documentano la sintassi disponibile nella propria release.

Rimozione, purge e dipendenze automatiche

apt remove rimuove il programma conservando in genere i file di configurazione gestiti dal pacchetto. apt purge rimuove anche quei file, ma non cancella automaticamente dati e configurazioni nella home degli utenti. Prima di usare autoremove, simulare e leggere l’elenco.

apt -s autoremove
sudo apt remove nome-pacchetto
# usare purge solo quando si vuole eliminare anche la configurazione di sistema

Un pacchetto può essere diventato automatico dopo la rimozione del programma che lo richiedeva. Se serve direttamente, marcarlo come manuale prima di pulire. La simulazione non sostituisce un backup, ma rende visibile il piano.

Sorgenti coerenti

Le sorgenti definiscono suite, componenti e chiavi usate per verificare i metadati. Mescolare release senza una politica esplicita può portare APT a scegliere dipendenze da rami diversi. Prima di aggiungere un archivio esterno chiedersi se il pacchetto esiste già in Debian e come verrà mantenuto durante un avanzamento.

I sistemi recenti possono usare file in formato DEB822 sotto /etc/apt/sources.list.d/; installazioni più vecchie possono avere il tradizionale /etc/apt/sources.list. Non copiare un file completo senza adattare suite e componenti. Conservare una nota della modifica e verificare il risultato con apt policy.

Policy, pinning e hold

apt policy mostra versioni candidate e provenienza. Un hold impedisce l’aggiornamento automatico di uno specifico pacchetto, ma può bloccare dipendenze o correzioni di sicurezza: va documentato e rimosso appena non serve. Il pinning è uno strumento ancora più ampio e richiede priorità comprese, non numeri copiati.

apt policy nome-pacchetto
sudo apt-mark hold nome-pacchetto
apt-mark showhold
sudo apt-mark unhold nome-pacchetto

Quando un problema richiede un hold, annotare la ragione e una condizione di uscita. Dimenticare un blocco silenzioso è peggio di rimandare consapevolmente un aggiornamento.

Riparare senza nascondere l’errore

Se una configurazione è stata interrotta, leggere il messaggio completo prima di rilanciare comandi. dpkg --configure -a riprende configurazioni pendenti; apt --fix-broken install propone un piano per dipendenze incoerenti. Entrambi modificano il sistema e il loro riepilogo va valutato.

sudo dpkg --configure -a
sudo apt --fix-broken install

Non cancellare database o directory di APT per “sbloccare” il gestore. Lock attivi spesso indicano un altro processo legittimo. Identificare chi detiene il lock e attendere il completamento è più sicuro di rimuovere file di stato. Dopo la riparazione, eseguire una nuova simulazione permette di verificare che non restino rimozioni inattese.