Product SiteDocumentation Site

6.5. Frontend: aptitude, synaptic

APT è un programma C++ il cui codice risiede nella libreria condivisa libapt-pkg. L'uso di una libreria condivisa facilita la creazione di un'interfaccia utente (frontend), poiché il codice contenuto nella libreria può essere facilmente riutilizzato. Storicamente, apt-get è stato concepito solo come frontend di prova per libapt-pkg ma il suo successo tende ad oscurare questo aspetto.

6.5.1. aptitude

aptitude è un programma interattivo che può essere usato in modalità semi-grafica dalla console. Si può scorrere la lista dei pacchetti installati e disponibili, cercare tutte le informazioni disponibili e selezionare i pacchetti da installare o rimuovere. Il programma è stato progettato appositamente per essere usato dagli amministratori, in modo che i suoi comportamenti predefiniti siano molto più intelligenti di quelli di apt-get e la sua interfaccia sia più semplice da capire.
Il gestore di pacchetti aptitude

Figura 6.1. Il gestore di pacchetti aptitude

Quando si avvia, aptitude mostra un elenco di pacchetti ordinati per stato (installati, non installati o installati ma non disponibili sui mirror — altre sezioni mostrano i task, i pacchetti virtuali ed i nuovi pacchetti apparsi di recente nei mirror). Per facilitare la navigazione tematica, sono presenti altre viste. In tutti i casi, aptitude visualizza sullo schermo un elenco che combina categorie e pacchetti. Le categorie sono organizzate con una struttura ad albero, i cui rami posso essere rispettivamente aperti o chiusi con i tasti Invio, [ e ]. Il tasto + viene usato per marcare un pacchetto per l'installazione, - lo marca per la rimozione e _ per l'eliminazione (notare che questi tasti possono essere usati anche per le categorie, in questo caso l'azione corrispondente verrà applicata a tutti i pacchetti della categoria). il tasto u aggiorna l'elenco dei pacchetti disponibili e Shift+u prepara un aggiornamento globale del sistema. Il tasto g passa ad una visualizzazione di riepilogo delle modifiche richieste (e digitando g nuovamente si applicheranno i cambiamenti) e q esce dalla vista corrente. Se si è nella vista principale, questo si tradurrà nella chiusura di aptitude.
Per cercare un pacchetto, si può digitare / seguito da un modello di ricerca. Questo modello fa corrispondenza con il nome del pacchetto, ma può essere applicato anche alla descrizione (se preceduto da ~d), alla sezione (con ~s) o ad altre caratteristiche descritte nella documentazione. Gli stessi modelli possono filtrare l'elenco dei pacchetti visualizzati: digitando il tasto l (per limita) e inserendo il modello.
La gestione del "flag automatico" dei pacchetti Debian (vedi Sezione 6.2.7, «Tenere traccia dei pacchetti installati automaticamente») è un gioco da ragazzi con aptitude. È possibile scorrere l'elenco dei pacchetti installati e contrassegnare i pacchetti come automatici con Shift+m o rimuovere il contrassegno con il tasto m. I "pacchetti automatici" vengono visualizzati con una "A" nell'elenco dei pacchetti. Questa funzione offre anche un modo semplice per visualizzare i pacchetti in uso sulla macchina, senza tutte le librerie e le dipendenze che non interessano davvero. Il pattern correlato che può essere usato con l (per attivare la modalità filtro) è ~i!~M. Esso specifica che vogliamo vedere solo i pacchetti installati (~i) non contrassegnati come automatici (!~M).

6.5.1.1. Gestire raccomandazioni, suggerimenti e task

Un'altra caratteristica interessante di aptitude è il fatto che rispetta le raccomandazioni tra i pacchetti pur dando agli utenti la scelta di non installarle caso per caso. Ad esempio, il pacchetto gnome raccomanda (tra gli altri) transmission-gtk. Quando si seleziona il primo per l'installazione, viene selezionato anche il secondo (e contrassegnato come automatico se non già installato nel sistema). Digitare g renderà la cosa evidente: transmission-gtk appare nella schermata di riepilogo delle azioni in sospeso nell'elenco dei pacchetti installati automaticamente per soddisfare le dipendenze. Tuttavia, si può decidere di non installarlo deselezionandolo prima di confermare le operazioni.
Si noti che questa funzione di tracciamento delle raccomandazioni non si applica agli aggiornamenti. Per esempio, se una nuova versione di gnome raccomanda un pacchetto che non raccomandava precedentemente, il pacchetto non viene contrassegnato per l'installazione. Tuttavia, esso sarà elencato nella schermata di aggiornamento in modo che l'amministratore possa sempre selezionarlo per l'installazione.
Anche i suggerimenti tra i pacchetti sono presi in considerazione, ma in un modo adatto al loro stato specifico. Per esempio, dal momento che gnome suggerisce empathy, quest'ultimo sarà visualizzato nella schermata riassuntiva delle azioni in sospeso (nella sezione dei pacchetti suggeriti da altri pacchetti). In questo modo è visibile e l'amministratore può decidere se prendere in considerazione il suggerimento o meno. Dal momento che sono solo suggerimenti e non dipendenze o raccomandazioni, il pacchetto non verrà selezionato automaticamente — la sua selezione richiede un intervento manuale da parte dell'utente (quindi, il pacchetto non verrà contrassegnato come automatico).
Con lo stesso spirito, si ricordi che aptitude fa un uso intelligente del concetto di task. Dal momento che i task vengono visualizzati come categorie nelle schermate delle liste di pacchetti, è possibile selezionare un'intera attività per l'installazione o rimozione, o sfogliare la lista dei pacchetti inclusi nell'attività per selezionarne un insieme più piccolo.

6.5.1.2. Algoritmi funzionanti meglio

Per concludere questa sezione, si noti che aptitude ha degli algoritmi più elaborati rispetto ad apt-get quando si tratta di risolvere situazioni difficili. Quando è richiesto un insieme di azioni la cui combinazione potrebbero portare ad un sistema incoerente, aptitude valuta i diversi scenari possibili, presentandoli in ordine decrescente di rilevanza. Tuttavia, questi algoritmi non sono infallibili. Fortunatamente c'è sempre la possibilità di selezionare manualmente le azioni da eseguire. Quando le azioni attualmente scelte portano a contraddizioni, la parte superiore dello schermo indica un numero di pacchetti "difettoso" (e si può navigare direttamente fra questi pacchetti premendo b). È quindi possibile creare manualmente una soluzione al problema riscontrato. In particolare, è possibile ottenere l'accesso alle differenti versioni disponibili semplicemente selezionando il pacchetto con Invio. Se la selezione di una di queste versioni risolve il problema, non si dovrebbe esitare a usare quella funzione. Quando il numero di pacchetti difettosi raggiunge lo zero, si può andare senza problemi alla schermata riepilogativa delle azioni in attesa per un ultimo controllo prima di applicare i cambiamenti.

6.5.2. synaptic

synaptic è un gestore di pacchetti grafico per Debian che dispone di un'interfaccia grafica pulita ed efficiente basata su GTK+/GNOME. I suoi molti filtri già pronti da utilizzare consentono di accedere velocemente ai nuovi pacchetti disponibili, pacchetti installati, pacchetti aggiornabili, pacchetti obsoleti e così via. Se si naviga in questi elenchi, è possibile selezionare le opzioni da fare sui pacchetti (installare, aggiornare, rimuovere, eliminare completamente); queste operazioni non vengono eseguite immediatamente, ma messe in un elenco di attività. Un semplice clic su un pulsante convalida le operazioni, ed esse vengono eseguite in un sol colpo.
Il gestore di pacchetti synaptic

Figura 6.2. Il gestore di pacchetti synaptic