[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 66.   Pacchetti Debian: APT

APT (1) è un sistema di gestione dei pacchetti Debian più evoluto di DSelect, per il quale sono disponibili diversi programmi frontali.

Tutto il sistema si avvale di due file di configurazione: /etc/apt/apt.conf e /etc/apt/sources.list. Il secondo di questi due file serve a stabilire la fonte da cui attingere per installare i pacchetti, mentre il primo è un file di configurazione generale.

Quando si utilizzano programmi interattivi che sfruttano la console, se si dispone soltanto di uno schermo monocromatico occorre ricordarsi di intervenire sulla variabile di ambiente TERM, in modo che questa contenga un nome di un terminale monocromatico (potrebbe trattarsi del nome vt100 o vt220, basta verificare nella directory /usr/share/terminfo/v/), altrimenti può essere faticoso interpretare o leggere le informazioni.

66.1   Configurazione generale

Come già accennato, i file di configurazione più importanti del sistema APT sono /etc/apt/apt.conf e /etc/apt/sources.list. Per entrambi questi file vengono ignorate le righe bianche e quelle vuote, mentre cambia il modo di rappresentare i commenti: per /etc/apt/sources.list si rappresentano precedendoli con il simbolo #, mentre /etc/apt/apt.conf ignora quanto contenuto tra /* e */, oppure quanto preceduto da //.

Le direttive del file /etc/apt/apt.conf sono organizzate a gruppi e sottogruppi, secondo una forma simile a quella seguente:

gruppo::sottogruppo::opzione valore_assegnato;

In pratica, il valore che si assegna alla direttiva complessiva può essere una stringa delimitata da apici doppi, oppure senza delimitazione se questo non è necessario.

Per evitare di dover riscrivere ogni volta il gruppo e il sottogruppo di un insieme di direttive, si può usare una notazione alternativa:

gruppo {
    sottogruppo {
        opzione valore_assegnato;
        opzione valore_assegnato;
        ...
    }
    sottogruppo {
        opzione valore_assegnato;
        opzione valore_assegnato;
        ...
    }
    ...
}

La classificazione in gruppi e sottogruppi serve a definire il contesto a cui riferire le opzioni, permettendo uno sviluppo indipendente della configurazione da parte dei programmi che compongono il sistema APT.

In generale non dovrebbe essere necessario modificare il file /etc/apt/apt.conf; a ogni modo, la pagina di manuale apt.conf(5) descrive bene i vari gruppi e sottogruppi, mentre sono disponibili degli esempi nella directory /usr/share/doc/apt/.

Il file /etc/apt/sources.list serve a definire come raggiungere i pacchetti della distribuzione. Si distinguono due situazioni: pacchetti Debian binari e pacchetti Debian sorgenti.

deb uri percorso_distribuzione [componente]...
deb-src uri percorso_distribuzione [componente]...

A seconda che si tratti di pacchetti binari o sorgenti, la direttiva deve iniziare con la parola chiave deb oppure deb-src.

Queste direttive servono a definire il percorso necessario a raggiungere i pacchetti, come se fossero scritte nel modo seguente:

uri/percorso_distribuzione/componente_1
uri/percorso_distribuzione/componente_2
uri/percorso_distribuzione/componente_3
...

Per esempio, se la distribuzione è raggiungibile presso http://ftp.it.debian.org/debian/stable/, che poi si articola nelle directory main/, contrib/ e non-free/, la direttiva potrebbe essere espressa nel modo seguente:

deb http://ftp.it.debian.org/debian stable main contrib non-free

Nello stesso modo, se ciò può risultare più chiaro, si potrebbero utilizzare tre direttive come nell'esempio seguente, avendo cura di indicare il punto finale che rappresenta la directory corrente:

deb http://ftp.it.debian.org/debian stable/main        .
deb http://ftp.it.debian.org/debian stable/contrib     .
deb http://ftp.it.debian.org/debian stable/non-free    .

Nell'ambito dei percorsi che si indicano in queste direttive, si può usare la stringa $(ARCH), che viene rimpiazzata con la sigla della propria architettura.

Gli URI possono essere indicati in diversi modi, che vengono elencati nel seguito.

Esiste anche un altro tipo di URI, che inizia con la parola chiave cdrom, allo scopo di fare riferimento a distribuzioni su CD-ROM o DVD-ROM. Tuttavia, le direttive di questo tipo sono troppo complesse e vanno realizzate con l'aiuto del programma apt-cdrom.

66.2   Aptitude

Aptitude, (2) è un programma frontale per il sistema APT, che si presenta molto sofisticato e altamente configurabile. Qui si vuole mostrare soltanto un uso «normale» del programma, trascurando la sua configurazione e facendo riferimento al funzionamento predefinito.

La configurazione di Aptitude consente di cambiare notevolmente il funzionamento del programma. Anche se non si intende modificare l'impostazione predefinita, è necessario sapere che i comandi della tastiera, i colori e le informazioni che appaiono sullo schermo possono essere modificati deliberatamente.

Il programma mette a disposizione anche un menù a tendina, a cui si può accedere con il tasto [F10], all'interno del quale ci si muove come di consueto, con i tasti freccia, selezionando le voci con il tasto [Invio]. Proprio nel primo di questi menù si può trovare la possibilità di accedere ai privilegi dell'utente root inserendo la parola d'ordine necessaria.

Il programma si avvia generalmente senza argomenti, indicando l'eseguibile aptitude. Se il file di configurazione /etc/apt/sources.list fa riferimento a una distribuzione accessibile attraverso il file system, può essere conveniente usare URI di tipo copy, invece di file.

66.2.1   Classificazione e ordinamento dei pacchetti

L'impatto iniziale con il programma dipende da come è stato definito il raggruppamento dei pacchetti. Per raggruppamento qui si intende il modo di organizzare la classificazione dei i pacchetti in base a qualche criterio, generando una struttura ad albero. In condizioni normali, la classificazione avviene in base al loro «stato», in cui si distingue tra pacchetti installati, non installati, obsoleti, aggiornabili e virtuali. A titolo di esempio, all'avvio Aptitude si potrebbe presentare come si vede nella figura 66.3, dove appaiono solo le classificazioni {New Packages}, {Obsolete and Locally Created Packages} e {Virtual Packages}.

Figura 66.3. Parte superiore dello schermo dopo l'avvio di Aptitude.

 Actions  Undo  Options  Views  Help
f10: Menu  ?: Help  q: Quit  u: Update  g: Download/Install/Remove Pkgs
aptitude 0.2.14
--- Upgradeable Packages
--- Installed Packages
--- Not Installed Packages
--- Obsolete and Locally Created Packages
--- Virtual Packages
--- Tasks

Per aprire o per richiudere una classificazione basta portarvi sopra il cursore e premere [Invio]; lo stesso si può fare per le sottoclassificazioni successive.

Figura 66.4. Accesso all'elenco dei pacchetti attraversando le classificazioni precedenti.

 Actions  Undo  Options  Views  Help
f10: Menu  ?: Help  q: Quit  u: Update  g: Download/Install/Remove Pkgs
aptitude 0.2.14
--- Upgradeable Packages
--\ Installed Packages
  --\ admin - Administrative utilities (install software, manage users, etc)
    --\ main - The main Debian archive
i      at                                                   3.1.8-11  3.1.8-11
i      devfsd                                               1.3.25-16 1.3.25-16
i      fam                                                  2.7.0-5    2.7.0-5
    --- base - The Debian base system
    --- comm - Programs for faxmodems and other communications devices
    --- devel - Utilities and programs for software development

Una volta raggiunto un gruppo di pacchetti che non viene classificato ulteriormente, ne appare l'elenco, come si vede nella figura 66.4.

La classificazione dei pacchetti può essere modificata con il comando relativo, a cui si accede con il tasto [G]. Si ottiene una mascherina in cui si deve inserire l'espressione relativa alla nuova classificazione. Si possono definire più classificazioni in sequenza, in un elenco separato da virgole:

politica_di_raggruppamento[,politica_di_raggruppamento]...

Di certo, le prime volte non conviene creare strutture troppo complesse. La tabella 66.5 riepiloga brevemente le definizioni principali che si possono usare per ottenere la classificazione preferita, tenendo presente che alcune definizioni prevedono delle opzioni, per le quali è necessario leggere la documentazione originale.

Tabella 66.5. Alcune delle definizioni utilizzabili per cambiare la struttura di classificazione dei pacchetti.

Politica Raggruppamento corrispondente
section(topdir)
Sezione principale a cui appartiene il pacchetto.
section(subdir)
Sottosezione a cui appartiene il pacchetto.
section(none)
Sezione e sottosezione a cui appartiene il pacchetto.
priority
Priorità del pacchetto.
status
Stato: installato, non installato, obsoleto, aggiornabile e virtuale.
action
Azione richiesta sui pacchetti e non ancora applicata.
firstchar
Classifica in base all'iniziale del nome.

Dopo aver definito in che modo raggruppare i pacchetti, può essere utile definire l'ordine in cui questi devono apparire, nell'ambito di ogni gruppo finale. Si accede al comando per l'ordinamento con il tasto [S] e subito dopo viene richiesto l'inserimento dell'espressione con cui specificare l'ordinamento.

{[~]name|installsize|priority}[,...]

In pratica, come si vede dal modello sintattico, si può usare una delle parole chiave indicate, per indicare un metodo di ordinamento, preceduto eventualmente dalla tilde (~), con cui si vuole invertire l'ordine. Per indicare un criterio successivo, basta aggiungere una virgola e continuare. Dalle parole chiave disponibili si intende che sia possibile ordinare per nome, per dimensione e per priorità.

Infine, è anche possibile limitare la visualizzazione a un insieme ridotto di pacchetti, specificando un criterio di selezione. Per ottenere questo risultato si preme il tasto [l], dopo il quale viene richiesto di inserire un'espressione particolare, che si indica nello stesso modo in cui si specifica un'espressione di ricerca.

66.2.2   Ricerca e filtro

La ricerca di un pacchetto si comincia premendo il tasto [/], mentre il filtro di visualizzazione dei pacchetti inizia con la pressione del tasto [l]. In entrambi i casi, viene richiesto l'inserimento di un'espressione particolare, o di una stringa letterale. Un'espressione elementare inizia con la tilde (~); a una o più espressioni semplici si possono abbinare degli operatori booleani, per invertirne il significato o per creare espressioni più complesse; inoltre si possono usare le parentesi tonde per cambiare l'ordine nella risoluzione delle espressioni. Una stringa che non sembra essere un'espressione, viene comparata letteralmente con i nomi dei pacchetti, che devono combaciare almeno in parte.

Un'espressione elementare inizia con una tilde seguita da una lettera che ne definisce il significato. A seconda dei casi può essere necessario aggiungere una stringa di ricerca in base al contesto stabilito dalla lettera iniziale.

~x | ~xstringa

Le stringhe non vanno delimitate e sono presi in considerazione tutti gli spazi inseriti. Dal momento che gli spazi hanno importanza, quando si abbinano più espressioni attraverso l'uso di operatori booleani, è necessario evitare l'inserzione di spazi aggiuntivi. Ciò è particolarmente importante in considerazione del fatto che l'operatore booleano AND si ottiene semplicemente mettendo in sequenza due espressioni. Per esempio, ~snet~nicq cerca la corrispondenza per i pacchetti appartenenti alla sezione net, contenenti la stringa icq nel nome. La tabella 66.6 riepiloga la sintassi delle espressioni elementari principali, compresi gli operatori booleani con cui si possono abbinare o modificare.

Tabella 66.6. Alcune delle espressioni di ricerca e di selezione.

Espressione Descrizione
~v
Pacchetto virtuale.
~E
Pacchetto essenziale.
~i
Pacchetto installato attualmente.
~c
Pacchetto rimosso lasciando i file di configurazione.
~aazione_richiesta
Pacchetto per il quale è stata richiesta un'azione particolare.
~ainstall
Pacchetto da installare.
~aupgrade
Pacchetto da aggiornare.
~aremove
Pacchetto da disinstallare.
~apurge
Pacchetto da eliminare.
~ahold
Pacchetto da conservare nella versione installata attualmente.
~Bdipendenza
Pacchetto con problemi di dipendenze di qualche tipo.
~Bdepends
Pacchetto che dipende da altri per funzionare.
~Bpredepends
Pacchetto che dipende da altri per poter essere installato.
~Brecommends
Pacchetto che raccomanda la presenza di altri pacchetti.
~Bsuggests
Pacchetto che suggerisce la presenza di altri pacchetti.
~Bconflics
Pacchetto che va in conflitto con altri pacchetti.
~nnome
Pacchetto contenente la stringa indicata nel nome.
~ddescrizione
Pacchetto contenente la stringa indicata nella descrizione.
~mcuratore
Pacchetto contenente la stringa indicata nel nome del curatore.
~ppriorità
Pacchetto appartenente alla priorità indicata.
~prequired
Pacchetto necessario.
~pimportant
Pacchetto importante.
~pstandard
Pacchetto standard.
~poptional
Pacchetto opzionale.
~pextra
Pacchetto extra.
~punknown
Pacchetto non classificato per quanto riguarda la priorità.
~ssezione
Pacchetto appartenente alla sezione indicata.
~Vversione
Pacchetto con la versione indicata.
espr_1espr_2
AND: si devono verificare entrambe le condizioni.
espr_1|espr_2
OR: è sufficiente che si verifichi una sola delle due espressioni.
!espr_1
NOT: inverte il senso dell'espressione.
( ... )
Raggruppa le espressioni.

66.2.3   Navigazione e altri comandi affini

La navigazione sull'elenco dei pacchetti avviene in modo abbastanza intuitivo, dove in particolare il tasto [Tab] consente di mettere a fuoco aree diverse sullo schermo, dove quindi si può intervenire con i soliti tasti freccia; inoltre, la selezione delle azioni da compiere sui pacchetti è abbastanza simile a quella di DSelect. In particolare, occorre considerare che l'uso del tasto [+] porta normalmente alla selezione del pacchetto, con la sistemazione delle dipendenze relative; inoltre, il tasto [-] può essere usato ripetutamente per diminuire il livello di installazione del pacchetto, in base alle richieste precedenti (normalmente si può verificare direttamente sullo schermo l'effetto dei cambiamenti, per cui basta provare per vedere il risultato). Una volta definite le azioni da compiere sui pacchetti, si passa all'azione con il tasto [g]. La tabella 66.7 riepiloga i tasti usati per la navigazione e per le azioni più importanti.

Tabella 66.7. Navigazione e comandi principali.

Tasto Descrizione
[Ctrl l] Ridisegna lo schermo.
[Ctrl _], [Ctrl u] Annulla l'ultima operazione.
[Tab] Mette a fuoco una zona diversa dello schermo.
[u] Aggiorna l'elenco dei pacchetti.
[?], [F1] Mostra la guida interna.
[F10] Richiama il menù a tendina.
[freccia su], [k] Sposta il cursore sul pacchetto precedente.
[freccia giù], [j] Sposta il cursore sul pacchetto successivo.
[Invio] Espande o richiude un ramo.
[[] Espande una ramificazione completa.
[]] Chiude una ramificazione completa.
[^] Si porta sul raggruppamento a cui appartiene la voce evidenziata.
[K] Si porta sulla voce precedente allo stesso livello di quella attuale.
[J] Si porta sulla voce successiva allo stesso livello di quella attuale.
[+] Seleziona la voce.
[-] Diminuisce il livello di installazione.
[_] Richiede l'eliminazione del pacchetto.
[=] Richiede il mantenimento della versione attuale.
[D] Mostra o toglie l'area di descrizione del pacchetto evidenziato.
[a] Fa arretrare il testo della descrizione del pacchetto.
[z] Fa avanzare il testo della descrizione del pacchetto.
[d] Mostra le dipendenze del pacchetto evidenziato.
[r] Mostra l'elenco dei pacchetti che dipendono da quello evidenziato.
[v] Mostra l'elenco delle versioni disponibili del pacchetto.
[g] Procede con le operazioni richieste.
[q] Conclude il contesto attuale, conservando le modifiche apportate.
[x] Conclude il contesto attuale, annullando le modifiche apportate.
[/] Definisce un modello di ricerca.
[\] Continua la ricerca con l'ultimo modello fornito.
[i] Mostra tutte le informazioni disponibili su un pacchetto.
[l] Riduce l'elenco dei pacchetti in base a un'espressione.
[G] Cambia la modalità di raggruppamento dei pacchetti.
[S] Cambia la modalità di ordinamento dei pacchetti.

A seconda delle circostanze, Aptitude può entrare in un contesto differente, che si annida di un livello rispetto alla situazione precedente. Per concludere l'attività nel contesto nuovo, basta usare il tasto [q] (oppure [x] se opportuno), dopo il quale si raggiunge il livello precedente. Giunti all'ultimo livello, si conclude il funzionamento del programma.

66.2.4   Informazioni sintetiche sulla situazione dei pacchetti

In condizioni normali, salvo una configurazione differente, i pacchetti vengono elencati mostrando inizialmente una o due lettere: la prima indica lo stato del pacchetto, la seconda serve a specificare l'azione richiesta sul pacchetto. Oltre a questo, lo stato e le richieste sui pacchetti viene messo in evidenza anche con l'uso del colore di sfondo sulle righe che li riguardano. Le tabelle 66.8 e 66.9 descrivono brevemente i simboli utilizzati in questo modo.

Tabella 66.8. Simbologia relativa allo stato dei pacchetti.

Simbolo Sfondo Descrizione
v Pacchetto virtuale.
B rosso Pacchetto con problemi di qualche tipo.
u Pacchetto estratto ma non configurato.
C Pacchetto configurato parzialmente.
H Pacchetto installato parzialmente.
c Pacchetto disinstallato lasciando la configurazione.
i Pacchetto installato regolarmente.
E Errore interno al programma.

Tabella 66.9. Simbologia relativa alle azioni da applicare ai pacchetti.

Simbolo Sfondo Descrizione
h bianco Mantenere la versione attuale.
p magenta Disinstallare completamente, compresi i file di configurazione.
d magenta Disinstallare lasciando la configurazione.
B rosso Problemi di qualche tipo.
i verde Installare.
r Reinstallare.
u blu Aggiornare.

66.2.5   Configurazione interattiva

La configurazione di Aptitude può essere estremamente complessa, intervenendo nel file /etc/apt/apt.conf, come descritto ampiamente nella guida interna del programma. A fianco di quella generale, viene creata automaticamente una configurazione personalizzata, corrispondente al file ~/.aptitude/config. Questo file viene gestito attraverso le voci del menù {Options} ed è sufficiente intervenire lì perché questo file venga aggiornato.

Pur non rappresentando un sistema completo di configurazione, dalle voci di questo menù si può modificare notevolmente l'aspetto delle informazioni che vengono mostrate. Fortunatamente, la voce {Revert options} consente di ripristinare tutto alla configurazione predefinita, che in questo caso è rappresentata da quanto contenuto (o non contenuto) nel file /etc/apt/apt.conf.

66.3   Gnome APT

Gnome APT, (3) è un applicativo grafico per la gestione dei pacchetti secondo il sistema APT. Il funzionamento del programma è molto intuitivo e le voci del menù sono organizzate in modo logico. La figura 66.10 mostra come potrebbe presentarsi all'avvio (eseguibile gnome-apt).

Figura 66.10. Gnome APT.

apt-gnome-apt

La finestra sul lato destro elenca i pacchetti in una struttura ad albero, secondo la classificazione in gruppi e l'ordinamento determinato attraverso le funzioni accessibili dal menù {View}. Nella figura si vede una struttura a gruppi di tipo alfabetico, che può essere cambiata agevolmente secondo altre caratteristiche dei pacchetti.

L'apertura delle voci dell'elenco si ottiene facendo un clic con il primo tasto del mouse (quello sinistro), puntando sulla casellina antecedente ogni nome. Se la voce rappresenta un gruppo di pacchetti, si visualizza il ramo di pacchetti o di sottogruppi; se la voce è un pacchetto, si ottiene l'elenco delle dipendenze (che a loro volta possono avere altre dipendenze). Così come si apre un ramo, si può richiudere, facendo nuovamente un clic con il primo tasto del mouse.

Facendo un clic con il primo tasto del mouse su un nome dell'elenco, lo si seleziona. Se si tratta di un pacchetto, sul riquadro a sinistra appaiono le informazioni disponibili su di esso.

Facendo un clic con il terzo tasto (quello destro) quando si punta su un nome dell'elenco, appare un menù a scomparsa con le azioni che possono essere applicate alla voce relativa. Se si tratta di un pacchetto può essere selezionata l'azione da compiere.

Le colonne che contengono le informazioni dei pacchetti elencati, possono essere spostate e omesse. In condizioni normali, le prime tre colonne, evidenziate dalle sigle D, K e I, contengono dei pulsanti di selezione, con cui è possibile, rispettivamente: disinstallare, mantenere o installare un pacchetto. Mantenere un pacchetto può significare il non disinstallarlo oppure il non aggiornarlo, a seconda del contesto.

Dal menù {Action} è possibile accedere a due funzioni molto importanti: l'aggiornamento dell'elenco dei pacchetti, con la voce {Update}; l'avvio dell'esecuzione delle richieste sull'installazione, aggiornamento e disinstallazione dei pacchetti, attraverso la voce {Complete run}.

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


1) APT   GNU GPL

2) Aptitude   GNU GPL

3) Gnome APT   GNU GPL


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome pacchetti_debian_apt.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!