51 04/04/2026 07/04/2026 8 min

Comandi apt e apt-get: guida pratica per Linux

Su Debian, Ubuntu e derivate, la gestione dei pacchetti passa quasi sempre da apt e apt-get. I due comandi si assomigliano, ma non sono identici: uno è pensato per l’uso quotidiano, l’altro per scenari più stabili, script e compatibilità storica. Capire quando usare l’uno o l’altro evita errori banali, aggiornamenti incompleti e manutenzione fatta male.

Questa guida mette ordine in modo pratico: differenze reali, comandi essenziali, pulizia del sistema, verifica dei pacchetti e qualche criterio semplice per lavorare senza sorprese.

Cos’è apt e cos’è apt-get

apt è un frontend moderno che unifica funzioni molto usate di apt-get e apt-cache. È più comodo, mostra un output più leggibile e copre bene le operazioni comuni: aggiornare gli indici, installare pacchetti, rimuovere software, cercare nomi e controllare informazioni.

apt-get è lo strumento storico e resta il riferimento per automazione, script e compatibilità. È meno “amichevole” nell’output, ma è molto stabile e prevedibile. In molti casi il risultato finale è lo stesso, ma il contesto d’uso cambia.

In pratica:

  • apt: uso manuale, shell interattiva, manutenzione quotidiana.
  • apt-get: script, procedure ripetibili, ambienti dove serve comportamento molto stabile.

Differenze pratiche tra apt e apt-get

La differenza non è solo estetica. apt è stato introdotto per semplificare l’esperienza dell’amministratore e ridurre il numero di comandi da ricordare. apt-get invece rimane più “basso livello” come interfaccia, con opzioni tradizionali e comportamento consolidato.

Le differenze più utili da ricordare sono queste:

  • Output: apt è più leggibile e colorato, apt-get è più asciutto.
  • Uso quotidiano: apt è spesso più comodo per chi lavora da terminale in modo manuale.
  • Script: apt-get è generalmente preferito perché cambia meno nel tempo.
  • Funzionalità: apt integra comandi frequenti; apt-get resta più completo in alcune opzioni classiche.

Per amministrare un server o un PC Linux, la regola più semplice è questa: usa apt quando lavori a mano, usa apt-get quando automatizzi.

Prima di iniziare: aggiornare gli indici

Prima di installare o aggiornare pacchetti, conviene sempre sincronizzare la lista dei repository. Questo evita errori del tipo “package not found” o installazioni con versioni vecchie.

sudo apt update

Questo comando scarica i metadati dei repository configurati. L’esito atteso è una lista aggiornata dei pacchetti disponibili, senza errori di rete o firme GPG. Se compaiono avvisi, vanno letti prima di procedere.

Se vuoi vedere anche quali pacchetti sono aggiornabili:

apt list --upgradable

È un controllo utile prima di fare modifiche su server in produzione o su macchine che devono restare stabili.

Installare un pacchetto con apt

Per installare un software, il comando più semplice è:

sudo apt install nome-pacchetto

Per esempio:

sudo apt install nginx

Se il pacchetto è disponibile nei repository, apt lo scarica insieme alle dipendenze necessarie. L’esito atteso è l’installazione completata senza conflitti di dipendenze.

Se vuoi installare più pacchetti insieme:

sudo apt install curl wget htop

Questo è utile quando prepari un server o un ambiente di test. Se un pacchetto richiede conferma, apt mostra il riepilogo prima di procedere.

Rimuovere un pacchetto in modo pulito

Per eliminare un pacchetto senza toccare i file di configurazione residui:

sudo apt remove nome-pacchetto

Per esempio:

sudo apt remove apache2

Se vuoi rimuovere anche i file di configurazione associati:

sudo apt purge nome-pacchetto

remove è meno aggressivo; purge è più pulito ma più definitivo. Se stai testando un servizio o vuoi conservare eventuali configurazioni, parti da remove. Se invece vuoi una disinstallazione completa, usa purge.

Dopo una rimozione, spesso conviene pulire le dipendenze non più necessarie:

sudo apt autoremove

Attenzione: questo comando è utile, ma va sempre controllato il riepilogo prima di confermare, perché potrebbe proporre la rimozione di pacchetti ancora utili in casi particolari.

Aggiornare il sistema

Su sistemi Debian e Ubuntu, l’aggiornamento base si fa in due passaggi. Prima si aggiorna l’elenco dei pacchetti, poi si installano gli aggiornamenti disponibili.

sudo apt update
sudo apt upgrade

upgrade aggiorna i pacchetti senza rimuovere o sostituire in modo invasivo componenti che richiedono cambi strutturali. È la scelta più prudente nella maggior parte dei casi.

Se vuoi un aggiornamento più completo, che possa gestire anche cambi di dipendenze o kernel:

sudo apt full-upgrade

Questo comando è potente ma va usato con più attenzione, soprattutto su server remoti. Prima di eseguirlo, verifica che tu abbia accesso console o un piano di rollback. In ambienti di produzione, è buona norma fare snapshot o backup prima di aggiornamenti importanti.

Ricercare pacchetti e informazioni

Per cercare un pacchetto per nome o descrizione:

apt search nome

Per esempio:

apt search php

Per vedere informazioni dettagliate su un pacchetto:

apt show nome-pacchetto

Questi comandi sono utili quando devi capire quale versione è disponibile, quali dipendenze richiede o da quale repository arriva.

