L’Advanced Packaging Tool, conosciuto con l’acronimo APT (l’abbreviazione di advanced packaging tool) è un gestore di pacchetti da riga di comando usato dalla distribuzione GNU/Linux Debian e le sue derivate. Esso è un tool c.d. di “alto livello” in quanto, rispetto al suo predecessore dpkg, gestisce automaticamente le dipendenze in fase di installazione, aggiornamento e rimozione del software.
Esso quindi gestisce i pacchetti con estensione .deb
APT è anche ampiamente configurabile configurabile, attraverso il file /etc/apt.conf
E’ inoltre possibile stabilire quali repositories si vogliano usare, agendo su file /etc/sources.list che contiene la lista dei repositories. Tale file, contenente le informazioni che servono ad APT per trovare i pacchetti, è modificabile con un qualunque editor di testo, permette di inserire o eliminare repositories a piacer dell’utente.
In particolare in esso c’è una lista degli indiìrizzi dei repositories, anteposti ai quali potrebbero esserci:
deb: indica un repository che contiene pacchetti binari. Sono quelli consigliati per la maggior parte degli utenti.
deb-src: indica unrepository che contiene il codice sorgente dei pacchetti. Molto utili per gli sviluppatori.
Un esempio di stringa contenuta nel file sources.list potrebbe esssere la seguente (in riferimento a Debian):
deb ftp://ftp.it.debian.org/debian/ testing main contrib non-free
Ove :
Tipo di sorgente: deb per i pacchetti precompilati, deb-src per i pacchetti sorgente
URI (uniform resource identifier): Indirizzi ftp o http, cdrom (cdrom://) o directory (file://)
Tipologia della distribuzione: stable, testing, unstable oppure potato, woody, sid, etc.
Lista di archivi: main per l’archivio principale, contrib per pacchetti molto usati ma che hanno licenze non di tipo GPL o non del tutto chiare, non-free per pacchetti con licenze non compatibili con licenze che prevedano la libera distribuzione di quel software.
La directory /var/cache/apt/archives/ contiene invece la cache dei pacchetti.
APT in realtà è cosituito da una suite di programmi, che possono o meno essere cumulativamente preinstallati su una distibuzione GNU/Linux che adotti APT come gestore di pacchetti.
Alcuni di essi sono:
apt-get: per oprare installazione, aggiornamento e rimozione del software
apt-cache: per compiere operazione sulla cache dei pacchetti
apt-key: per gestire le chiavi di autenticazione, necessarie per accedere ai repositories che ne richiedano l’utilizzo
apt-file: che consente di cercare un file specifico all’interno di uno o più pacchetti
apt-spy: serve ad analizzare, selezionare e rimuuovere i mirrors con la maggiore ampiezza di banda
apt-build: serve per compilare i programmi da sorgenti, generare un pacchetto .deb ed installaro.
La differenza di apt-build con apt-get è che il programma verrà compilato scaricando i sorgenti.
Ora passiamo ad illusrtrare alcuni esempi di utilizzo più comuni e/o ricorrenti di APT:
Per installare un pacchetto:
# apt-get install nomepacchetto
utilizzando, anteponendo ad install, l’ozione –reinstall si potrà reinstallare un pacchett già installato. Invece adoperando l’opzione -s verrà simulata l’installazione.
Rimuovere un pacchetto:
# apt-get remove pacchetto
con l’aggiunta dell’opzione “–purge” si ha una cancellazione che comprende tutti i files di configurazione relativi a quel pacchetto (programma)
Per aggiornare la cache dei pacchetti
# apt-get update
Per aggiornare un pacchetto
# apt-get upgrade nomepacchetto
se viene invocata la sola opzione update, saranno aggiornati tutti i pacchetti installati
Aggiornare l’intero sistema:
# apt-get dist-upgrade
Cercare un pacchetto:
# apt-cache search nomepacchetto
Reperire informazioni sul pacchetto:
# apt-cache show nomepacchetto
Ripulire la cache (cancella tutti i file .deb presenti nella directory /var/cache/apt/archives/) di tutti i pacchetti scaricati:
# apt-get clean
Ripulire la cache (cancella tutti i file .deb presenti nella directory /var/cache/apt/archives/)dei pacchetti obsoleti (di cui non esistano delle nuove versioni)
# apt-get autoclean
Scarica i sorgenti di un pacchetto senza installare il medesimo:
# apt-get source nomepacchetto
Per controllare se uno o più pacchetti hanno dipendenze non soddisfatte:
# apt-get check nomepacchetto
se viene utilizzato da solo, check controllerà che le dipendenze di tutti i pacchetti installati nel sistema siano soddisfatte.
Risulta essere inoltre disponibile anche un’interfaccia semi-grafica per apt, denominata aptitude, che consente un più agevole ed intuitivo utilizzo del programma.