apt-get
è stata la prima interfaccia, basata su riga di comando, che è stata sviluppata nell'ambito del progetto.
synaptic
, aptitude
(che include sia un'interfaccia in modalità testo che una grafica, anche se non ancora completa), wajig
, ecc. L'interfaccia più consigliata, aptitude
, è quella usata durante l'installazione di Debian. Dal momento che la sua sintassi della riga di comando è molto simile a quella di apt-get
, ci concentreremo su aptitude
negli esempi di questa sezione. Quando ci saranno grandi differenze fra aptitude
e apt-get
, tali differenze verranno spiegate.
aptitude update
. A seconda della velocità della connessione, l'operazione può richiedere un po' di tempo visto che deve scaricare un certo numero di file Packages.(gz|bz2)
(o anche Sources.(gz|bz2)
), che sono gradualmente diventati sempre più grandi mano a mano che Debian si è sviluppata (più di 8 MB per il Packages.gz
più grande, dalla sezione main
). Ovviamente, installare da un insieme di CD-ROM non richiede di scaricare nulla: in questo caso, l'operazione è molto veloce.
aptitude install pacchetto
e aptitude remove pacchetto
. In entrambi i casi, APT installerà automaticamente le dipendenze necessarie o rimuoverà i pacchetti che dipendono da quello che ci si appresta a rimuovere. I comandi aptitude purge pacchetto
o apt-get purge pacchetto
implicano una completa disinstallazione: anche i file di configurazione vengono eliminati.
sources.list
cita diverse distribuzioni, è possibile specificare la versione del pacchetto da installare. Un numero di versione specifico può essere richiesto con aptitude install pacchetto
=versione
, ma è ingenere preferito indicare la sua distribuzione di origine (Stable, Testing o Unstable), con aptitude install pacchetto
/distribuzione
. Con questo comando è possibile tornare ad una versione precedente di un pacchetto (se per esempio si sa che funziona bene), a condizione che sia ancora disponibile in una delle sorgenti a cui fa riferimento il file sources.list
. Altrimenti l'archivio snapshot.debian.org
può venire in soccorso (vedere riquadro APPROFONDIMENTO Le vecchie versioni dei pacchetti: snapshot.debian.org
).
Esempio 6.2. Installazione della versione unstable di spamassassin
#
aptitude install spamassassin/unstable
aptitude safe-upgrade
o apt-get upgrade
(ovviamente dopo aptitude update
). Questo comando controlla i pacchetti installati che possono essere aggiornati senza la rimozione di alcun pacchetto. In altre parole, l'obiettivo è quello di garantire l'aggiornamento meno intrusivo possibile. apt-get
è un po' più esigente di aptitude
perché si rifiuta di installare pacchetti che erano già installati in precedenza.
aptitude
in genere seleziona il numero di versione più recente (ad eccezione dei pacchetti Experimental, che vengono ignorati per impostazione predefinita a prescindere dal loro numero di versione). Se si è specificato Testing o Unstable nel proprio sources.list
, aptitude safe-upgrade
porterà la maggior parte di un sistema Stable a Testing o Unstable, e ciò potrebbe non essere quello che si desiderava fare.
aptitude
di usare una specifica distribuzione quando cerca degli aggiornamenti, si deve usare l'opzione -t
o --target-release
, seguita dal nome della distribuzione voluta (ad esempio: aptitude -t stable safe-upgrade
). Per evitare di specificare questa opzione ogni volta che si utilizza aptitude
, si può aggiungere la riga APT::Default-Release "stable";
nel file /etc/apt/apt.conf.d/local
.
aptitude full-upgrade
(l'opzione si chiamava in passato dist-upgrade
come "aggiornamento di distribuzione"). Con questa istruzione, aptitude
completerà l'aggiornamento anche nel caso in cui debba eliminare dei pacchetti obsoleti o installare nuove dipendenze. Questo è anche il comando usato dagli utenti che lavorano quotidianamente con il rilascio Unstable di Debian e che seguono la sua evoluzione giorno per giorno. È così semplice che non ha certo bisogno di spiegazione: la reputazione di APT si basa su questa sua grande funzionalità.
aptitude dist-upgrade
è sempre disponibile come un sinonimo di aptitude full-upgrade
; apt-get
riconosce solo il primo.
/etc/apt/apt.conf.d/
. Ricordare per esempio che APT può dire a dpkg
di ignorare i conflitti fra i file se si specifica DPkg::Options { "--force-overwrite"; }
.
Acquire::http::proxy "http://proprioproxy
:3128"
. Per un proxy FTP, scrivere Acquire::ftp::proxy "ftp://proprioproxy
"
. Per scoprire più opzioni di configurazione, leggere la pagina di manuale apt.conf(5) con il comando man apt.conf
(per i dettagli sulle pagine del manuale, vedere il prossimo capitolo).
-t
o con la direttiva di configurazione APT::Target-Release
).
/etc/apt/preferences
con i nomi dei pacchetti interessati, la loro versione, la loro origine e la loro nuova priorità.
/etc/apt/preferences
, prende prima in considerazione le voci più specifiche (spesso quelle che specificano il pacchetto interessato), poi quelle più generiche (tra cui per esempio tutti i pacchetti di una distribuzione). Se sono presenti più voci generiche, viene utilizzata la prima. I criteri di selezione disponibili includono il nome del pacchetto e la fonte che lo fornisce. Ogni fonte è identificata dalle informazioni contenute in un file Release
che APT scarica insieme ai file Packages.gz
. Esso specifica l'origine (di solito "Debian" per i pacchetti di mirror ufficiali, ma può essere anche un nome di una persona o di un'organizzazione per repository di terze parti). Fornisce anche il nome della distribuzione (solitamente Stable, Testing, Unstable o Experimental per le distribuzioni standard fornite da Debian) insieme con la sua versione (per esempio 5.0 per Debian Lenny). Diamo dunque un'occhiata alla sua sintassi attraverso alcuni casi di studio realistici di questo meccanismo.
/etc/apt/preferences
:
Package: * Pin: release a=stable Pin-Priority: 900 Package: * Pin: release o=Debian Pin-Priority: -10
a=stable
definisce il nome della distribuzione selezionata. o=Debian
limita l'impostazione ai pacchetti la cui origine è "Debian".
Package: perl Pin: version 5.10* Pin-Priority: 1001
man apt_preferences
.
aptitude
è uno strumento così meraviglioso, si può essere tentati di prendere pacchetti provenienti da altre distribuzioni. Ad esempio, dopo aver installato un sistema Stable, si potrebbe desiderare di provare un pacchetto software disponibile in Testing o Unstable, senza scostarsi troppo dallo stato iniziale del sistema.
aptitude
gestisce tale coesistenza molto bene e limita i rischi in modo molto efficace. Il miglior modo di procedere è quello di elencare tutte le distribuzioni utilizzate in /etc/apt/sources.list
(alcune persone mettono sempre le tre distribuzioni, ma ricordare che Unstable è riservata agli utenti esperti) e di definire la distribuzione di riferimento con il parametro APT::Default-Release
(vedere Sezione 6.2.3, «Aggiornamento del sistema»).
sources.list
. In questo caso, è possibile usare aptitude install pacchetto
/testing
per installare un pacchetto da Testing. Se l'installazione non riesce a causa di alcune dipendenze che non possono essere soddisfatte, si può lasciare che risolva queste dipendenze in Testing aggiungendo il parametro -t testing
. Lo stesso vale ovviamente per Unstable.
safe-upgrade
e dist-upgrade
) vengono fatti all'interno di Stable eccetto per i pacchetti già aggiornati ad altre distribuzioni: questi seguiranno gli aggiornamenti disponibili nelle altre distribuzioni. Questo comportamento verrà spiegato più avanti con l'aiuto delle priorità predefinite impostate da APT. Non esitare ad usare apt-cache policy
(vedere riquadro) per verificare le priorità assegnate.
/etc/apt/preferences
per forzare priorità più alte di 1000 per alcuni pacchetti).
/etc/apt/preferences
con queste righe:
Package: * Pin: release a=unstable Pin-Priority: 490