Comando apt-get: simulare e gestire pacchetti su Debian e Ubuntu

apt-get gestisce installazione, rimozione e aggiornamento dei pacchetti su Debian e Ubuntu. Per preparare una modifica usa -s per simulare il piano; -y risponde automaticamente alle conferme e va riservato a operazioni già valutate.

Fa parte di APT, Advanced Package Tool. Le sue funzioni si sovrappongono a quelle di apt, ma apt-get è preferibile negli script per la compatibilità dell’interfaccia. Questo non elimina la necessità di controllare repository, dipendenze ed errori.

Sintassi e preparazione

apt-get [options] command [packages...]

Sostituisci i segnaposto con operazioni e nomi reali. Controlla cat /etc/os-release, apt-get --version e man apt-get sul sistema: gli esempi riguardano distribuzioni che usano APT. Non eseguire i comandi di installazione su un sistema importante soltanto per provare la sintassi.

Per aggiornare indici o modificare pacchetti occorrono privilegi adeguati, indicati qui con sudo. La simulazione può essere avviata senza sudo, con i limiti descritti sotto. Prima di modificare il sistema verifica spazio, backup e possibilità di ripristino, oltre agli eventuali effetti sui servizi in uso.

Aggiornare gli indici, vedere il piano e installare

Aggiornare le informazioni dai repository. Il comando seguente scarica gli indici dalle sorgenti configurate, ma non aggiorna i programmi installati:

sudo apt-get update

Leggi l’esito completo. Se una sorgente non è disponibile o restituisce errori di firma, non dare per scontato che tutti gli indici siano aggiornati. Verifica il messaggio e la configurazione invece di ignorare l’errore o disabilitare i controlli di autenticità.

Esaminare l’aggiornamento ordinario. Puoi vedere cosa propone apt-get senza applicare le modifiche:

apt-get -s upgrade

Con le opzioni predefinite, apt-get upgrade aggiorna pacchetti già installati senza installarne di nuovi né rimuoverne altri. Gli aggiornamenti che richiedono cambiamenti di questo tipo vengono lasciati in sospeso. Perciò il piano può differire da quello di apt upgrade: non sostituire automaticamente un comando con l’altro.

Installare un pacchetto scelto. Se desideri curl, dopo aver verificato il candidato e il piano puoi avviare:

sudo apt-get install curl

Controlla dipendenze, versioni, spazio richiesto e ogni eventuale rimozione prima di confermare. Se non corrispondono alla tua intenzione, rifiuta e analizza il motivo. Non aggiungere -y per nascondere domande che non hai ancora valutato.

Interpretare una simulazione

Per concentrarti sulla sola installazione di curl e sulle dipendenze necessarie, usa:

apt-get -s install curl

Questa operazione non installa curl. Ecco soltanto la forma di alcune righe possibili, con pacchetti e versioni dipendenti dal sistema:

Inst curl (...)
Conf curl (...)

Inst indica una futura operazione di spacchettamento, che può riguardare un’installazione o un aggiornamento; Conf indica la configurazione prevista. Una riga Remv indica una rimozione. I puntini nell’esempio sono segnaposto: non sono versioni reali né un risultato garantito.

Leggi l’intero piano, comprese le dipendenze, i pacchetti trattenuti e quelli da rimuovere. Se curl è già installato nella versione candidata, potrebbe non esserci nulla da fare. Per controllare candidato e provenienza puoi consultare apt-cache policy curl prima dell’operazione.

La simulazione non blocca il gestore dei pacchetti: lo stato può cambiare mentre viene eseguita o prima dell’installazione reale. Inoltre, un utente non amministratore potrebbe non leggere tutta la configurazione APT. Considera quindi il piano un’anteprima dello stato accessibile in quel momento e ricontrollalo prima della modifica effettiva.

Comandi e opzioni principali

Comando o opzione Funzione e limite
update Aggiorna gli indici dei repository senza aggiornare i programmi installati.
install / remove Installa o rimuove i pacchetti selezionati, valutando le dipendenze.
upgrade / dist-upgrade Upgrade ordinario oppure aggiornamento con risoluzione delle dipendenze che può comportare rimozioni.
-s, --simulate Mostra il piano senza applicare le modifiche; lo stato non viene bloccato.
-y, --yes Risponde sì alle conferme; non sostituisce la revisione del piano.

Il manuale di apt-get documenta dist-upgrade per gestire anche dipendenze che cambiano e possibili rimozioni. Nell’interfaccia apt il comando corrispondente è chiamato full-upgrade. Un aggiornamento più ampio non va avviato soltanto perché upgrade trattiene un pacchetto: esamina prima la causa e il piano.

Rimuovere un pacchetto con remove lascia normalmente alcuni file di configurazione; purge elimina anche quei residui gestiti dal pacchetto. Prima di rimuovere o usare autoremove, controlla i nomi proposti e conserva i dati e le configurazioni che ti servono. Nessuna di queste operazioni è un sostituto di un backup.

Controlli necessari negli script

In uno script, controlla lo stato di ogni passaggio prima di avviare il successivo. Apt-get restituisce normalmente 0 in caso di successo e 100 in caso di errore. In una shell POSIX, echo $? va eseguito subito dopo il comando interessato, prima di qualsiasi altra operazione che sostituisca quello stato.

Non limitarti a cercare una parola nell’ultima riga dell’output: conserva i messaggi utili e interrompi il flusso se una fase essenziale fallisce. Un aggiornamento parziale degli indici merita comunque di essere letto. Ripetere alla cieca installazioni o forzare correzioni delle dipendenze può produrre un piano diverso da quello iniziale.

-y automatizza le risposte, ma non garantisce che tutte le altre componenti del processo siano prive di interazione o che il piano sia adatto al tuo sistema. Non aggirare un arresto di sicurezza con opzioni che consentono pacchetti non autenticati, rimozioni essenziali o downgrade non verificati. Per automatizzare, parti da repository affidabili e da una procedura verificata sul sistema di destinazione.

Se un altro gestore è in esecuzione, attendi il completamento; non eliminare i file di blocco per forzare l’accesso. Prima di aggiornamenti importanti prevedi una finestra di manutenzione e un recupero mediante backup o snapshot appropriati. Reinstallare una vecchia versione non ricrea necessariamente dati e configurazioni precedenti.

Domande frequenti

Devo sempre usare apt-get al posto di apt?

Apt è comodo per l’uso interattivo. Negli script è preferibile apt-get, insieme agli strumenti dedicati come apt-cache, perché sono progettati per mantenere quanto più possibile la compatibilità.

Una simulazione riuscita garantisce lo stesso piano al momento dell’installazione?

No. Il sistema e gli indici possono cambiare, e una simulazione senza privilegi potrebbe leggere una configurazione incompleta. Ricontrolla il piano effettivo prima di confermare.

Documentazione ufficiale

Il manuale ufficiale di apt-get per Debian trixie descrive operazioni, simulazione, conferme automatiche e stati di uscita. Per il confronto con l’interfaccia interattiva consulta anche il manuale ufficiale di apt e verifica la documentazione della versione installata.