Se vuoi sapere se un pacchetto è installato:

apt list --installed | grep nome-pacchetto

Il risultato atteso è una riga con il pacchetto installato, oppure nessun output se non è presente.

Bloccare o mantenere una versione

A volte non vuoi che un pacchetto venga aggiornato automaticamente perché una versione nuova rompe compatibilità o modifica il comportamento del servizio. In questi casi puoi “tenere fermo” un pacchetto.

sudo apt-mark hold nome-pacchetto

Per sbloccarlo:

sudo apt-mark unhold nome-pacchetto

Questa funzione è molto utile su server web, database e ambienti in cui un aggiornamento improvviso potrebbe rompere un’applicazione. Va però usata con criterio: tenere troppo a lungo pacchetti bloccati può creare problemi di sicurezza o dipendenze obsolete.

Pulizia della cache e spazio disco

Con il tempo, apt accumula pacchetti scaricati nella cache locale. Su sistemi con poco spazio, la pulizia può essere utile.

Per rimuovere i pacchetti scaricati e non più necessari dalla cache:

sudo apt clean

Per rimuovere solo i file obsoleti e mantenere ciò che può ancora servire:

sudo apt autoclean

clean libera più spazio, autoclean è più conservativo. Su macchine in produzione, la scelta dipende dal margine di spazio disponibile e dalla necessità di reinstallare rapidamente pacchetti già scaricati.

Gestione delle dipendenze rotte

Uno dei problemi più comuni è il sistema con dipendenze incomplete o pacchetti in stato incoerente. In questi casi, il primo tentativo sicuro è:

sudo apt --fix-broken install

Questo comando prova a correggere dipendenze mancanti o installazioni interrotte. È spesso utile dopo un upgrade incompleto, un’interruzione di rete o un conflitto tra repository.

Se il problema persiste, conviene controllare quali pacchetti sono bloccati o in stato anomalo:

dpkg -l | grep '^..r'

e poi verificare eventuali errori più specifici nei messaggi restituiti da apt. In caso di server critici, la regola è semplice: prima capire quali pacchetti sono coinvolti, poi correggere il minimo necessario.

apt vs apt-get: quale usare davvero

Per l’amministrazione quotidiana, apt è quasi sempre la scelta più comoda. Riduce il numero di comandi, mostra un output più chiaro e copre bene le operazioni standard. Se stai configurando un server, installando un servizio o facendo manutenzione manuale, è spesso la strada migliore.

apt-get resta però importante in questi casi:

  • script di provisioning e automazione;
  • ambienti in cui vuoi massima prevedibilità;
  • documentazione tecnica storica o procedure già consolidate;
  • compatibilità con esempi e strumenti più vecchi.

Non esiste una regola assoluta per tutti. La scelta più pratica è usare apt quando serve comodità e apt-get quando serve stabilità di interfaccia negli script.

Comandi essenziali da ricordare

  • sudo apt update: aggiorna gli indici dei repository.
  • sudo apt upgrade: aggiorna i pacchetti installati.
  • sudo apt full-upgrade: aggiorna anche con cambi di dipendenze più profondi.
  • sudo apt install nome-pacchetto: installa un software.
  • sudo apt remove nome-pacchetto: rimuove un software.
  • sudo apt purge nome-pacchetto: rimuove software e configurazioni.
  • sudo apt autoremove: elimina dipendenze non più necessarie.
  • apt search nome: cerca pacchetti.
  • apt show nome-pacchetto: mostra dettagli del pacchetto.
  • sudo apt --fix-broken install: tenta di correggere dipendenze rotte.

Buone pratiche operative

Per usare apt in modo affidabile, conviene seguire poche regole semplici. Aggiorna sempre gli indici prima di installare o aggiornare. Leggi il riepilogo prima di confermare operazioni che rimuovono pacchetti. Su server remoti, evita aggiornamenti importanti senza backup o snapshot. Se un pacchetto è critico per un servizio, verifica prima l’impatto della nuova versione.

Un approccio prudente è questo:

  1. controlla lo stato del sistema;
  2. aggiorna gli indici;
  3. verifica i pacchetti aggiornabili;
  4. esegui l’installazione o l’upgrade necessario;
  5. controlla i servizi coinvolti dopo l’operazione.

Questa sequenza riduce gli errori e ti fa capire subito dove intervenire se qualcosa non torna.

Esempi pratici rapidi

Installare PHP e strumenti utili:

sudo apt update
sudo apt install php-cli php-mysql unzip

Rimuovere un servizio non più usato:

sudo apt remove nginx
sudo apt autoremove

Verificare la versione di un pacchetto prima dell’aggiornamento:

apt show nginx

Bloccare un pacchetto sensibile:

sudo apt-mark hold mysql-server

Sbloccarlo più avanti:

sudo apt-mark unhold mysql-server

Conclusione operativa

Se lavori su Linux Debian-based, imparare bene apt e apt-get vale più di mille trucchi. apt è lo strumento più comodo per la manutenzione quotidiana, mentre apt-get resta una base solida per automatizzare e mantenere compatibilità. La vera differenza, però, la fa il metodo: aggiornare gli indici, leggere i riepiloghi, fare pulizia con criterio e controllare sempre l’effetto sui servizi.

In un ambiente server, la regola migliore è semplice: prima verifica, poi modifica. Con apt e apt-get, questo approccio ti fa risparmiare tempo, errori e downtime.