Product SiteDocumentation Site

6.4. 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 un frontend di prova per libapt-pkg ma il suo successo tende ad oscurare questo fatto.

6.4.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 da amministratori, in modo che i suoi comportamenti predefiniti sono molto più intelligenti di quelli di apt-get e la sua interfaccia è molto 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 e i nuovi pacchetti che sono 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 ]. + viene usato per marcare un pacchetto per l'installazione, - per marcarlo 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). u aggiorna l'elenco dei pacchetti disponibili e Maiusc+u prepara un aggiornamento globale del sistema. g passa ad una visualizzazione di riepilogo delle modifiche richieste (e digitando g ancora si applicano 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.

6.4.1.1. Tenere traccia dei pacchetti installati automaticamente

Una delle funzionalità essenziali di aptitude (che è stata integrata anche in apt-get a partire da Lenny) è il tracciamento dei pacchetti installati solo attraverso dipendenze. Questi pacchetti sono chiamati "automatici" e sono contrassegnati con una "A" nella lista dei pacchetti: spesso includono per esempio librerie. Quando un pacchetto è rimosso, i corrispondenti pacchetti automatici vengono selezionati per la rimozione a meno che un altro pacchetto "installato manualmente" non dipenda da loro. È possibile contrassegnare un pacchetto come automatico (con Maiusc+m) o rimuovere il contrassegno (tasto m). Quando si mantiene il sistema con aptitude, è buona abitudine contrassegnare come automatico ogni pacchetto che non serve direttamente così che venga rimosso quando diventa non più necessario. È possibile scorrere la lista dei pacchetti installati e giocare con Maiusc+m, o applicare il contrassegno ad intere sezioni (per esempio la sezione libs). Questa abitudine può aiutare a mantenere il sistema pulito e offre un modo semplice per visualizzare i pacchetti in uso sulla macchina, senza tutte le librerie e dipendenze che non interessano realmente. Il modello relativo che può essere usato con l (per attivare la modalità filtro) è ~i!~M. Ciò specifica che si desidera visualizzare solo i pacchetti installati (~i) non contrassegnati come automatici (!~M).
Si potrebbe voler sapere perché un pacchetto installato automaticamente è presente nel sistema. Per ottenere queste informazioni dalla riga di comando, è possibile utilizzare aptitude why pacchetto:
$  aptitude why python-debian
i   aptitude         Raccomanda apt-xapian-index         
i A apt-xapian-index Dipende    python-debian (>= 0.1.15)

6.4.1.2. 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-desktop-environment raccomanda gnome-accessibility (tra gli altri). Quando si seleziona il primo per l'installazione, viene selezionato anche il secondo (e contrassegnato come automatico se non già installato sul sistema). Digitare g renderà la cosa evidente: gnome-accessibility viene visualizzato nella schermata di riepilogo delle operazioni pianificate nell'elenco dei pacchetti installati automaticamente per soddisfare le dipendenze. Tuttavia, è possibile 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-desktop-environment 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-desktop-environment suggerisce gnome-audio, 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.4.1.3. 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 e quando queste azioni combinate potrebbero portare ad un sistema incoerente, aptitude valuta i diversi scenari possibili e li presenta 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 "difettosi" (e si può navigare direttamente fra questi pacchetti premendo b). È dunque possibile costruire 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.4.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