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

When it starts, aptitude shows a list of packages sorted by state (installed, non-installed, or installed but not available on the mirrors — other sections display tasks, virtual packages, and new packages that appeared recently on mirrors). To facilitate thematic browsing, other views are available. In all cases, aptitude displays a list combining categories and packages on the screen. Categories are organized through a tree structure, whose branches can respectively be unfolded or closed with the Enter, [ and ] keys. + should be used to mark a package for installation, - to mark it for removal and _ to purge it (note that these keys can also be used for categories, in which case the corresponding actions will be applied to all the packages of the category). u updates the lists of available packages and Shift+u prepares a global system upgrade. g switches to a summary view of the requested changes (and typing g again will apply the changes), and q quits the current view. If you are in the initial view, this will effectively close 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 «contrassegno automatico» per i pacchetti Debian (vedere la Sezione 6.2.7, «Tenere traccia dei pacchetti installati automaticamente») diventa una passeggiata se si usa aptitude. È possibile navigare l'elenco dei pacchetti installati e contrassegnare i pacchetti come automatici con Maiusc+m oppure rimuovere il contrassegno con il tasto m. I «pacchetti automatici» vengono visualizzati con una «A» nell'elenco dei pacchetti. Questa funzionalità offre anche un modo semplice per visualizzare i pacchetti usati su una macchina, senza tutte le librerie e dipendenze a cui non si è veramente interessati. Il corrispondente modello che può essere usato con l (per attivare la modalità filtro) è ~i!~M. Specifica che si desiderano vedere solo i pacchetti installati ((~i) non contrassegnati come automatici (!~M).

6.4.1.1. Gestire raccomandazioni, suggerimenti e task

Another interesting feature of aptitude is the fact that it respects recommendations between packages while still giving users the choice not to install them on a case by case basis. For example, the gnome package recommends brasero (among others). When you select the former for installation, the latter will also be selected (and marked as automatic if not already installed on the system). Typing g will make it obvious: brasero appears on the summary screen of pending actions in the list of packages installed automatically to satisfy dependencies. However, you can decide not to install it by deselecting it before confirming the operations.
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.
Suggestions between packages are also taken into account, but in a manner adapted to their specific status. For example, since gnome suggests empathy, the latter will be displayed on the summary screen of pending actions (in the section of packages suggested by other packages). This way, it is visible and the administrator can decide whether to take the suggestion into account or not. Since it is only a suggestion and not a dependency or a recommendation, the package will not be selected automatically — its selection requires a manual intervention from the user (thus, the package will not be marked as automatic).
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.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 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