Poter installare e rimuovere pacchetti è una gran bella cosa, ma il software
di base per farlo (chiamato dpkg
) fa esattamente
quello e nulla di più. Questo va bene se si desidera scaricare uno o due
pacchetti a mano, ma diventa presto problematico quando si cerca di gestire
un grande numero di pacchetti. Inoltre, se un bellissimo pacchetto nuovo,
richiede software che non è stato ancora installato, è necessario scaricare
manualmente i nuovi pacchetti richiesti. Se successivamente si decide di
rimuovere il pacchetto non più bellissimo, questi pacchetti aggiuntivi
rimarrano nel sistema, usando spazio sul disco, a meno di non rimuoverli
manualmente.
Ovviamente tutto questo lavoro manuale è un compito gravoso e perciò la
maggior parte dei sistemi di gestione dei pacchetti viene fornita con
software che si prende cura in parte o del tutto di questo lavoro. apt
è
una base comune su cui creare questi programmi: oltre ad aptitude,
programmi come synaptic e apt-watch
fanno uso di apt
.
apt
funziona mantenendo un elenco dei pacchetti che possono essere
scaricati da Debian sul computer. Questo elenco è usato per trovare i
pacchetti che devono essere aggiornati e per installare pacchetti
nuovi. apt
può anche risolvere molti problemi di dipendenze in modo
automatico: ad esempio, quando si sceglie di installare un pacchetto, trova
tutti i pacchetti aggiuntivi richiesti e installa anche quelli.
Quando si lavora con un gestore di pacchetti basato su apt
, come
aptitude, tipicamente si eseguono tre compiti base: si
aggiorna l'elenco dei pacchetti che sono disponibili
scaricando i nuovi elenchi dai server Debian, si
selezionano i pacchetti che devono essere installati,
aggiornati o rimossi e da ultimo si attuano le
selezioni effettuando di fatto le installazioni, rimozioni, ecc.
I gestori di pacchetti basati su apt
leggono l'elenco delle
«sorgenti», depositi dei pacchetti Debian, dal file
/etc/apt/sources.list
. Il formato e il contenuto di
questo file esulano dallo scopo di questo documento, ma sono descritti nella
pagina di manuale sources.list(5)
.