Advanced Packaging Tool
L'Advanced Packaging Tool (conosciuto con l'acronimo APT), in informatica, è il gestore standard di pacchetti software della distribuzione Debian.
Advanced Packaging Tool software | |
---|---|
![]() | |
Genere | Sistema di gestione dei pacchetti |
Sviluppatore | The Debian Project |
Data prima versione | 31 marzo 1998 |
Ultima versione | 3.0.1 (25 aprile 2025) |
Ultima beta | 1.8.1 (6 maggio 2019) |
Sistema operativo | Unix-like |
Linguaggio | CMake XML shell script C C++ Perl |
Licenza | GNU GPL v2+ (licenza libera) |
Sito web | tracker.debian.org/pkg/apt |

Cenni storici
La prima versione venne pubblicata il 16 agosto 1998 ed introdotto per la prima volta in Debian 2.1, pubblicato il 9 marzo 1999, mentre il 1º aprile 2014 è giunto alla versione 1.0.[1]
Il 18 marzo 2020 è stata pubblicata la versione 2.0 che introduce il comando satisfy per la gestione e risoluzione di eventuali conflitti di dipendenze relative a pacchetti già installati e una modalità della selezione dei pacchetti simili ad aptitude.[2]
Caratteristiche
Contrariamente a dpkg, apt è in grado di gestire le dipendenze in fase di installazione e rimozione di software; è concepito per l'installazione di software da repository connettendosi ad internet ed inoltre ha la particolarità di sfruttare contemporaneamente diverse sorgenti di pacchetti (sorgenti remote FTP e HTTP, cdrom, DVD e disco rigido), di gestire autonomamente diverse distribuzioni di pacchetti e di permettere velocemente l'aggiornamento del sistema operativo ad una particolare distribuzione. Può anche gestire pacchetti scaricati su una macchina senza connessione utilizzando apt-offline.
La lista delle sorgenti software da cui attingere i pacchetti è contenuta nel file:
/etc/apt/sources.list
In Debian ed Ubuntu è disponibile come interfaccia grafica Synaptic ed aptitute, quest'ultimo può anche essere utilizzato in modalità testuale.
Esempi di utilizzo
Per utilizzarlo basta digitare in un emulatore di terminale il comando
apt-get
o apt
Seguito da opzioni e parametri.
Installazione pacchetti
L'installazione di nuovi pacchetti, una volta impostate le sorgenti, è effettuabile attraverso l'esecuzione del comando:
apt-get install nomepacchetto
dove nomepacchetto sarà ovviamente il nome del pacchetto che si vuole installare
Rimozione dei pacchetti
La rimozione è effettuabile attraverso l'utilizzo del parametro apt-get remove
che però si limita a rimuovere solo il pacchetto e non i files di configurazione:
apt-get remove nomepacchetto
Per rimuovere, oltre i pacchetti, anche i files di configurazione utilizzati dagli stessi, digitare:
apt-get remove --purge nomepacchetto
Per rimuovere i pacchetti e le dipendenze non più utilizzate invece:
apt-get autoremove nomepacchetto
Aggiornamento dei pacchetti
Per aggiornare un singolo pacchetto:
apt-get upgrade nomepacchetto
Per aggiornare tutti i pacchetti installati:
apt-get upgrade
Per aggiornare tutti i pacchetti e rimuovere gli obsoleti nonchè le relative dipendenze:
apt-get dist-upgrade
Per aggiornare tutti i pacchetti e rimuovere gli obsoleti:
apt-get full-upgrade
Esegue un avanzamento di versione della distribuzione:
apt-get do-release-upgrade
Simulazione di operazioni
L'opzione --simulate
, anteposta all'azione, consente di simulare l'azione e tutti i passi che il programma normalmente compierebbe, quindi vedere cosa verrebbe effettuato senza però correre alcun rischio. Per utilizzarla:
apt-get --simulate azione
Ad esempio, prima di compiere un upgrade importante, si può provare il seguente comando e controllare che non vengano installati pacchetti che non ci interessano e che non vengano disinstallati pacchetti importanti:
apt-get --simulate upgrade
Gestione elenco sorgenti
Per modificare l'elenco delle sorgenti da cui APT andrà ad attingere è possibile modificare il file /etc/apt/sources.list
: ogni voce dell'elenco dovrà seguire uno di questi formati:
deb http://host/debian distribuzione sezione1 sezione2 sezione3 deb-src http://host/debian distribuzione sezione1 sezione2 sezione3
La prima parola di ogni riga, deb
o deb-src
, indica il tipo di archivio: se contiene pacchetti binari (deb
), che sono i pacchetti già compilati che normalmente usiamo, o se l'archivio contiene i pacchetti sorgente (deb-src
), che sono il codice sorgente originale del programma.
La seconda parola indica l'indirizzo della sorgente.
Al posto di distribuzione deve essere indicata la distribuzione che si vuole gestire (di solito uno dei tre rami di sviluppo stable, testing o unstable, oppure esplicitamente la versione, per esempio woody, sarge o etch).
Le sezioni indicheranno quali parti della distribuzione dovranno essere gestite (normalmente si possono trovare main (i pacchetti completamente liberi, la maggioranza), non-free (i pacchetti distribuiti sotto una licenza non libera) e contrib (pacchetti liberi che però dipendono da altri non liberi). Al termine delle modifiche di /etc/apt/sources.list
è necessario tuttavia, affinchè APT riconosca le modifiche, digitare:
apt-get update
La versione semplificata: apt
A partire dal 1º aprile 2014 (e dalla versione di Debian 8 Jessie) è stata pubblicata una nuova versione denominata apt meglio performante e che utilizza una sintassi semplificata. Durante l'esecuzione delle operazioni mostra una barra del progresso per indicarne lo stato di avanzamento.
Anche Linux Mint utilizza apt; tuttavia in questo caso si tratta di uno script in python, introdotto nel 2011, che utilizza apt-get.
Curiosità
È possibile visualizzare un easter egg nascosto al suo interno, visualizzabile tramite l'opzione moo
.
Note
- ^ Accepted apt 1.0 (source all amd64), su qa.debian.org. URL consultato il 17/04/2014.
- ^ Marco Bonfiglio, Novità per il package manager di Debian: rilasciato APT 2.0, su miamammausalinux.org, 18 marzo 2020.
Voci correlate
Altri progetti
- Wikimedia Commons contiene immagini o altri file su Advanced Packaging Tool
Collegamenti esterni
- (EN) Sito ufficiale, su tracker.debian.org.
- Advanced Packaging Tool, su packages.debian.org.
- Repository sorgenti di Advanced Packaging Tool, su salsa.debian.org.
- Apt Howto, su debian.org.