Manuale utente di aptitude Versione 0.6.8.2 Daniel Burrows Diritto d'autore © 2004-2008 Daniel Burrows Questo manuale è software libero; è possibile ridistribuirlo e/o modificarlo secondo i termini della licenza GNU General Public License, come pubblicata dalla Free Software Foundation nella versione 2 della licenza, o (a scelta) una versione più recente. Questo programma è distribuito nella speranza che sia utile, ma SENZA ALCUNA GARANZIA, nemmeno la garanzia implicita di COMMERCIABILITÀ o APPLICABILITÀ PER UNO SCOPO PARTICOLARE. Per maggiori dettagli vere la GNU General Public License. Insieme a questo manuale dovrebbe essere stata fornita una copia della GNU General Public License; se così non fosse, scrivere alla: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -------------------------------------------------------------------------------- Indice Introduzione Cosa è aptitude? Che cosa è un gestore di pacchetti? Che cosa è il sistema apt? Come si può ottenere aptitude? Pacchetti aptitude precompilati, ovvero «ciò che dovrebbe usare il 99% degli utenti» Compilare aptitude dal codice sorgente Tenere traccia e partecipare allo sviluppo di aptitude 1. Iniziare Usare aptitude Nozioni di base su aptitude Navigare l'elenco dei pacchetti di aptitude Trovare pacchetti in base al nome Gestire i pacchetti Aggiornare l'elenco dei pacchetti e installare pacchetti Usare aptitude dalla riga di comando 2. Guida di riferimento di aptitude L'interfaccia utente in terminale di aptitude Usare i menu Comandi dei menu Lavorare con più viste Diventare root Gestire i pacchetti Gestire l'elenco dei pacchetti Accedere alle informazioni sui pacchetti Modificare lo stato dei pacchetti Scaricare, installare e rimuovere pacchetti Capire e gestire la sicurezza dei pacchetti Gestire i pacchetti installati automaticamente Risolvere le dipendenze tra i pacchetti La risoluzione delle dipendenze in aptitude Risoluzione immediata delle dipendenze Risolvere le dipendenze in modo interattivo I costi nel risolutore interattivo di dipendenze Configurare il risolutore interattivo di dipendenze Modelli di ricerca Cercare stringhe Abbreviazioni per i termini di ricerca Ricerche e versioni Bersagli di ricerca espliciti Guida di riferimento per i termini di ricerca Personalizzare aptitude Personalizzare l'elenco dei pacchetti Personalizzare le associazioni dei tasti Personalizzare il colore e lo stile dei testi Personalizzare la disposizione della visualizzazione Guida di riferimento per il file di configurazione Temi Giocare a Campo minato 3. Domande fatte di frequente su aptitude 4. Riconoscimenti I. Guida di riferimento per la riga di comando aptitude — interfaccia di alto livello per il gestore di pacchetti aptitude-create-state-bundle — crea un archivio con lo stato attuale di aptitude aptitude-run-state-bundle — spacchetta un archivio dello stato di aptitude e invoca il comando aptitude su di esso Lista delle figure 2.1. I comandi disponibili nel menu Azioni 2.2. I comandi disponibili nel menu Annulla 2.3. I comandi disponibili nel menu Pacchetto 2.4. I comandi disponibili nel menu Risolutore 2.5. I comandi disponibili nel menu Cerca 2.6. I comandi disponibili nel menu Opzioni 2.7. I comandi disponibili nel menu Viste 2.8. I comandi disponibili nel menu Aiuto 2.9. Valori dell'indicatore dello «stato attuale» 2.10. Valori dell'indicatore dell'«azione» 2.11. Sintassi per i componenti di costo composti 2.12. Livelli dei costi di sicurezza 2.13. Sintassi del termine ?for 2.14. Stili personalizzabili in aptitude Lista delle tabelle 2.1. Componenti di costo di base 2.2. Livelli predefiniti per i costi di sicurezza 2.3. Guida veloce ai termini di ricerca Lista degli esempi 2.1. Esempi di costi del risolutore 2.2. Uso del termine ?=. 2.3. Uso del termine ?bind 2.4. Uso del termine ?exact-name 2.5. Uso del termine ?for 2.6. Uso del termine ?term-prefix 2.7. Uso di pattern per raggruppare i pacchetti in base al loro manutentore. 2.8. Uso di pattern con alcuni pacchetti posti nel livello più alto 2.9. Uso della politica di raggruppamento pattern con sottopolitiche. 10. Uso di --show-summary Introduzione Indice Cosa è aptitude? Che cosa è un gestore di pacchetti? Che cosa è il sistema apt? Come si può ottenere aptitude? Pacchetti aptitude precompilati, ovvero «ciò che dovrebbe usare il 99% degli utenti» Compilare aptitude dal codice sorgente Tenere traccia e partecipare allo sviluppo di aptitude   «Maestro, Emacs ha la natura del Buddha?», chiese il discepolo.   «Non vedo perché no», rispose il maestro. «Ha tutto quanto il resto.» Svariati anni dopo, il discepolo ottenne improvvisamente l'illuminazione.   -- John Fouhy Benvenuti nel manuale utente di aptitude! Questa introduzione spiega cosa sia aptitude e come ottenerlo; per informazioni su come usarlo, saltare a Capitolo 1, Iniziare. Cosa è aptitude? aptitude è un gestore di pacchetti ricco di funzionalità per i sistemi Debian GNU/Linux, basato sulla rinomata infrastruttura di gestione dei pacchetti apt. aptitude fornisce le funzionalità di dselect e apt-get, così come molte funzionalità aggiuntive che non si trovano in alcuno degli altri due programmi. Che cosa è un gestore di pacchetti? Un gestore di pacchetti tiene traccia di quale software sia installato sul computer e permette in modo facile di installare nuovo software, aggiornare il software a versioni più recenti o di rimuovere software installato in precedenza. Come suggerisce il nome, i gestori di pacchetti trattano pacchetti: raccolte di file che sono raggruppati insieme e possono essere installati e rimossi in gruppo. Spesso, un pacchetto è semplicemente un particolare programma. Ad esempio, il client di messaggistica istantanea gaim è contenuto nel pacchetto Debian omonimo. D'altra parte, capita spesso che programmi consistano di svariati pacchetti correlati. Ad esempio, l'editor di immagini gimp consiste non solo del pacchetto gimp, ma anche di quello gimp-data e in aggiunta sono disponibili anche svariati pacchetti di moduli aggiuntivi (contenenti dati usati di rado, documentazione e così via). È anche possibile che svariati piccoli programmi correlati siano contenuti in un unico pacchetto: il pacchetto fileutils, ad esempio, contiene diversi comandi Unix comuni, come ls, cp, ecc. Alcuni pacchetti ne richiedono altri per poter funzionare. In Debian, i pacchetti possono dipendere, raccomandare, consigliare, rendere difettoso o andare in conflitto con altri pacchetti. * Se un pacchetto A dipende da un altro pacchetto B, allora B è necessario affinché A funzioni correttamente. Per esempio, il pacchetto gimp dipende dal pacchetto gimp-data per garantire che l'editor di immagini GIMP possa accedere ai propri file di dati indispensabili. * Se il pacchetto A raccomanda un altro pacchetto B, allora B fornisce ad A funzionalità aggiuntive importanti che sono desiderate nella maggior parte dei casi. Per esempio, il pacchetto mozilla-browser raccomanda il pacchetto mozilla-psm che aggiunge al browser web Mozilla la gestione di trasferimenti sicuri di dati. Sebbene mozilla-psm non sia strettamente necessario per il funzionamento di Mozilla, la maggior parte degli utenti vorrà avere in Mozilla la gestione della trasmissione sicura dei dati confidenziali (come i numeri di carte di credito). * Se un pacchetto A consiglia un altro pacchetto B, allora il pacchetto B fornisce funzionalità che possono migliorare A, ma che nella maggior parte dei casi non sono necessarie. Per esempio, il pacchetto kmail consiglia il pacchetto gnupg, che contiene software di cifratura che può essere usato con KMail. * Se un pacchetto A va in conflitto con un altro pacchetto B, allora i due pacchetti non possono essere installati contemporaneamente. Per esempio, fb- music-hi va in conflitto con fb-music-low perché forniscono insiemi alternativi di musiche per il gioco Frozen Bubble. Il compito di un gestore di pacchetti è di presentare un'interfaccia che assista l'utente nella gestione della raccolta di pacchetti installati sul suo sistema. aptitude fornisce una tale interfaccia sulla base del sistema di gestione dei pacchetti apt. Che cosa è il sistema apt? Poter installare e rimuovere pacchetti è una gran bella cosa, ma il software di base per farlo (chiamato dpkg) fa esattamente quello e nulla di più. Questo va bene se si desidera scaricare uno o due pacchetti a mano, ma diventa presto problematico quando si cerca di gestire un grande numero di pacchetti. Inoltre, se un bellissimo pacchetto nuovo, richiede software che non è stato ancora installato, è necessario scaricare manualmente i nuovi pacchetti richiesti. Se successivamente si decide di rimuovere il pacchetto non più bellissimo, questi pacchetti aggiuntivi rimarrano nel sistema, usando spazio sul disco, a meno di non rimuoverli manualmente. Ovviamente tutto questo lavoro manuale è un compito gravoso e perciò la maggior parte dei sistemi di gestione dei pacchetti viene fornita con software che si prende cura in parte o del tutto di questo lavoro. apt è una base comune su cui creare questi programmi: oltre ad aptitude, programmi come synaptic e apt-watch fanno uso di apt. apt funziona mantenendo un elenco dei pacchetti che possono essere scaricati da Debian sul computer. Questo elenco è usato per trovare i pacchetti che devono essere aggiornati e per installare pacchetti nuovi. apt può anche risolvere molti problemi di dipendenze in modo automatico: ad esempio, quando si sceglie di installare un pacchetto, trova tutti i pacchetti aggiuntivi richiesti e installa anche quelli. Quando si lavora con un gestore di pacchetti basato su apt, come aptitude, tipicamente si eseguono tre compiti base: si aggiorna l'elenco dei pacchetti che sono disponibili scaricando i nuovi elenchi dai server Debian, si selezionano i pacchetti che devono essere installati, aggiornati o rimossi e da ultimo si attuano le selezioni effettuando di fatto le installazioni, rimozioni, ecc. I gestori di pacchetti basati su apt leggono l'elenco delle «sorgenti», depositi dei pacchetti Debian, dal file /etc/apt/sources.list. Il formato e il contenuto di questo file esulano dallo scopo di questo documento, ma sono descritti nella pagina di manuale sources.list(5). Come si può ottenere aptitude? Nel caso si stia leggendo questo manuale, ma aptitude non sia ancora installato sul proprio sistema, questa sezione spiega come correggere questa situazione incresciosa. La maggior parte delle persone dovrebbe saltare direttamente alla sezione sui pacchetti binari. Pacchetti aptitude precompilati, ovvero «ciò che dovrebbe usare il 99% degli utenti» I pacchetti precompilati, o «binari», sono il modo più semplice e comune per installare aptitude. Si dovrebbe tentare una installazione dai sorgenti solamente se per qualche ragione non ci sono pacchetti binari disponibili o se si hanno necessità molto particolari che non sono soddisfatte dai pacchetti binari. Se si usa un sistema Debian, eseguire il seguente comando come utente root: apt- get install aptitude. Se non si usa un sistema Debian, chi ha fornito il sistema può aver creato un pacchetto precompilato per aptitude; contattarlo per ulteriori suggerimenti, se non si è sicuri. Compilare aptitude dal codice sorgente È anche possibile compilare aptitude a partire dai sorgenti; tuttavia ciò non è un esercizio utile a meno che non si abbia già apt disponibile nel sistema. Se lo è, si può installare aptitude dai sorgenti seguendo questi passi: 1. Installare i seguenti software: o Un compilatore C++, come g++. o I file di sviluppo di apt, tipicamente disponibili in un pacchetto con un nome simile a libapt-pkg-dev. o La libreria libsigc++-2.0, disponibile nel pacchetto libsigc++-2.0-dev oppure da http://libsigc.sourceforge.net. o La libreria cwidget, disponibile nel pacchetto libcwidget-dev o da http:/ /cwidget.alioth.debian.org. o Il programma gettext che dovrebbe essere incluso nella distribuzione Linux. o Uno strumento make, come GNU make. 2. Da ultimo, ma non per importanza, scaricare la versione più recente del codice sorgente di aptitude, disponibile da http://packages.debian.org/ unstable/admin/aptitude. (Scorrere la pagina fino in fondo e scaricare il file «.orig.tar.gz».) Una volta disponibili tutti i componenti richiesti, aprire un terminale ed eseguire il comando tar xzf aptitude-0.6.8.2.tar.gz per estrarre il codice sorgente. Una volta fatto, digitare cd aptitude-0.6.8.2&& ./configure && make per compilare aptitude. Se ciò avviene con successo, assicurarsi di essere l'utente root (usando su, ad esempio), poi digitare make install per installare aptitude sul computer. Una volta che aptitude è installato con successo, se si digita aptitude al prompt dei comandi il programma dovrebbe avviarsi. Tenere traccia e partecipare allo sviluppo di aptitude Ottenere l'albero dei sorgenti di sviluppo di aptitude Se si desidera testare il codice sorgente più recente e modernissimo di aptitude, si può scaricare il codice sorgente di aptitude non ancora rilasciato usando Git. Installare Git (disponibile da http://git-scm.com/) ed eseguire il comando git clone git://git.debian.org/git/aptitude/aptitude.git per recuperare il codice sorgente più recente. IMG.alt.suffix Avvertimento = \ [Avvertimento]] Il repository Git di aptitude è un albero di sviluppo attivo; viene modificato mano a mano che i problemi sono risolti e le funzionalità vengono aggiunte, e non c'è assolutamente alcuna garanzia che possa essere compilato senza problemi, e tanto meno che funzioni in modo corretto! Le segnalazioni dei bug sono benvenute, ma si deve essere consci del fatto che l'uso di codice di sviluppo è completamente a proprio rischio e pericolo![1] Mailing list La mailing list principale per ciò che riguarda lo sviluppo di aptitude è . Gli archivi della lista sono all'indirizzo http://lists.alioth.debian.org/pipermail/aptitude-devel/. Per iscriversi, visitare la pagina web http://lists.alioth.debian.org/mailman/ listinfo/aptitude-devel. Inviare patch Idealmente le patch dovrebbero essere inviate alla mailing list di aptitude: . Però se si preferisce inviarle in messaggi di posta elettronica privati, è possibile inviarle a o . Una breve descrizione del motivo che ha portato alla patch e una spiegazione del suo funzionamento sono molto apprezzati. Tenere traccia dei cambiamenti all'albero dei sorgenti di aptitude L'albero dei sorgenti di aptitude viene regolarmente aggiornato con nuove funzionalità, soluzioni di bug e nuovi bug. Una volta che il codice sorgente è disponibile sul computer (vedere la sezione precedente), ci si può spostare con cd in esso e digitare git pull per aggiornarlo con qualsiasi cambiamento che sia stato fatto al repository principale. Per ricevere notifiche automatiche quando vengono fatte modifiche al codice di aptitude, iscriversi al feed Atom disponibile all'indirizzo http:// anonscm.debian.org/gitweb/?p=aptitude/aptitude.git;a=atom o al feed RSS disponibile all'indirizzo http://anonscm.debian.org/gitweb/?p=aptitude/ aptitude.git;a=rss. Compilare aptitude dal ramo di sviluppo Per compilare aptitude dal repository Git devono essere installati i programmi autoconf e automake. Digitare sh ./autogen.sh && ./configure per generare i file necessari per compilare aptitude, poi eseguire make e make install. -------------------------------------------------------------------------------- [1]Naturalmente tutto il software libero viene usato a proprio rischio e pericolo, ma il rischio associato all'uso di un ramo di sviluppo attivo è molto più alto. Capitolo 1. Iniziare Indice Usare aptitude Nozioni di base su aptitude Navigare l'elenco dei pacchetti di aptitude Trovare pacchetti in base al nome Gestire i pacchetti Aggiornare l'elenco dei pacchetti e installare pacchetti Usare aptitude dalla riga di comando   Un viaggio di mille miglia inizia con un solo passo.     -- Lao Tsu aptitude è un programma piuttosto grande con molte funzionalità e può intimidire un po' i nuovi utenti che devono abituarsi ad usarlo. Questo capitolo non descrive in modo esaustivo le funzionalità di aptitude (vedere Capitolo 2, Guida di_riferimento_di_aptitude per quello), ma fornisce una panoramica delle funzionalità di base del programma più comunemente usate. Usare aptitude Questa sezione descrive come usare l'interfaccia visuale di aptitude. Per informazioni su come usare l'interfaccia a riga di comando di aptitude vedere sezione chiamata «Usare aptitude dalla riga di comando». Nozioni di base su aptitude Per eseguire aptitude, aprire il proprio terminale di testo preferito e nella riga di comando digitare: pincopallo$ aptitude Una volta che la cache è stata caricata (nelle macchine più lente può volerci un po'), dovrebbe apparire la schermata principale di aptitude: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi aptitude 0.6.6 --- Pacchetti installati (1774) --- Pacchetti non installati (34734) --- Pacchetti obsoleti e creati localmente (21) --- Pacchetti virtuali (4545) Questi pacchetti sono attualmente installati sul computer. Questo gruppo contiene 1774 pacchetti. Come si può vedere, la schermata principale di aptitude è divisa in diverse regioni. La riga blu in alto nel terminale è la barra del menu, e la righea blu sottostanti contengono messaggi informativi che descrivono alcuni comandi importanti. Lo spazio nero che segue contiene l'elenco di tutti i pacchetti disponibili, in cui sono elencati alcuni gruppi di pacchetti. Il gruppo attualmente selezionato («Pacchetti installati») è evidenziato e la sua descrizione è mostrata nello spazio nero sottostante. Come suggerisce la prima riga della schermata, si può accedere ai menu di aptitude premendo Control+t; si può anche fare clic con il mouse sul titolo di un menu se il proprio sistema lo permette. Premere Control+t fa aprire il menu Azioni. Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto +---------------------------------+giorna g: Scarica/Installa/Rimuovi |Installa/rimuovi pacchetti g| |Aggiorna l'elenco dei pacchetti u| +---------------------------------+) |Aggiorna tutti i pacchetti U|almente (21) |Dimentica i nuovi pacchetti f| |Annulla azioni in attesa | |Pulisci la cache dei pacchetti | |Cancella i file vecchi | +---------------------------------+ |Gioca a campo minato | +---------------------------------+ |Diventa root |nstallati sul computer. |Esci Q| +---------------------------------+ti. Procede ad installare e rimuovere i pacchetti Usare i tasti freccia e Invio per selezionare le voci di menu (o, se il sistema lo permette, fare clic su di esse con il mouse); per chiudere il menu senza selezionare nulla, premere Control+t di nuovo. La voce di menu attualmente selezionata è spiegata in fondo alla schermata. Se una voce di menu può essere attivata usando una scorciatoia da tastiera, quest'ultima viene mostrata nel menu: per esempio, il comando «Aggiorna l'elenco dei pacchetti» può essere attivato premendo u. In qualsiasi momento si può premere ? per visualizzare una documentazione di consultazione in linea sulle scorciatoie da tastiera disponibili. Navigare l'elenco dei pacchetti di aptitude L'elenco dei pacchetti è l'interfaccia principale di aptitude. Quando aptitude si avvia, l'elenco è organizzato in svariati gruppi, come si può vedere nell'istantanea della schermata sottostante: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi aptitude 0.6.6 --- Pacchetti installati (1774) --- Pacchetti non installati (34734) --- Pacchetti obsoleti e creati localmente (21) --- Pacchetti virtuali (4545) Questi pacchetti sono attualmente installati sul computer. Questo gruppo contiene 1774 pacchetti. IMG.alt.suffix Nota = \[Nota]] aptitude nasconde automaticamente i gruppi di pacchetti vuoti, perciò si possono vedere più gruppi o meno gruppi di quelli che compaiono in questa istantanea dello schermo. Nella schermata sopra, il primo gruppo («Pacchetti installati») è evidenziato ad indicare che è quello selezionato al momento. Si può spostare la selezione in su e in giù con i tasti freccia; notare che mentre ci si sposta, la descrizione al di sotto dell'elenco dei pacchetti cambia. Per «espandere» un gruppo premere Invio quando il gruppo è selezionato. Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi aptitude 0.6.6 --\ Pacchetti installati (1774) --- admin - Strumenti di amministrazione e di gestione del sistema (89) --- cli-mono - Mono and the Common Language Infrastructure (51) --- comm - Programmi per faxmodem e altri dispositivi di comunicazione (2) --- database - Database servers and tools (3) --- devel - Strumenti e programmi per lo sviluppo di software (22) --- doc - Documentazione e programmi specifici per leggerla (23) --- editors - Editor di testo e programmi di videoscrittura (23) --- embedded - Programmi per sistemi embedded (1) --- fonts - Fonts and font utilities (29) Questi pacchetti sono attualmente installati sul computer. Questo gruppo contiene 1774 pacchetti. Come si può vedere, il gruppo «Pacchetti installati» è stato espanso per rivelare il suo contenuto: svariati sottogruppi, all'incirca definiti in base al tipo di software che contengono. Se si espande la sezione «admin», selezionandola e premendo Invio, si può vedere: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi aptitude 0.6.6 --\ Pacchetti installati (1774) --\ admin - Strumenti di amministrazione e di gestione del sistema (89) --- main - L'archivio Debian principale (89) --- cli-mono - Mono and the Common Language Infrastructure (51) --- comm - Programmi per faxmodem e altri dispositivi di comunicazione (2) --- database - Database servers and tools (3) --- devel - Strumenti e programmi per lo sviluppo di software (22) --- doc - Documentazione e programmi specifici per leggerla (23) --- editors - Editor di testo e programmi di videoscrittura (23) --- embedded - Programmi per sistemi embedded (1) I pacchetti nella sezione «admin» permettono di svolgere mansioni amministrative quali installare software, gestire gli utenti, configurare e sorvegliare il proprio sistema, esaminare il traffico di rete e così via. Questo gruppo contiene 89 pacchetti. Il gruppo «admin» contiene un unico sottogruppo, l'archivio Debian «main» (principale). Se si espande questo gruppo si visualizzano alcuni pacchetti. IMG.alt.suffix Suggerimento = \ [Suggerimento]] Per risparmiare tempo, si può usare il tasto [ per espandere tutti i sottogruppi di un gruppo contemporaneamente. Se si fosse selezionato «Pacchetti installati» e si fosse premuto [, i pacchetti nell'istantanea dello schermo sottostante sarebbero stati visualizzati immediatamente. Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi aptitude 0.6.6 --\ Pacchetti installati (1774) --\ admin - Strumenti di amministrazione e di gestione del sistema (89) --\ main - L'archivio Debian principale (89) i A accountsservice 0.6.15-4 0.6.15-4 i acpi-support-base 0.140-3 0.140-3 i acpid 1:2.0.16-1 1:2.0.16-1 i adduser 3.113+nmu1 3.113+nmu1 i anacron 2.3-17 2.3-17 i A apg 2.2.3.dfsg.1-2 2.2.3.dfsg.1-2 i apt 0.8.15.10 0.8.15.10 La distribuzione Debian consiste dei pacchetti della sezione «main». Ogni pacchetto in «main» è Software Libero. Per maggiori informazioni riguardo a cosa Debian considera Software Libero, vedere anche http://www.debian.org/social_contract#guidelines Questo gruppo contiene 89 pacchetti. In aggiunta ai tasti freccia, è possibile spostare la selezione nell'elenco dei pacchetti una pagina di informazioni alla volta usando i tasti PagSu e PagGiù. IMG.alt.suffix Suggerimento = \ [Suggerimento]] Quando nella metà inferiore ci sono più informazioni di quelle che possono essere contenute nello spazio disponibile, si possono usare i tasti a e z per scorrerle. Trovare pacchetti in base al nome Per trovare velocemente un pacchetto di cui si conosce il nome, premere / per aprire un dialogo di ricerca: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: Menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi aptitude 0.6.6 i frozen-bubble 2.212-2 2.212-2 i A frozen-bubble-data 2.212-2 2.212-2 i gcompris 12.01-1 12.01-1 i gcompris-data 12.01-1 12.01-1 i gcompris-sound-en 12.01-1 12.01-1 i gcompris-sound-it 12.01-1 12.01-1 i hex-a-hop 0.0.20070315-8 0.0.20070315-8 i +--------------------------------------------------------------------------+ i |Cerca: | i |froz | Po| [ Ok ] [ Annulla ] | Fr+--------------------------------------------------------------------------+ attempt to shoot bubbles into groups of the same color to cause them to pop. It features 100 single-player levels, a two-player mode, music and striking graphics. This game is widely rumored to be responsible for delaying the Woody release. Homepage: http://www.frozen-bubble.org/ Come si può vedere nella schermata precedente, cercando froz si trova il pacchetto frozen-bubble. Usando il potente linguaggio di ricerca di aptitude, descritto in sezione chiamata «Modelli di ricerca», è possibile trovare pacchetti in base a molti criteri complessi. IMG.alt.suffix Suggerimento = \ [Suggerimento]] Si possono fare ricerche all'indietro nell'elenco dei pacchetti premendo \, e si può ripetere l'ultima ricerca premendo n dopo aver chiuso il riquadro di ricerca. A volte è utile nascondere tutti i pacchetti tranne quelli che soddisfano un certo criterio specifico. Per farlo, premere l: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: Menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi aptitude 0.6.6 --- Pacchetti installati (1634) --- Pacchetti non installati (34620) --- Pacchetti obsoleti e creati localmente (20) --- Pacchetti virtuali (4447) +--------------------------------------------------------------------------+ |Inserire il nuovo limite dell'albero dei pacchetti: | |apti | │ [ Ok ] [ Annulla ] │ Qu+--------------------------------------------------------------------------+ Questo gruppo contiene 1634 pacchetti. Il dialogo funziona esattamente come il dialogo di ricerca tranne che, invece di evidenziare il prossimo pacchetto che corrisponde a ciò che è stato digitato nel riquadro di dialogo, nasconde tutti i pacchetti che non corrispondono. Per esempio, se si digita apti in questo riquadro di dialogo e si preme Invio, vengono nascosti tutti i pacchetti tranne quelli il cui nome contiene «apti»: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi aptitude 0.6.6 --\ Pacchetti installati (3) --\ admin - Strumenti di amministrazione e di gestione del sistema (1) --\ main - L'archivio Debian principale (1) i aptitude 0.6.6-1 0.6.6-1 --\ doc - Documentazione e programmi specifici per leggerla (1) --\ main - L'archivio Debian principale (1) i aptitude-doc-en 0.6.6-1 0.6.6-1 --\ x11 - Il sistema X Window e software relativo (1) --\ main - L'archivio Debian principale (1) i A xserver-xorg-input-synaptics 1.5.99.901-1 1.5.99.901-1 Questi pacchetti sono attualmente installati sul computer. Questo gruppo contiene 3 pacchetti. Gestire i pacchetti Ora che si sa come muoversi nell'elenco dei pacchetti, è tempo di iniziare a usare aptitude per installare e rimuovere pacchetti. In questa sezione viene insegnato come contrassegnare pacchetti per l'installazione, la cancellazione e l'aggiornamento. IMG.alt.suffix Suggerimento = \ [Suggerimento]] È possibile cambiare la configurazione di sistema solo se si è l'utente root. Se si vuole fare esercizio nell'uso di aptitude, si può tranquillamente eseguirlo come qualsiasi utente che non sia root, senza danneggiare in alcun modo il sistema. aptitude avvisa quando si tenta di fare qualcosa che solo root può fare e, se si desidera continuare, è necessario inserire la password di root. Tutti i cambiamenti ad un pacchetto vengono effettuati dapprima evidenziandolo nell'elenco dei pacchetti e poi premendo il tasto corrispondente all'azione che deve essere effettuata. I tasti delle azioni di base [2] sono + per installare o aggiornare un pacchetto, - per rimuovere un pacchetto e = per evitare che un pacchetto venga automaticamente aggiornato (questa azione è nota come bloccare il pacchetto). Queste azioni non vengono effettuate immediatamente; aptitude semplicemente aggiorna l'elenco dei pacchetti per mostrare il cambiamento che è stato richiesto. Per esempio, nella schermata sottostante, è stato selezionato il pacchetto elvis ed è stato premuto +. Il pacchetto è ora evidenziato in verde e, alla sinistra del suo nome, è apparsa la lettera «i» ad indicare che verrà installato; in aggiunta viene visualizzata una stima della quantità di spazio che il pacchetto userà. vAzioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi aptitude 0.6.6 Occuperà 3858 kB su disco Scarica: 1000 kB p efte 1.1-1 p el-get 3.1-1 pi elvis +745 kB 2.2.0-11.1 piA elvis-common +3113 kB 2.2.0-11.1 p elvis-console 2.2.0-11.1 p elvis-tiny 1.4-22 p elvis-tools 2.2.0-11.1 p emacs23-el 23.4+1-2 p emacs23-lucid 23.4+1-2 p emacs23-nox 23.4+1-2 clone potente dell'editor di testo vi/ex (con supporto per X11) Questo pacchetto contiene Elvis compilato con il supporto per X11, Xft e immagini di sfondo. Se non si necessita dell'interfaccia X11, allora installare elvis-console. Vedere anche elvis-tools. Elvis è un clone di vi/ex, l'editor predefinito per UNIX. Supporta quasi tutti i comandi di vi/ex, sia in modalità visuale sia in modalità ex. Elvis aggiunge il supporto per file multipli, finestre multiple, una varietà di modalità di visualizzazione (inclusa l'evidenziazione della sintassi, man, tex, html e hex), un'interfaccia opzionale per X11, aiuto in-linea, folding, controllo ortografico, nuove opzioni, comandi automatici, regioni, tag migliorati, IMG.alt.suffix Suggerimento = \ [Suggerimento]] In qualsiasi momento, si può usare Annulla → Annulla (Control+u) per «annullare» qualsiasi cambiamento ad uno o più pacchetti. Ciò è molto utile se un'azione ha delle conseguenze inaspettate e si desidera «tornare indietro». In aggiunta alle azioni che hanno effetto su singoli pacchetti, è disponibile un'altra azione importante: se si digita U verrà tentato l'aggiornamento di ogni pacchetto che può essere aggiornato. Si dovrebbe usare questo comando regolarmente per mantenere il proprio sistema aggiornato. Gestire i pacchetti difettosi A volte, cambiare lo stato di un pacchetto fa sì che delle relazioni di dipendenza diventino non soddisfatte; i pacchetti con dipendenze non soddisfatte vengono chiamati difettosi. aptitude avverte quando ciò accade e spiega il perché. Ad esempio, ecco cosa accade in questo esempio quando si cerca di rimuovere libavcodec53: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi aptitude 0.6.6 #Errati: 13 Libererà 15,4 MB su disco id libavcodec53 -15,4 MB 5:0.10.2-0.2 5:0.10.2-0.2 iB libavdevice53 5:0.10.2-0.2 5:0.10.2-0.2 iB libavfilter2 5:0.10.2-0.2 5:0.10.2-0.2 iBA libavformat53 5:0.10.2-0.2 5:0.10.2-0.2 i A libavutil51 5:0.10.2-0.2 5:0.10.2-0.2 i A libbabl-0.1-0 0.1.6-2 0.1.6-2 i A libbind9-80 1:9.8.1.dfsg.P 1:9.8.1.dfsg.P i A libblas3gf 1.2.20110419-2 1.2.20110419-2 i A libblkid1 2.20.1-4 2.20.1-4 Library to encode decode multimedia streams - runtime files. libavcodec53 verrà rimosso. I seguenti pacchetti dipendono da libavcodec53 e saranno difettosi dopo la sua rimozione: * audacity dipende da libavcodec53 (>= 4:0.8-1~) | libavcodec-extra-53 (>= 4:0.8-1~) [NON DISPONIBILE] [1(1)/...] Consigli: 47 da rimuovere e: Esamina !: Applica .: Successivo ,: Precedente Come si può vedere, aptitude mostra tre indicatori che qualcosa è andato storto: primo, il numero dei pacchetti difettosi è visualizzato nell'area blu superiore; secondo, la metà inferiore cambia e descrive i pacchetti difettosi che sono correlati con il pacchetto attualmente evidenziato; terzo, in fondo alla schermata appare una barra con suggerimenti su come risolvere il problema. Per trovare velocemente i pacchetti difettosi nell'elenco, si può premere b o cercare ?broken. IMG.alt.suffix Nota = \[Nota]] Il testo [1(1)/...] indica il progresso del risolutore di dipendenze di aptitude. Il primo numero corrisponde alla soluzione attualmente selezionata e il secondo è il numero di soluzioni che aptitude ha già generato. La presenza del testo «...» indica che ci potrebbero essere altre soluzioni oltre a quelle generate; se aptitude sapesse con certezza di aver generato l'unica soluzione possibile, questo indicatore apparirebbe come [1/1]. Per ulteriori informazioni su come aptitude pensa possa essere risolto il problema, premere e. Ciò fa apparire una schermata simile alla seguente: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Risoluzione delle dipendenze --\ Rimuovere i seguenti pacchetti: audacity [2.0.0-1 (now, testing)] dvdwizard [0.7.1-0.0 (now, testing)] ffmpeg [5:0.10.2-0.2 (now, testing)] filelight [4:4.7.4-2 (now, testing)] gxine [0.5.907-1 (now, testing)] k9copy [2.3.8-3 (now, testing)] katepart [4:4.7.4-2 (now, testing)] kde-runtime [4:4.7.4-2 (now, testing)] [1(1)/...] Consigli: 47 da rimuovere e: Esamina !: Applica .: Successivo ,: Precedente Da qui si possono vedere ulteriori soluzioni premendo . o ritornare alle soluzioni già esaminate premendo ,. Per applicare la soluzione corrente e ritornare all'elenco dei pacchetti, premere !. Ad esempio, se si preme . nella schermata mostrata sopra, come risultato verrà mostrata la seguente soluzione: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Risoluzione delle dipendenze --\ Mantenere i seguenti pacchetti alla versione attuale: libavcodec53 [5:0.10.2-0.2 (now, testing)] [2(2)/...] Consigli: 1 da mantenere e: Esamina !: Applica .: Successivo ,: Precedente In aggiunta ai comandi base per esplorare le soluzioni, si può premere r per «rifiutare» azioni che non si approvano. Ad esempio, la seconda soluzione annulla la rimozione di libavcodec53: proprio l'azione che si stava cercando di fare! Premendo r sulla voce che corrisponde a questa azione, si dice ad aptitude che non dovrebbe annullare la rimozione di libavcodec53. Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Risoluzione delle dipendenze --\ Mantenere i seguenti pacchetti alla versione attuale: R libavcodec53 [5:0.10.2-0.2 (now, testing)] Library to encode decode multimedia streams - runtime files. audacity dipende da libavcodec53 (>= 4:0.8-1~) | libavcodec-extra-53 (>= 4:0.8-1 --\ Le seguenti azioni permetteranno di soddisfare questa dipendenza: -> Rimuovere audacity [2.0.0-1 (now, testing)] R -> Annullare la rimozione di libavcodec53 -> Retrocedere (downgrade) libavcodec53 [5:0.10.2-0.2 (now, testing) -> 4:0.8. [2(2)/...] Consigli: 1 da mantenere e: Esamina !: Applica .: Successivo ,: Precedente Come si può vedere, la voce nell'elenco che corrisponde al mantenere libavcodec53 alla sua versione attuale è diventata rossa ed è stata contrassegnata da una «R» che indica che è stata rifiutata. Le soluzioni che verranno generate in seguito (cioè ogni soluzione che non è stata ancora visualizzata) non includeranno questa azione, anche se rimarranno disponibili quelle che sono già state generate e la contengono. IMG.alt.suffix Nota = \[Nota]] Nell'immagine della schermata sopra, viene visualizzata in mezzo allo schermo una descrizione di libavcodec53; sotto di essa si può vedere la dipendenza che ha causato il mantenimento di libavcodec53 alla versione attuale, insieme a tutti i modi per risolvere questa dipendenza che aptitude conosce. Per esempio, se questo rifiuto viene imposto immediatamente dopo aver cercato di rimuovere libavcodec53, premendo . si ottiene la soluzione seguente, saltando la soluzione che annulla la rimozione di libavcodec53. Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Risoluzione delle dipendenze --\ Rimuovere i seguenti pacchetti: libswresample0 [5:0.10.2-0.2 (now, testing)] libxine1-gnome [1:1.1.20.1-0.1 (now, testing)] libxine2-plugins [1:1.2.1-0.1 (now, testing)] --\ Installare i seguenti pacchetti: libav-tools [4:0.8.1-1 (testing)] libopencv-core2.3 [2.3.1-8 (testing)] libopencv-imgproc2.3 [2.3.1-8 (testing)] libtbb2 [4.0+r233-1 (testing)] [2(2)/...] Consigli: 5 da installare, 3 da rimuovere, 20 da retrocedere (downgra e: Esamina !: Applica .: Successivo ,: Precedente I rifiuti vengono applicati solo alle nuove soluzioni generate: cioè quelle che vengono generate quando si preme . mentre è visualizzata l'ultima soluzione generata. Le soluzioni generate prima possono sempre contenere rifiuti. Si può annullare un rifiuto in qualsiasi momento selezionando nuovamente l'azione rifiutata e premendo r; ciò permetterà nuovamente la generazione di soluzioni che contengono quell'azione, inclusa ogni soluzione che era stata precedentemente «saltata». L'opposto di rifiutare un'azione è approvarla. Per approvare un'azione, basta selezionarla e premere a; questo forza il risolutore di problemi a sceglierla ogni volta che è possibile[3]. Le azioni approvate diventano verdi e vengono contrassegnate dalla lettera «A», come nella schermata seguente: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Risoluzione delle dipendenze --\ Rimuovere i seguenti pacchetti: A libswresample0 [5:0.10.2-0.2 (now, testing)] libxine1-gnome [1:1.1.20.1-0.1 (now, testing)] libxine2-plugins [1:1.2.1-0.1 (now, testing)] --\ Installare i seguenti pacchetti: libav-tools [4:0.8.1-1 (testing)] libopencv-core2.3 [2.3.1-8 (testing)] libopencv-imgproc2.3 [2.3.1-8 (testing)] libtbb2 [4.0+r233-1 (testing)] [2(2)/...] Consigli: 5 da installare, 3 da rimuovere, 20 da retrocedere (downgra e: Esamina !: Applica .: Successivo ,: Precedente IMG.alt.suffix Importante = \ [Importante]] Se non si risolvono le dipendenze non soddisfatte, aptitude metterà in atto automaticamente la soluzione corrente quando si attuano le proprie selezioni premendo g. Tuttavia, risolvere automaticamente i problemi di dipendenza è difficile e si potrebbe non essere contenti dei risultati, perciò è bene generalmente guardare ciò che aptitude ha in mente di fare prima di attuare le proprie selezioni. Aggiornare l'elenco dei pacchetti e installare pacchetti A questo punto, si conosce aptitude abbastanza da fare cambiamenti al sistema. L'elenco dei pacchetti disponibili dai server Debian dovrebbe essere periodicamente aggiornato per tenere traccia dei nuovi pacchetti e delle nuove versioni dei pacchetti. Per farlo, premere u. In qualsiasi momento, durante lo scaricamento dei dati, si può premere q per annullarlo. Una volta ottenuto un elenco aggiornato dei pacchetti, si possono scegliere i pacchetti da aggiornare, installare o rimuovere, come descritto nella sezione precedente. Per esaminare le azioni richieste, premere g una volta. Quando si prova a installare il pacchetto elvis (dall'esempio precedente), appare la schermata seguente: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Anteprima aptitude 0.6.6 Occuperà 3858 kB su disco Scarica: 1000 kB --\ Pacchetti da installare automaticamente per soddisfare le dipendenze (1) piA elvis-common +3113 kB 2.2.0-11.1 --\ Pacchetti da installare (1) pi elvis +745 kB 2.2.0-11.1 --- Pacchetti consigliati da altri pacchetti (1) Questi pacchetti verranno installati perché sono richiesti da un altro pacchetto selezionato per l'installazione. Questo gruppo contiene 1 pacchetto. Selezionando un pacchetto, una spiegazione del suo stato attuale appare in questo spazio. Come si può vedere, aptitude ha automaticamente deciso per conto dell'utente di installare elvis-common dato che elvis lo richiede. A questo punto si può scegliere tra continuare con l'installazione premendo g o annullarla premendo q. Usare aptitude dalla riga di comando In aggiunta alla sua interfaccia «visuale» descritta nella sezione precedente, aptitude può essere usato per gestire pacchetti direttamente dalla riga di comando, nello stesso modo in cui si usa apt-get. Questa sezione tratta le più comuni azioni da riga di comando di aptitude; per maggiori informazioni vedere la documentazione di riferimento per la riga di comando di aptitude. In generale una invocazione di aptitude dalla riga di comando è simile a: aptitude azione [argomenti...] azione dice ad aptitude quale azione effettuare; i restanti argomenti vengono usati in modo specifico rispetto alle opzioni. Tipicamente saranno nomi di pacchetti e opzioni della riga di comando[4]. Le azioni più importanti sono: aptitude update Questo comando aggiorna l'elenco dei pacchetti, come se si fosse entrati nell'interfaccia visuale e si fosse premuto u. aptitude safe-upgrade Questo comando aggiorna quanti più pacchetti è possibile senza rimuoverne di presenti. È a volte necessario rimuovere un pacchetto per poterne aggiornare un altro; questo comando non è in grado di aggiornare pacchetti in situazioni come questa. Usare il comando full-upgrade per aggiornare anche quei pacchetti. aptitude full-upgrade Come safe-upgrade, questo comando cerca di aggiornare i pacchetti, ma è più aggressivo nella risoluzione dei problemi di dipendenze: installa e rimuove pacchetti fino a che tutte le dipendenze non sono soddisfatte. Vista la sua natura, è possibile che questo comando faccia azioni non desiderate e perciò dovrebbe essere usato con cautela. IMG.alt.suffix Nota = \[Nota]] Per ragioni storiche questo comando si chiamava in precedenza dist-upgrade e tale nome è ancora riconosciuto da aptitude. aptitude [ install | remove | purge ] pacchetto1 [pacchetto2...] Questi comandi installano, rimuovono o eliminano[5] i pacchetti specificati. «Installare» un pacchetto che è già installato ma può essere aggiornato, fa sì che esso venga aggiornato. aptitude search modello1 [modello2...] Questo comando cerca i pacchetti il cui nome contiene un qualsiasi modello specificato, visualizzando il risultato nel terminale. Oltre ad una semplice stringa di testo, ogni modello può essere un modello di ricerca come quelli descritti in sezione chiamata «Modelli di ricerca». [6]Per esempio, «aptitude search gnome kde» elenca tutti i pacchetti il cui nome contiene «gnome» o «kde». aptitude show pacchetto1 [pacchetto2...] Visualizza nel terminale informazioni su ciascun pacchetto. I comandi che installano, aggiornano e rimuovono pacchetti accettano tutti il parametro -s, che sta per «simula». Quando l'opzione -s viene usata nella riga di comando, il programma effettua tutte le azioni che effettuerebbe normalmente, ma non scarica o installa/rimuove realmente alcun file. aptitude presenta a volte un prompt simile a: I seguenti pacchetti NUOVI (NEW) saranno installati: elvis elvis-common{a} 0 pacchetti aggiornati, 2 installati, 0 da rimuovere e 0 non aggiornati. È necessario prelevare 1000 kB di archivi. Dopo l'estrazione, verranno occupati 3858 kB. Continuare? [Y/n/?] In aggiunta alle opzioni ovvie «Sì» e «No», sono disponibili diversi comandi che possono essere usati per cambiare le informazioni visualizzate al prompt, o per specificare altre azioni. Ad esempio, premendo s vengono visualizzate o mostrate informazioni sulla quantità di spazio che ciascun pacchetto utilizzerà: Continuare? [Y/n/?] s Le variazioni dello spazio occupato vengono mostrate. I seguenti pacchetti NUOVI (NEW) saranno installati: elvis <+745 kB> elvis-common{a} <+3113 kB> 0 pacchetti aggiornati, 2 installati, 0 da rimuovere e 0 non aggiornati. È necessario prelevare 1000 kB di archivi. Dopo l'estrazione, verranno occupati 3858 kB. Continuare? [Y/n/?] In modo analogo, se si preme d verranno mostrate informazioni sui pacchetti installati o rimossi automaticamente: I seguenti pacchetti NUOVI (NEW) saranno installati: elvis elvis-common{a} (D: elvis) 0 pacchetti aggiornati, 2 installati, 0 da rimuovere e 0 non aggiornati. È necessario prelevare 1000 kB di archivi. Dopo l'estrazione, verranno occupati 3858 kB. Qui viene mostrato che elvis-common viene installato perché elvis dipende da esso. Si può vedere l'intero elenco delle opzioni possibili premendo ? al prompt. Se ciò che viene richiesto viola le dipendenze in un modo che non può essere risolto semplicemente, aptitude chiede che cosa fare: I seguenti pacchetti hanno dipendenze non soddisfatte: frozen-bubble : Dipende: frozen-bubble-data (= 2.212-2) but it is not going to be installed. Le seguenti azioni permetteranno di soddisfare queste dipendenze: Rimuovere i seguenti pacchetti: 1) frozen-bubble Accettare questa soluzione? [Y/n/q/?] Digitando y (o semplicemente premendo Invio) si accetta la soluzione proposta. Digitare n fa sì che venga mostrata la soluzione «migliore successiva»: Accettare questa soluzione? [Y/n/q/?] n Le seguenti azioni permetteranno di soddisfare queste dipendenze: Mantenere i seguenti pacchetti alla versione attuale: 1) frozen-bubble-data [2.212-2 (now, testing)] Accettare questa soluzione? [Y/n/q/?] Così come col prompt principale della riga di comando, dal prompt della risoluzione delle dipendenze si possono effettuare svariate azioni aggiuntive, inclusa la modifica a mano dello stato dei pacchetti. Digitare ? per visualizzare l'elenco completo. Se si digita x si termina il risolutore automatico e si possono risolvere le dipendenze manualmente. Accettare questa soluzione? [Y/n/q/?] x Abbandono della risoluzione automatica delle dipendenze e ritorno alla risoluzione manuale. I seguenti pacchetti saranno RIMOSSI: frozen-bubble-data 0 pacchetti aggiornati, 0 installati, 1 da rimuovere e 0 non aggiornati. È necessario prelevare 0 B di archivi. Dopo l'estrazione, verranno liberati 23,6 MB. impossibile trovare una soluzione per queste dipendenze. È possibile risolverle manualmente o inserire «n» per uscire. I seguenti pacchetti hanno dipendenze non soddisfatte: frozen-bubble : Dipende: frozen-bubble-data (= 2.212-2) but it is not going to be installed. Risolvere manualmente queste dipendenze? [N/+/-/_/:/?] Per risolvere le dipendenze difettose, si può usare qualsiasi comando di manipolazione dei pacchetti (digitare ? per avere un elenco completo dei comandi disponibili). Digitare n o premere Invio per uscire da aptitude: Risolvere manualmente queste dipendenze? [N/+/-/_/:/?] n Uscita. Per una documentazione completa delle funzionalità della riga di comando di aptitude, vedere Guida di riferimento per la riga di comando. -------------------------------------------------------------------------------- [2] Si possono cambiare i pacchetti anche usando il menu Pacchetto; vedere sezione chiamata «Il menu Pacchetto» per i dettagli. [3] Approvare un'azione è leggermente diverso dal richiedere che tutte le soluzioni la contengano; ciò che significa è che dovendo scegliere fra una soluzione approvata e una non approvata, il risolutore sceglierà sempre quella approvata. Se ci fossero diverse azioni approvate possibili, tutte sarebbero candidate ad essere messe nella soluzione. [4]Un'«opzione» è una lettera preceduta da un trattino: ad esempio, «-a», «-v», ecc. [5]Eliminare un pacchetto rimuove il pacchetto e anche tutti i suoi file di configurazione. [6] Di fatto la stessa cosa vale per i comandi che accettano nomi di pacchetti come argomenti, come install o show. Capitolo 2. Guida di riferimento di aptitude Indice L'interfaccia utente in terminale di aptitude Usare i menu Comandi dei menu Lavorare con più viste Diventare root Gestire i pacchetti Gestire l'elenco dei pacchetti Accedere alle informazioni sui pacchetti Modificare lo stato dei pacchetti Scaricare, installare e rimuovere pacchetti Capire e gestire la sicurezza dei pacchetti Gestire i pacchetti installati automaticamente Risolvere le dipendenze tra i pacchetti La risoluzione delle dipendenze in aptitude Risoluzione immediata delle dipendenze Risolvere le dipendenze in modo interattivo I costi nel risolutore interattivo di dipendenze Configurare il risolutore interattivo di dipendenze Modelli di ricerca Cercare stringhe Abbreviazioni per i termini di ricerca Ricerche e versioni Bersagli di ricerca espliciti Guida di riferimento per i termini di ricerca Personalizzare aptitude Personalizzare l'elenco dei pacchetti Personalizzare le associazioni dei tasti Personalizzare il colore e lo stile dei testi Personalizzare la disposizione della visualizzazione Guida di riferimento per il file di configurazione Temi Giocare a Campo minato   Il Bianconiglio inforcò i suoi occhiali. «Sua Mestà, di grazia, da dove devo   iniziare?» chiese. «Inizia dall'inizio», disse il Re solennemente, «e continua fino alla fine, poi fermati.»   -- Lewis Carrol, Alice nel paese delle meraviglie aptitude è un programma grosso, con molte funzionalità, ed è a volte difficile ricordare come si fa qualcosa o persino ricordare se è possibile fare qualcosa. Difatti molte richieste di funzionalità che l'autore riceve descrivono cose che sono già presenti, ma sono difficili da trovare.[7] Nel tentativo di contrastare questa mancanza di chiarezza, questa guida di riferimento descrive ogni funzionalità e parametro di configurazione di aptitude. Per una guida più semplice sulle funzionalità importanti di aptitude, vedere Capitolo 1, Iniziare. IMG.alt.suffix Nota = \[Nota]] Il comportamento e l'aspetto di aptitude possono essere configurati in svariati modi. Questo manuale descrive come funziona il programma con le impostazioni predefinite; il modo in cui le varie impostazioni influenzino il comportamento è descritto in sezione chiamata «Personalizzare aptitude». L'interfaccia utente in terminale di aptitude Questa sezione descrive le parti dell'interfaccia utente di aptitude basata su terminale che non hanno a che fare con la gestione dei pacchetti. Usare i menu La barra dei menu in cima alla schermata elenca i più importanti comandi di aptitude. Per attivare la barra dei menu premere Control+t; è poi possibile spostarsi nella barra usando i tasti freccia e selezionare una voce di menu usando Invio. Alcune voci di menu hanno anche «acceleratori»: lettere o numeri che possono essere usati per selezionare la voce quando è attivo il menu. Questi acceleratori sono mostrati in una tonalità di bianco più luminosa rispetto al resto del menu. In aggiunta, alcune voci di menu hanno «scorciatoie»: combinazioni di tasti che effettuano la stessa azione della voce di menu quando il menu non è attivo. Questi tasti sono elencati sul lato destro del menu. Nel resto del manuale i comandi di menu verranno indicati nella forma: Menu → Voce (tasto). Questo indica che si deve scegliere Voce dal menu Menu e che tasto è la scorciatoia per questo comando. Comandi dei menu Il menu Azioni Figura 2.1. I comandi disponibili nel menu Azioni ___________________________________________________________________________________________________________________________ |Comando |Descrizione | |______________________________________________|____________________________________________________________________________| | |Se non è visibile un'anteprima delle installazioni ne visualizza una, | |Azioni → Installa/rimuovi pacchetti (g) |altrimenti effettua un giro di installazioni come descritto in sezione | | |chiamata «Scaricare, installare e rimuovere pacchetti». | |______________________________________________|____________________________________________________________________________| |Azioni → Aggiorna l'elenco dei pacchetti (u)|Aggiorna l'elenco dei pacchetti. | |______________________________________________|____________________________________________________________________________| |Azioni → Aggiorna tutti i pacchetti (U) |Marca per l'aggiornamento tutti i pacchetti aggiornabili, tranne quelli | | |bloccati o il cui aggiornamento è vietato. | |______________________________________________|____________________________________________________________________________| |Azioni → Dimentica i nuovi pacchetti (f) |Dimentica tutte le informazioni su quali pacchetti siano «nuovi» (svuota | | |l'albero dei «Pacchetti nuovi»). | |______________________________________________|____________________________________________________________________________| | |Annulla tutte le installazioni, rimozioni, aggiornamenti e blocchi in | |Azioni → Annulla azioni in attesa |attesa. È equivalente ad eseguire il comando Mantieni su ogni pacchetto nel| | |database dei pacchetti. | |______________________________________________|____________________________________________________________________________| |Azioni → Pulisci la cache dei pacchetti |Cancella tutti i pacchetti compressi che sono stati scaricati da aptitude | | |[a]. | |______________________________________________|____________________________________________________________________________| | |Cancella tutti i pacchetti compressi che sono stati scaricati da aptitude | |Azioni → Cancella i file vecchi |[a] e che non sono più disponibili. Si presume che questi siano pacchetti | | |obsoleti e che possano essere cancellati per risparmiare spazio su disco | | |senza causare un nuovo scaricamento altrimenti non necessario. | |______________________________________________|____________________________________________________________________________| |Azioni → Gioca a campo minato |Gioca a Campo minato, come descritto in sezione chiamata «Giocare a Campo | | |minato». | |______________________________________________|____________________________________________________________________________| |Azioni → Diventa root |Continua a lavorare come l'utente root, vedere sezione chiamata «Diventare | | |root». | |______________________________________________|____________________________________________________________________________| |Azioni → Esci (Q) |Esce da aptitude salvando ogni modifica allo stato dei pacchetti. | |______________________________________________|____________________________________________________________________________| |[a] O da qualsiasi altra utilità apt. | |___________________________________________________________________________________________________________________________| Il menu Annulla Figura 2.2. I comandi disponibili nel menu Annulla ____________________________________________________________________________________________________________ |Comando |Descrizione | |_______________________________|____________________________________________________________________________| | |Annulla l'effetto dell'ultima modifica allo stato di un pacchetto, fino | |Annulla → Annulla (Control+u)|all'ultimo avvio di aptitude, l'ultimo aggiornamento dell'elenco dei | | |pacchetti o l'ultima volta che è stato effettuato un giro di installazioni.| |_______________________________|____________________________________________________________________________| Il menu Pacchetto Figura 2.3. I comandi disponibili nel menu Pacchetto _____________________________________________________________________________________________________________________________ |Comando |Descrizione | |______________________________________________|______________________________________________________________________________| |Pacchetto → Installa (+) |Contrassegna il pacchetto selezionato per l'installazione. | |______________________________________________|______________________________________________________________________________| |Pacchetto → Rimuovi (-) |Contrassegna il pacchetto selezionato per la rimozione. | |______________________________________________|______________________________________________________________________________| |Pacchetto → Elimina (_) |Contrassegna il pacchetto selezionato per l'eliminazione. | |______________________________________________|______________________________________________________________________________| |Pacchetto → Mantieni (:) |Annulla qualsiasi installazione, aggiornamento o rimozione in attesa per il | | |pacchetto selezionato, e rimuove qualsiasi blocco impostato sul pacchetto. | |______________________________________________|______________________________________________________________________________| |Pacchetto → Blocca (=) |Blocca il pacchetto attualmente selezionato. | |______________________________________________|______________________________________________________________________________| | |Contrassegna il pacchetto attualmente selezionato come «installato | |Pacchetto → Installato automaticamente (M) |automaticamente». Per maggiori informazioni sui pacchetti installati | | |manualmente e automaticamente, vedere sezione chiamata «Gestire i pacchetti | | |installati automaticamente». | |______________________________________________|______________________________________________________________________________| | |Contrassegna il pacchetto attualmente selezionato come «installato | |Pacchetto → Installato manualmente (m) |manualmente». Per maggiori informazioni sui pacchetti installati manualmente | | |automaticamente, vedere sezione chiamata «Gestire i pacchetti installati | | |automaticamente». | |______________________________________________|______________________________________________________________________________| | |Se viene selezionato un pacchetto che può essere aggiornato, proibisce il suo| |Pacchetto → Proibisci versione (F) |aggiornamento alla versione attualmente disponibile. Se viene selezionata una | | |versione di un pacchetto, proibisce l'aggiornamento del pacchetto a quella | | |versione. | |______________________________________________|______________________________________________________________________________| | |Visualizza una schermata contenente informazioni sul pacchetto attualmente | |Pacchetto → Informazioni (enter) |selezionato, come i pacchetti da cui dipende, i pacchetti che dipendono da | | |esso e le sue versioni disponibili. | |______________________________________________|______________________________________________________________________________| | |Quando si esplora l'elenco dei pacchetti, si sposta ciclicamente tra le | | |informazioni che possono essere visualizzate nell'area delle informazioni (la | |Pacchetto → Modalità delle informazioni (i)|metà inferiore della schermata). L'area delle informazioni può mostrare la | | |descrizione lunga del pacchetto selezionato (comportamento predefinito), un | | |riassunto delle dipendenze correlate con il pacchetto oppure un'analisi di | | |quali altri pacchetti richiedono o suggeriscono il pacchetto selezionato. | |______________________________________________|______________________________________________________________________________| | |Visualizza il changelog Debian del pacchetto attualmente selezionato. Per | |Pacchetto → Changelog (C) |vedere il changelog di una particolare versione, selezionarla ed eseguire | | |questo comando. | |______________________________________________|______________________________________________________________________________| Il menu Risolutore Figura 2.4. I comandi disponibili nel menu Risolutore _______________________________________________________________________________________________________________________ |Comando |Descrizione | |_________________________________________|_____________________________________________________________________________| | |Visualizza una descrizione dettagliata dell'attuale suggerimento del | |Risolutore → Esamina soluzione (e) |risolutore dei problemi (vedere sezione chiamata «Risolvere le dipendenze in| | |modo interattivo»). | |_________________________________________|_____________________________________________________________________________| |Risolutore → Applica soluzione (!) |Applica le azioni attualmente suggerite dal risolutore dei problemi. | |_________________________________________|_____________________________________________________________________________| |Risolutore → Soluzione successiva (.) |Seleziona il prossimo suggerimento del risolutore dei problemi. | |_________________________________________|_____________________________________________________________________________| |Risolutore → Soluzione precedente (,) |Seleziona il precedente suggerimento del risolutore dei problemi. | |_________________________________________|_____________________________________________________________________________| |Risolutore → Prima soluzione (<) |Seleziona il primo suggerimento del risolutore dei problemi. | |_________________________________________|_____________________________________________________________________________| |Risolutore → Ultima soluzione (>) |Seleziona la soluzione del risolutore di problemi generata per ultima | | |(sezione chiamata «Risolvere le dipendenze in modo interattivo»). | |_________________________________________|_____________________________________________________________________________| | |Quando si esamina una soluzione, rifiuta o toglie il rifiuto dalla azione | |Risolutore → Rifiuta/autorizza (r) |attualmente selezionata e si sposta alla azione successiva (vedere sezione | | |chiamata «Risolvere le dipendenze in modo interattivo»). Se l'azione è | | |attualmente approvata, l'approvazione verrà annullata. | |_________________________________________|_____________________________________________________________________________| | |Quando si esamina una soluzione, approva o rimuove l'approvazione alla azione| |Risolutore → Approva/non richiedere (a)|attualmente selezionata e si sposta alla azione successiva (vedere sezione | | |chiamata «Risolvere le dipendenze in modo interattivo»). Se l'azione è | | |attualmente rifiutata, il rifiuto verrà annullato. | |_________________________________________|_____________________________________________________________________________| | |Quando si esamina una soluzione, visualizza informazioni dettagliate sul | |Risolutore → Mostra pacchetto (Enter) |pacchetto su cui ha effetto l'azione attualmente selezionata (vedere sezione | | |chiamata «Risolvere le dipendenze in modo interattivo»). | |_________________________________________|_____________________________________________________________________________| | |Rifiuta (come con Risolutore → Rifiuta/autorizza (r)) tutte le azioni che | | |infrangono un blocco su un pacchetto o installano una versione rifiutata. | |Risolutore → Rifiuta modifica bloccati |Queste azioni sono rifiutate in modo predefinito a meno che Aptitude:: | | |ProblemResolver::Allow-Break-Holds non sia impostato a true, ma questa voce | | |di menu permette di rifiutarle manualmente in qualsiasi momento. | |_________________________________________|_____________________________________________________________________________| Il menu Cerca Figura 2.5. I comandi disponibili nel menu Cerca __________________________________________________________________________________________________________________________ |Comando |Descrizione | |___________________________________________|______________________________________________________________________________| |Cerca → Trova (/) |Trova il prossimo pacchetto nell'elenco dei pacchetti che corrisponde ad un | | |modello di ricerca (vedere sezione chiamata «Modelli di ricerca»). | |___________________________________________|______________________________________________________________________________| |Cerca → Trova all'indietro (\) |Trova il precedente pacchetto nell'elenco dei pacchetti che corrisponde ad un | | |modello di ricerca (vedere sezione chiamata «Modelli di ricerca»). | |___________________________________________|______________________________________________________________________________| |Cerca → Trova successivo (n) |Ripete l'ultimo comando Trova. | |___________________________________________|______________________________________________________________________________| |Cerca → Trova successivo all'indietro (N)|Ripete l'ultimo comando Trova, ma nella direzione opposta. Se l'ultimo comando| | |Trova era «Trova all'indietro», questo farà una ricerca in avanti e vicever|a. |___________________________________________|______________________________________________________________________________| | |Filtra l'attuale elenco dei pacchetti rimuovendo ogni pacchetto che non | |Cerca → Applica filtro (l) |corrisponde ad un modello di ricerca (vedere sezione chiamata «Modelli di | | |ricerca»). | |___________________________________________|______________________________________________________________________________| |Cerca → Rimuovi filtro |Toglie il filtro all'attuale elenco dei pacchetti (vengono visualizzati tutti | | |i pacchetti). | |___________________________________________|______________________________________________________________________________| |Cerca → Trova difettosi (b) |Trova il prossimo pacchetto difettoso. È equivalente a cercare ?broken. | |___________________________________________|______________________________________________________________________________| Il menu Opzioni Figura 2.6. I comandi disponibili nel menu Opzioni _____________________________________________________________________________________________________________ |Comando |Descrizione | |________________________________|____________________________________________________________________________| | |Apre il livello più alto di una nuova vista in cui si possono modificare le| | |impostazioni di aptitude. Le opzioni di configurazione sono visualizzate in | |Opzioni → Preferenze |un albero simile a quello dei pacchetti; per abilitare o disabilitare | | |un'opzione, selezionarla e premere Spazio o Invio. Le opzioni di | | |configurazione vengono salvate in ~/.aptitude/config immediatamente dopo | | |essere state selezionate. | |________________________________|____________________________________________________________________________| |Opzioni → Reimposta le opzioni|Reimposta tutte le opzioni ai loro valori predefiniti. | |________________________________|____________________________________________________________________________| Il menu Viste IMG.alt.suffix = \[Nota]] Nota Per una panoramica sul funzionamento delle viste, vedere sezione chiamata «Lavorare con più viste». Figura 2.7. I comandi disponibili nel menu Viste ______________________________________________________________________________ |Comando |Descrizione | |__________________________________________|___________________________________| |Viste → Successivo (F6) |Sposta alla prossima vista attiva. | |__________________________________________|___________________________________| |Viste → Precedente (F7) |Sposta alla precedente vista | | |attiva. | |__________________________________________|___________________________________| |Viste → Chiudi (q) |Chiude la vista attuale. | |__________________________________________|___________________________________| |Viste → Nuova vista dei pacchetti |Crea una nuova vista dell'elenco | | |dei pacchetti. | |__________________________________________|___________________________________| | |Crea una vista che visualizza i | |Viste → Controlla raccomandati |pacchetti che non sono installati e| | |che sono Raccomandati da un | | |pacchetto installato sul sistema. | |__________________________________________|___________________________________| | |Crea una nuova vista dell'elenco | |Viste → Nuovo elenco unico dei pacchetti|dei pacchetti in cui i pacchetti | | |non sono suddivisi in categorie. | |__________________________________________|___________________________________| | |Crea una nuova vista dell'elenco | |Viste → Consultazione per Debtags |dei pacchetti in cui i pacchetti | | |sono suddivisi in categorie in base| | |alle loro voci di debtags. | |__________________________________________|___________________________________| |Viste → Consultazione per categoria |Visualizza l'elenco dei pacchetti, | | |organizzati per categoria. | |__________________________________________|___________________________________| | |Sono presenti alcune voci di menu | | |aggiuntive; queste corrispondono | |Voci aggiuntive |alle viste attualmente attive. Per | | |spostarsi direttamente ad una | | |vista, selezionarla dal menu. | |__________________________________________|___________________________________| Il menu Aiuto Figura 2.8. I comandi disponibili nel menu Aiuto ______________________________________________________________________________________________ |Comando |Descrizione | |________________________|_____________________________________________________________________| |Aiuto → Informazioni |Visualizza alcune informazioni sui diritti d'autore. | |________________________|_____________________________________________________________________| |Aiuto → Aiuto (?) |Visualizza la pagina di aiuto in linea. | |________________________|_____________________________________________________________________| |Aiuto → Manuale utente|Visualizza il Manuale utente (questo documento). | |________________________|_____________________________________________________________________| |Aiuto → FAQ |Visualizza la FAQ di aptitude. | |________________________|_____________________________________________________________________| |Aiuto → Nuovo |Visualizza una cronologia dei principali cambiamenti fatti ad | | |aptitude. | |________________________|_____________________________________________________________________| |Aiuto → Licenza |Visualizza le condizioni alle quali è permesso copiare, modificare e| | |distribuire aptitude. | |________________________|_____________________________________________________________________| Lavorare con più viste aptitude permette di lavorare con diverse «viste» contemporaneamente. Una «vista» (a volte chiamata «schermata») è semplicemente qualcosa che può essere visualizzato nell'area dello schermo sottostante alla barra di menu. La vista più comune è l'elenco dei pacchetti, ma sono comuni anche viste degli scaricamenti. Quando diverse viste sono aperte contemporaneamente, in cima alla schermata appare una barra che elenca tutte le viste attive. Per esempio, se si esamina apt premendo Invio e poi si esamina libc6, la schermata appare così: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti apt: informazioni libc6: informazioni aptitude 0.6.6 i --\ libc6 2.13-27 2.13-27 Descrizione: libreria C GNU embedded: librerie condivise Contiene le librerie standard che sono usate da quasi tutti i programmi sul sistema. Questo pacchetto include le versioni condivise della libreria standard del C e di quella matematica, insieme a molte altre. Homepage: http://www.eglibc.org Multi-Arch: same Priorità: richiesto Sezione: libs Responsabile: GNU Libc Maintainers Architettura: i386 Dimensione pacchetto compresso: 3917 k Dimensione pacchetto installato: 8723 k Pacchetto sorgente: eglibc --\ Dipende (2) --- libc-bin (= 2.13-27) --- libgcc1 --\ Consiglia (3) --- debconf | debconf-2.0 libreria C GNU embedded: librerie condivise Si può chiudere la vista attuale usando Viste → Chiudi (q). Per spostarsi alla vista successiva o a quella precedente, usare Viste → Successivo (F6) e Viste → Precedente (F7), oppure fare clic sul nome della vista in cima alla schermata; un elenco di tutte le viste attive è anche disponibile nel menu Viste. Come mostrato in precedenza, alcuni comandi (ad esempio, la visualizzazione di informazioni su un pacchetto) creano automaticamente nuove viste; è anche possibile creare esplicitamente una nuova vista usando Viste → Nuova vista dei pacchetti o Viste → Consultazione per categoria. Diventare root Alcune azioni, come l'aggiornamento dell'elenco dei pacchetti, possono solo essere effettuate come utente root. Se non si è root e si cerca di aggiornare l'elenco dei pacchetti, aptitude chiede se si desidera diventare root: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi aptitude 0.6.6 --- Pacchetti installati (1632) --- Pacchetti non installati (34446) --- Pacchetti obsoleti e creati localmente (20) --- Pacchetti virtuali (4447) ┌──────────────────────────────────────────────────────────────────────────────┐ │Per aggiornare l'elenco dei pacchetti servono i privilegi di amministratore, │ │dei quali attualmente si è privi. Passare all'account di root? │ │ [ Diventa root ] [ Non diventare root ] │ └──────────────────────────────────────────────────────────────────────────────┘ Questo gruppo contiene 1632 pacchetti. Se si seleziona «Diventa root», aptitude chiede la password di root; una volta che sia stata inserita correttamente, aptitude effettua l'azione che richiede i privilegi di root. Una volta completata l'azione si continua ad essere root. Si può passare all'account root in qualsiasi momento usando il comando Azioni → Diventa root. Qualsiasi modifica fatta allo stato dei pacchetti viene mantenuta (ma non viene salvata fino a che non si esce da aptitude). aptitude usa in modo predefinito il comando su per ottenere i privilegi di root. Se si desidera usare un altro comando (come sudo), impostare l'opzione di configurazione Aptitude::Get-Root-Command. Gestire i pacchetti Questa sezione descrive come manipolare l'elenco dei pacchetti, come installare nuovi pacchetti sul sistema e come rimuovere i vecchi pacchetti. Gestire l'elenco dei pacchetti Per mantenere l'elenco dei pacchetti sempre aggiornato, è raccomandato il suo aggiornamento periodico. Lo si può fare usando il comando Azioni → Aggiorna l'elenco dei pacchetti (u). Accedere alle informazioni sui pacchetti Le informazioni sui pacchetti vengono presentate in diverse posizioni in aptitude: l'elenco dei pacchetti fornisce una veloce panoramica sullo stato di ciascun pacchetto, e sono disponibili anche viste aggiuntive che forniscono informazioni dettagliate su un pacchetto. L'elenco dei pacchetti L'elenco dei pacchetti visualizza un riassunto «a colpo d'occhio» dello stato di un pacchetto. Ad esempio, il pacchetto webmin potrebbe avere il seguente riassunto: piAU webmin +5837kB 1.160-2 I quattro caratteri alla sinistra del riassunto mostrano che il pacchetto non è installato («p»), che verrà installato («i»), che è stato automaticamente scelto per l'installazione («A») e che non è sicuro («U»). Sul lato destro del riassunto sono visualizzate la versione attuale e quella più recente disponibile, insieme ad un'indicazione sulla quantità di spazio che verrà usata dall'aggiornamento. IMG.alt.suffix Suggerimento = \ [Suggerimento]] Il modo in cui i riassunti dei pacchetti sono visualizzati può essere personalizzato; vedere sezione chiamata «Personalizzare la visualizzazione dei pacchetti» per maggiori dettagli. I quattro indicatori di stato alla sinistra della schermata forniscono le informazioni di base sullo stato di un pacchetto. Il primo carattere è l'attuale stato del pacchetto. Il secondo carattere è l'azione che verrà eseguita sul pacchetto. Il terzo carattere indica se il pacchetto è stato installato automaticamente (vedere sezione chiamata «Gestire i pacchetti installati automaticamente») e il quarto carattere indica se il pacchetto è sicuro (vedere sezione chiamata «Capire e gestire la sicurezza dei pacchetti»). I valori possibili per l'indicatore dello «stato attuale» sono indicati in Figura 2.9, «Valori dell'indicatore dello «stato attuale»» e i valori possibili per l'indicatore dell'«azione» sono indicati in Figura 2.10, «Valori dell'indicatore dell'«azione»». Figura 2.9. Valori dell'indicatore dello «stato attuale» i - il pacchetto è installato e tutte le sue dipendenze sono soddisfatte. c - il pacchetto è stato rimosso, ma i suoi file di configurazione sono ancora presenti. p - il pacchetto e tutti i suoi file di configurazione sono stati rimossi, oppure il pacchetto non è stato mai installato. v - il pacchetto è virtuale. B - il pacchetto ha dipendenze non soddisfatte. u - il pacchetto è stato estratto ma non configurato. C - semi-configurato: la configurazione del pacchetto è stata interrotta. H - semi-installato: l'installazione del pacchetto è stata interrotta. Figura 2.10. Valori dell'indicatore dell'«azione» i - il pacchetto verrà installato. u - il pacchetto verrà aggiornato. d - il pacchetto verrà cancellato: verrà rimosso, ma i suoi file di configurazione rimarranno sul sistema. p - il pacchetto verrà eliminato: il pacchetto e i suoi file di configurazione saranno rimossi. h - il pacchetto verrà bloccato: verrà mantenuta la sua versione attuale, anche se una nuova versione diventa disponibile, fino a che il blocco non venga rimosso. F - l'aggiornamento del pacchetto è stato proibito. r - il pacchetto verrà reinstallato. il pacchetto è «difettoso»: alcune delle sue dipendenze non verranno B - soddisfatte. aptitude non permette di installare, rimuovere o aggiornare nulla fino a che sono presenti pacchetti difettosi. In aggiunta, aptitude usa, se il terminale li gestisce, i colori per indicare lo stato dei pacchetti. Le diversità di stato sono visualizzate principalmente usando il colore di sfondo. Nero Il pacchetto non può essere aggiornato (o non verrà installato) e non ha problemi di dipendenze. Se il pacchetto è installato, il suo nome è evidenziato. Verde Il pacchetto verrà installato. Blu Il pacchetto è attualmente installato e verrà aggiornato. Magenta Il pacchetto è attualmente installato, ma verrà rimosso. Bianco Il pacchetto è attualmente installato ed è «bloccato» alla sua versione attuale: gli aggiornamenti automatici lo ignoreranno. Rosso Questo pacchetto è difettoso: alcune delle sue dipendenze non saranno soddisfatte. Da ultimo, la metà inferiore della schermata mostra la descrizione lunga. aptitude cercherà di rilevare se il pacchetto è coinvolto in un problema di dipendenze; se così è le informazioni sul problema di dipendenze vengono mostrate qui. Per spostarsi ciclicamente tra le informazioni di dipendenza e la descrizione del pacchetto, premere i. Informazioni dettagliate sui pacchetti Se si preme Invio quando un pacchetto è evidenziato, viene mostrata la schermata di informazioni sul pacchetto: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti apt: informazioni aptitude 0.6.6 i A --\ apt 0.8.15.10 0.8.15.10 Descrizione: interfaccia avanzata per dpkg Questa è l'interfaccia Debian della prossima generazione per il gestore di pacchetti dpkg. Fornisce l'utilità apt-get e il metodo APT per dselect che rendono più semplice e sicura l'installazione e l'aggiornamento dei pacchetti. Punti di forza di APT sono la completa gestione dell'installazione, possibilità di acquisire pacchetti da più fonti e diverse altre caratteristiche uniche; si veda la guida per gli utenti in apt-doc. Essenziale: sì Priorità: importante Sezione: admin Responsabile: APT Development Team Architettura: i386 Dimensione pacchetto compresso: 2238 k Dimensione pacchetto installato: 5889 k Pacchetto sorgente: apt --\ Dipende (2) --- debian-archive-keyring --- gnupg --\ Pre-dipende (4) --- libc6 (>= 2.4) --- libgcc1 (>= 1:4.1.1) --- libstdc++6 (>= 4.6) --- zlib1g (>= 1:1.2.2.3) --\ Consiglia (6) --\ apt-doc (NON SODDISFATTA) p 0.8.15.10 --- aptitude | synaptic | wajig --- bzip2 --- dpkg-dev --- lzma --- python-apt --\ Va in conflitto (1) --- python-apt (< 0.7.93.2~) --\ Sostituisce (1) --- manpages-pl (< 20060617-3~) --- Nomi di pacchetti forniti da apt (1) --- Pacchetti che dipendono da apt (83) --\ Versioni di apt (1) i A 0.8.15.10 Questa visualizzazione può essere esplorata in modo simile all'elenco dei pacchetti; ad esempio, nella schermata sopra, è stata espansa la dipendenza da apt-doc, rivelando le versioni disponibili di apt-doc che soddisfano la dipendenza. Queste versioni possono essere manipolate nello stesso modo dei pacchetti: ad esempio, per installare la versione 0.8.15.10 di apt-doc, si può evidenziarla e premere +. IMG.alt.suffix = \ Suggerimento [Suggerimento]] Per soddisfare velocemente una dipendenza, selezionarla e premere +; aptitude cercherà di soddisfarla automaticamente. Per un pacchetto, in aggiunta alle sue dipendenze, si possono vedere i nomi di pacchetto che Fornisce, i pacchetti che dipendono da esso e le sue versioni disponibili (incluso qualsiasi altro pacchetto che lo Fornisce). Come al solito, è possibile chiudere questa schermata e tornare alla vista principale premendo q. Per comodità sono disponibili alcune altre schermate informative (che visualizzano solo alcune informazioni di uso comune, nascondendo il resto): premere v per visualizzare le versioni di un pacchetto, d per visualizzare le sue dipendenze e r per visualizzare le sue «dipendenze inverse» (i pacchetti che dipendono da esso). Modificare lo stato dei pacchetti Sono disponibili i seguenti comandi per modificare lo stato dei pacchetti. I comandi hanno effetto quando si effettua il prossimo giro di installazioni; fino ad allora, tutti questi comandi possono essere annullati usando Annulla → Annulla (Control+u). Per applicare un comando ad un pacchetto, basta selezionarlo nell'elenco dei pacchetti e usare il comando. Questi comandi possono anche essere applicati a gruppi di pacchetti selezionando l'intestazione del gruppo (ad esempio, «Pacchetti aggiornabili») e usando il comando. _______________________________________________________________________________________________________________________________________________________ |Comando |Descrizione | |______________________________________________________________________|________________________________________________________________________________| | |Contrassegna il pacchetto attuale per l'installazione. | | | | |Installa: Pacchetto → Installa (+) |Se il pacchetto non è installato, verrà installato. Se è già installato, ver|à | |se possibile aggiornato e qualsiasi contrassegno che previene l'aggiornamento | | |che è attivo (es. Blocca) verrà cancellato. | |______________________________________________________________________|________________________________________________________________________________| | |Contrassegna il pacchetto attualmente selezionato per la rimozione. | |Rimuovi: Pacchetto → Rimuovi (-) | | | |Se il pacchetto è installato, sarà rimosso. | |______________________________________________________________________|________________________________________________________________________________| | |Contrassegna il pacchetto attuale per l'eliminazione. | | | | |Elimina: Pacchetto → Elimina (_) |Se il pacchetto è installato, sarà rimosso. Inoltre, anche se è già rimosso,| | |qualsiasi file rimasto (come i file di configurazione) relativo al pacchetto | | |verrà rimosso dal sistema. | |______________________________________________________________________|________________________________________________________________________________| | |Contrassegna il pacchetto attuale per essere mantenuto alla sua versione | | |attuale. | |Mantieni: Pacchetto → Mantieni (:) | | | |Qualsiasi azione che doveva essere effettuata sul pacchetto: installazione, | | |rimozione o aggiornamento, viene annullata e qualsiasi blocco permanente che era| | |impostato sul pacchetto viene rimosso. | |______________________________________________________________________|________________________________________________________________________________| | |Imposta un blocco permanente sul pacchetto. | | | | |Blocca: Pacchetto → Blocca (=) |Come per Mantieni, ogni azione che doveva essere effettuata sul pacchetto viene | | |annullata. In aggiunta il pacchetto non verrà aggiornato automaticamente[a] fin| | |a che il blocco non è rimosso. Si può annullare un blocco usando il comando | | |Installa. | |______________________________________________________________________|________________________________________________________________________________| | |Il pacchetto non sarà aggiornato automaticamente[a] alla versione a cui sarebbe| | |aggiornato al momento attuale. Se stava per essere aggiornato, l'aggiornamento | | |viene annullato. | | | | | |Se si usa questo comando su una particolare versione di un pacchetto, il | |Pacchetto → Proibisci versione (F) |pacchetto non verrà aggiornato alla versione selezionata. Notare che può esser| | |proibita una sola versione alla volta. | | | | | |Questa funzionalità è fornita principalmente per la comodità degli utenti del|a | |distribuzione «unstable», in modo che possano evitare versioni di pacchetti ch| | |sono note per avere problemi. | |______________________________________________________________________|________________________________________________________________________________| | |Reinstalla il pacchetto. | | | | |Reinstalla: premere L |Notare che per ragioni tecniche (fondamentalmente i livelli software | | |sottostanti, dpkg e apt, non forniscono un modo per sapere se una | | |reinstallazione ha avuto successo o meno) la reinstallazione non viene salvata | | |quando si esce da aptitude o quando si effettua un giro di installazioni. | |______________________________________________________________________|________________________________________________________________________________| | |Impostano se un pacchetto debba essere trattato come installato automaticamente;| |Pacchetto → Installato automaticamente (M), Pacchetto → Installato|i pacchetti installati automaticamente vengono rimossi quando nessun altro | |manualmente (m) |pacchetto li richiede. Per maggiori informazioni, vedere sezione chiamata | | |«Gestire i pacchetti installati automaticamente». | |______________________________________________________________________|________________________________________________________________________________| |[a] Questo significa che Azioni → Aggiorna tutti i pacchetti (U) o le azioni da riga di comando full-upgrade e safe-upgrade non avranno effetto su di| |esso. | |_______________________________________________________________________________________________________________________________________________________| In aggiunta a questi comandi che hanno effetto sul pacchetto selezionato, ci sono due comandi che hanno effetto su un vasto numero di pacchetti contemporaneamente, indipendentemente da ciò che è selezionato. Azioni → Dimentica i nuovi pacchetti (f) cancella lo stato di «nuovo» per tutti i pacchetti nell'elenco dei pacchetti e Azioni → Aggiorna tutti i pacchetti (U) contrassegna per l'aggiornamento ogni pacchetto che può essere aggiornato, tranne i pacchetti che sono bloccati o che verrebbero aggiornati ad una versione proibita. IMG.alt.suffix Nota = \[Nota]] Tutte le modifiche allo stato dei pacchetti vengono salvate quando si esce da aptitude, si aggiorna l'elenco dei pacchetti o si effettua un giro di installazioni. Se non si desidera salvare le modifiche fatte, si può sempre terminare aptitude premendo Ctrl-C. Scaricare, installare e rimuovere pacchetti La modifica dello stato dei pacchetti così come descritta nella sezione precedente non ha realmente effetto su ciò che installato sul sistema. Perciò si può regolare lo stato dei pacchetti senza conseguenze sul sistema fino a che non si è soddisfatti del risultato; una volta che lo si è si possono «applicare» le modifiche installando o rimuovendo effettivamente i pacchetti.[8] Per applicare le modifiche, usare il comando Azioni → Installa/rimuovi pacchetti (g). Quando si seleziona questo comando viene visualizzata una schermata di anteprima che descrive i cambiamenti che saranno effettuati. Questa schermata non è altro che un elenco dei pacchetti, e i pacchetti possono essere manipolati (ad esempio, annullando rimozioni non desiderate) qui come nell'elenco principale. Quando si è a posto, usare Viste → Chiudi (q) per annullare l'installazione o usare Azioni → Installa/rimuovi pacchetti (g) per procedere. aptitude scarica qualsiasi file che sia necessario scaricare, poi chiede se continuare con l'installazione. Quando si seleziona «Continua» iniziano le installazioni e le rimozioni. I pacchetti che aptitude scarica vengono posti in una directory cache (tipicamente /var/cache/apt/archives). Normalmente vengono lasciati in questa directory indefinitamente. Per cancellare tutti i file in questa directory, usare Azioni → Pulisci la cache dei pacchetti; per cancellare solo i file che non possono più essere scaricati (cioè i pacchetti obsoleti), usare Azioni → Cancella i file vecchi. Capire e gestire la sicurezza dei pacchetti La capacità di apt di accedere a diverse sorgenti di pacchetti comporta una potenziale vulnerabilità in termini di sicurezza. Si supponga di aggiungere al proprio file sources.list un archivio di pacchetti pubblicati da Pinco Pallo Hacker, per potere installare il pacchetto ultraprogramma di Pinco. È possibile però che, a insaputa dell'utente, l'archivio di Pinco contenga anche le sue versioni «personalizzate» di pacchetti come libc6 e ssh... versioni che rubano le informazioni private o aprono backdoor nel sistema! Se questi pacchetti hanno un numero di versione più alto di quello dei pacchetti Debian legittimi, apt li installerà nel sistema senza farsi problemi durante l'aggiornamento successivo, permettendo a Pinco di fare il suo lavoro sporco senza venire scoperto. Pinco potrebbe anche forzare il mirror degli archivi Debian dell'utente e sostituire il software legittimo con la sua versione rimaneggiata. Fortunatamente le versioni più recenti di apt e aptitude, come quella documentata in questo manuale, hanno sistemi di sicurezza incorporati per aiutare a sconfiggere questo tipo di attacchi. apt usa un forte meccanismo di sicurezza basato sul popolare software per cifratura GPG, per verificare che i pacchetti distribuiti dai mirror Debian ufficiali siano gli stessi pacchetti che sono stati caricati dagli sviluppatori Debian. aptitude poi avverte se si cerca di installare un pacchetto da una sorgente non Debian, o se si cerca di aggiornare un pacchetto che era installato da una sorgente Debian ad una versione che proviene da una sorgente non Debian. IMG.alt.suffix Avvertimento = \ [Avvertimento]] I meccanismi di sicurezza di apt forniscono una garanzia quasi assoluta che il contenuto dell'archivio mirror dell'utente è identico a quello dell'archivio master Debian. Tuttavia non sono una panacea: ci sono, ad esempio, molti modi in cui un pacchetto rimaneggiato può teoricamente riuscire a infiltrarsi nell'archivio master Debian. Se ci si assicura di installare solamente software da una sorgente sicura, si avrà un ottimo grado di protezione da pacchetti pericolosi, ma ciò non può eliminare tutti i rischi correlati con l'installazione di software. Capire la fiducia apt permette all'amministratore di un archivio di fornire una firma per l'indice dell'archivio. Questa firma, che (in pratica) non può essere contraffatta, indica che i file di pacchetto elencati nell'indice sono gli stessi file che l'amministratore ha voluto mettere nell'archivio: cioè che il contenuto dell'archivio non è stato manomesso da quando è stato creato.[9] La firma può essere verificata controllando che corrisponda alla chiave pubblica dell'amministratore. La chiave pubblica dell'archivio Debian è distribuita con apt, tipicamente sul CD di Debian. Quando aptitude scarica un indice di archivio, controlla se l'indice è firmato correttamente. Se non è firmato, aptitude non si fida dei file di pacchetto in quell'archivio. (Vedere più sotto per informazioni su ciò che questo significa.) Se ha una firma, ma la firma non è corretta o non può essere verificata, viene mostrato un avvertimento e aptitude si rifiuta di fidarsi dei pacchetti in quell'archivio. Successivamente, quando si effettua un giro di installazioni, aptitude controlla se i pacchetti provengono da sorgenti fidate. Se un pacchetto non fidato sta per essere installato o se un pacchetto sta per essere aggiornato da una versione fidata a una non fidata, viene mostrato un avvertimento e viene data la possibilità di annullare lo scaricamento: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Anteprima aptitude 0.6.6 Scarica: 8764 kB --\ Pacchetti da aggiornare (9) iu U ffmpeg 5:0.10.2-0.1 5:0.10.2-0.2 +───────────────────────────────────────────────────────────────────────────────+ │ATTENZIONE: verranno installate versioni non sicure dei seguenti pacchetti. #│ │ #│ │Pacchetti non sicuri potrebbero compromettere la sicurezza del sistema. Si #│ │dovrebbe procedere con l'installazione solo se si è sicuri di quello che si #│ │sta facendo. #│ │ #│ │ * libswscale2 [versione 5:0.10.2-0.2] #│ │ * libavutil51 [versione 5:0.10.2-0.2] #│ │ * libpostproc52 [versione 5:0.10.2-0.2] #│ │ * libswresample0 [versione 5:0.10.2-0.2] #│ │ * libavformat53 [versione 5:0.10.2-0.2] #│ │ * ffmpeg [versione 5:0.10.2-0.2] #│ │ * libavfilter2 [versione 5:0.10.2-0.2] #│ │ * libavcodec53 [versione 5:0.10.2-0.2] #│ │ * libavdevice53 [versione 5:0.10.2-0.2] #│ │ [ Continua comunque ] [ Annulla l'installazione ] │ +───────────────────────────────────────────────────────────────────────────────+ # # # # Fidarsi di chiavi aggiuntive Potrebbe essere utile permettere ad apt di fidarsi di archivi aggiuntivi, oltre all'archivio principale Debian. Per ciascun archivio di cui ci si desidera fidare, è necessario acquisire la chiave pubblica che viene usata per firmare l'indice dei pacchetti dell'archivio. Questa è tipicamente un file di testo il cui nome termina con .asc; può essere fornita dall'amministratore del sito o può essere scaricabile da un server di chiavi pubblico. Per maggiori informazioni su cosa sono le chiavi pubbliche e su come ottenerle, vedere la pagina web di GPG. L'elenco delle chiavi di cui apt ha fiducia è memorizzato nel file portachiavi / etc/apt/trusted.gpg. Una volta ottenuta la chiave GPG, la si può aggiungere a questo file eseguendo il comando gpg --no-default-keyring --keyring /etc/apt/ trusted.gpg --import nuovachiave.asc. aptitude successivamente si fiderà di qualsiasi archivio che sia firmato con la chiave contenuta in nuovachiave.asc. IMG.alt.suffix Avvertimento = \ [Avvertimento]] Una volta che la chiave di un archivio è stata aggiunta al portachiavi di APT, l'archivio viene considerato fidato tanto quanto gli stessi mirror Debian principali! Questa cosa andrebbe fatta solamente se si è certi che la chiave che si sta aggiungendo sia corretta e che la persona a cui appartiene la chiave sia degna di fiducia e competente. Gestire i pacchetti installati automaticamente Per installare un pacchetto, è spesso necessario installarne diversi altri (per soddisfare le sue dipendenze). Per esempio, se si desidera installare il pacchetto clanbomber, si deve installare anche il pacchetto libclanlib2. Se si rimuove nuovamente clanbomber, probabilmente non si avrà più bisogno del pacchetto libclanlib2; aptitude cerca di rilevare questa situazione e rimuovere automaticamente il pacchetto libclanlib2. Funziona in questo modo: quando si installa un pacchetto, aptitude installa automaticamente ogni altro pacchetto da cui esso dipende. Questi pacchetti vengono contrassegnati come «installati automaticamente»; aptitude li monitora e li rimuove quando nessun pacchetto installato manualmente dipende da essi[10]. Nell'anteprima vengono visualizzati come «Pacchetti da rimuovere perché non più utilizzati.» Come ogni processo automatico, è possibile che le cose vadano storte. Per esempio, anche se un pacchetto è stato inizialmente installato automaticamente, può rivelarsi utile di per sé. Si può rimuovere il contrassegno di «automatico» in qualsiasi momento premendo m; se il pacchetto è già stato rimosso, si può usare Pacchetto → Installa (+) per annullare la rimozione e rimuovere il contrassegno di «automatico». Risolvere le dipendenze tra i pacchetti La risoluzione delle dipendenze in aptitude In aptitude ci sono due algoritmi principali per la risoluzione delle dipendenze. Il primo è un algoritmo che viene usato anche da programmi come apt-get e synaptic; verrà qui chiamato «risoluzione immediata». Viene invocato ogni volta che si seleziona in modo interattivo un pacchetto per l'installazione, e immediatamente dopo che uno o più pacchetti sono contrassegnati per l'installazione dalla riga di comando. La risoluzione immediata è veloce e risolve la maggior parte dei problemi di dipendenze, ma a volte non è in grado di trovare una soluzione. Il secondo algoritmo, che verrà qui chiamato «risoluzione interattiva», viene invocato quando i pacchetti hanno dipendenze non soddisfatte anche dopo la risoluzione immediata[11]. Può risolvere più dipendenze, permette di analizzare una soluzione prima di applicarla e permette di fornire feedback al risolutore, guidandolo verso una soluzione migliore. Risoluzione immediata delle dipendenze Ogni volta che si sceglie di installare o aggiornare un pacchetto in aptitude, aptitude fa un tentativo immediato di risolvere tutte le sue dipendenze che non sono soddisfatte. Per ciascuna dipendenza non soddisfatta (che sia una relazione «Dipende», «Raccomanda», oppure «Va in conflitto»), effettua i seguenti passaggi: 1. Se la dipendenza è una raccomandazione, aptitude cerca di capire se è una «nuova» raccomandazione o una raccomandazione «precedentemente soddisfatta». aptitude considera una raccomandazione come «nuova» se il pacchetto che la dichiara non è attualmente installato oppure se la sua versione installata non raccomanda un pacchetto con lo stesso nome. Al contrario, una raccomandazione è «precedentemente soddisfatta» se il pacchetto che la dichiara è installato, la versione attualmente installata raccomanda un pacchetto con lo stesso nome e tale raccomandazione è soddisfatta. Per esempio, si supponga che la versione 1.0 di prog raccomandi la versione 4.0 di bellalib1, ma che la versione 2.0 di prog raccomandi la versione 5.0 di bellalib1 e raccomandi inoltre apache. Se si scegliesse di aggiornare prog dalla versione 1.0 alla versione 2.0, la raccomandazione di apache verrebbe considerata «nuova» perché la versione 1.0 di prog non raccomandava apache. Al contrario, la raccomandazione di bellalib1 non sarebbe «nuova», perché la versione 1.0 di prog raccomandava bellalib1, anche se raccomandava una versione diversa. In ogni caso, se bellalib1 fosse già installata, allora tale raccomandazione verrebbe considerata «precedentemente soddisfatta». Se l'opzione di configurazione Apt::Install-Recommends è impostata a true, aptitude cerca sempre di soddisfare le raccomandazioni «nuove» e «precedentemente soddisfatte»; tutte le altre vengono ignorate dalla risoluzione immediata. Se quella opzione è impostata a false, la risoluzione immediata delle dipendenze ignora tutte le raccomandazioni. 2. Se la dipendenza è verso diversi pacchetti combinati con OR, esamina tutte le alternative nell'ordine in cui sono fornite. Per esempio, se un pacchetto dipende da «exim | mail-transport-agent», aptitude prima esamina exim, poi mail-transport-agent. 3. Per ciascuna alternativa, cerca di risolverla. Se la dipendenza è un conflitto, rimuove l'alternativa attuale se è installata (e per un conflitto non relativo ad una specifica versione, rimuove anche qualsiasi pacchetto che fornisce l'oggetto del conflitto). Altrimenti installa la versione candidata dell'alternativa attuale, se soddisfa la dipendenza. Se ciò non è vero, o se non è presente una versione candidata (ad esempio, perché l'alternativa attuale è un pacchetto virtuale), e se la dipendenza non è relativa ad una specifica versione, cerca di installare il pacchetto con più alta priorità[12] la cui versione candidata fornisca l'oggetto dell'alternativa attuale. Per esempio, si supponga di voler risolvere la dipendenza «Dipende: exim | mail-transport-agent». aptitude cercherebbe come prima cosa di installare il pacchetto exim. Se exim non fosse disponibile, aptitude cercherebbe quindi di installare il pacchetto con più alta priorità la cui versione candidata fornisca exim. Se non esistesse un tale pacchetto, aptitude installerebbe il pacchetto con più alta priorità la cui versione candidata fornisca il pacchetto virtuale mail-transport-agent. D'altro canto, supponendo che la dipendenza sia «Dipende: exim (>= 2.0.0) | mail- transport-agent», ma che sia disponibile solo la versione 1.0 di exim, aptitude in questo caso non installerebbe exim (perché la versione non corrisponde), né cercherebbe di installare pacchetti che forniscono exim (perché i pacchettti virtuali non possono soddisfare la corrispondenza con una restrizione sulla versione). aptitude perciò ripiegherebbe sull'installazione del pacchetto con più alta priorità la cui versione candidata fornisca mail-transport-agent. 4. Se il passo precedente ha installato un pacchetto, risolve le sue dipendenze usando questo algoritmo e poi si ferma. Benché questa tecnica risolva molto spesso tutte le dipendenze che sussistono tra i pacchetti, può fallire in alcune circostanze comuni. * I conflitti vengono risolti rimuovendo il pacchetto che è l'oggetto del conflitto. Ma altri pacchetti che dipendono da esso hanno così dipendenze non soddisfatte; la risoluzione immediata non cerca di affrontare il problema. * Può non essere possibile soddisfare una dipendenza a causa di restrizioni sulla versione e per la limitazione che solo le versioni candidate vengono prese in considerazione. Come esempio, si supponga che siano disponibili le versioni 1.0 e 2.0 di fileutils, che la versione candidata sia 1.0 e il pacchetto octopus dichiari la dipendenza «Dipende: fileutils (>= 2.0)». La risoluzione immediata non sarebbe in grado di risolvere questa dipendenza: non prenderebbe mai in considerazione la versione 2.0 del pacchetto, dato che non è la versione candidata. Il risolutore interattivo di dipendenze può risolvere queste situazioni e altre ancora. Quando ci sono dipendenze non soddisfatte restanti, o quando la risoluzione immediata delle dipendenze è disabilitata, il risolutore interattivo comincia automaticamente a cercare una soluzione. La prossima sezione descrive come usare il risolutore interattivo di dipendenze. Risolvere le dipendenze in modo interattivo Se si verifica un problema di dipendenze che non può essere gestito usando la risoluzione immediata di dipendenze, aptitude può assistere l'utente nella sua risoluzione. Non appena si presenta un problema, appare una barra rossa alla base della schermata con un riassunto dei suggerimenti di aptitude su come risolverlo. Ad esempio, nella schermata seguente, aptitude indica che può risolvere la situazione eliminando 47 pacchetti. Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi aptitude 0.6.6 #Errati: 13 Libererà 15,4 MB su disco id libavcodec53 -15,4 MB 5:0.10.2-0.2 5:0.10.2-0.2 iB libavdevice53 5:0.10.2-0.2 5:0.10.2-0.2 iB libavfilter2 5:0.10.2-0.2 5:0.10.2-0.2 iBA libavformat53 5:0.10.2-0.2 5:0.10.2-0.2 i A libavutil51 5:0.10.2-0.2 5:0.10.2-0.2 i A libbabl-0.1-0 0.1.6-2 0.1.6-2 i A libbind9-80 1:9.8.1.dfsg.P 1:9.8.1.dfsg.P i A libblas3gf 1.2.20110419-2 1.2.20110419-2 i A libblkid1 2.20.1-4 2.20.1-4 Library to encode decode multimedia streams - runtime files. libavcodec53 verrà rimosso. I seguenti pacchetti dipendono da libavcodec53 e saranno difettosi dopo la sua rimozione: * audacity dipende da libavcodec53 (>= 4:0.8-1~) | libavcodec-extra-53 (>= 4:0.8-1~) [NON DISPONIBILE] [1(1)/...] Consigli: 47 da rimuovere e: Esamina !: Applica .: Successivo ,: Precedente Come indicato alla base della schermata, ulteriori soluzioni possono essere visualizzate premendo . e ,, si può applicare la soluzione attuale premendo ! ed esaminare la soluzione più in dettaglio premendo e. Quando si esamina la soluzione attuale, appare una schermata simile a: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Risoluzione delle dipendenze --\ Rimuovere i seguenti pacchetti: audacity [2.0.0-1 (now, testing)] dvdwizard [0.7.1-0.0 (now, testing)] ffmpeg [5:0.10.2-0.2 (now, testing)] filelight [4:4.7.4-2 (now, testing)] gxine [0.5.907-1 (now, testing)] k9copy [2.3.8-3 (now, testing)] katepart [4:4.7.4-2 (now, testing)] kde-runtime [4:4.7.4-2 (now, testing)] [1(1)/...] Consigli: 47 da rimuovere e: Esamina !: Applica .: Successivo ,: Precedente Si può accedere alle informazioni sul pacchetto sui cui ha effetto un'azione semplicemente premendo Invio quando il pacchetto è evidenziato. Per una spiegazione più dettagliata sul perché aptitude ha preso una particolare decisione, si può evidenziare l'elemento nella lista. Quando lo si fa, la metà inferiore della schermata mostra la dipendenza che è stata risolta dalla scelta di aptitude, insieme con tutti i modi in cui tale dipendenza avrebbe potuto essere risolta. Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Risoluzione delle dipendenze --\ Rimuovere i seguenti pacchetti: audacity [2.0.0-1 (now, testing)] dvdwizard [0.7.1-0.0 (now, testing)] ffmpeg [5:0.10.2-0.2 (now, testing)] filelight [4:4.7.4-2 (now, testing)] gxine [0.5.907-1 (now, testing)] k9copy [2.3.8-3 (now, testing)] katepart [4:4.7.4-2 (now, testing)] kde-runtime [4:4.7.4-2 (now, testing)] editor audio veloce e multipiattaforma audacity dipende da libavcodec53 (>= 4:0.8-1~) | libavcodec-extra-53 (>= 4:0.8-1 --\ Le seguenti azioni permetteranno di soddisfare questa dipendenza: -> Rimuovere audacity [2.0.0-1 (now, testing)] -> Annullare la rimozione di libavcodec53 -> Retrocedere (downgrade) libavcodec53 [5:0.10.2-0.2 (now, testing) -> 4:0.8. [1(1)/...] Consigli: 47 da rimuovere e: Esamina !: Applica .: Successivo ,: Precedente Si può guidare il risolutore interattivo verso una soluzione di cui si è soddisfatti, approvando o rifiutando le singole azioni di una soluzione. Se si approva un'azione, il risolutore la sceglie, ogni volta che è possibile, ignorando le alternative (quando esistono diverse alternative approvate, ne può essere scelta una qualsiasi). All'opposto, se si rifiuta un'azione, il risolutore non sceglie mai quell'azione. Per rifiutare un'azione, evidenziarla e premere r; il rifiuto può essere rimosso premendo nuovamente r. In modo analogo, selezionare un'azione e premere a per approvarla; premere a di nuovo per ripristinare il suo stato originale. Entrambe le scelte possono essere annullate usando Annulla → Annulla (Control+u) mentre è attiva la schermata del risolutore. Se si rimuove un rifiuto o un'approvazione, qualsiasi soluzione che era stata ignorata diventa disponibile per la prossima volta che si genera una nuova soluzione. IMG.alt.suffix Nota = \[Nota]] In modo predefinito, il risolutore rifiuta le azioni che cambiano lo stato dei pacchetti bloccati o che installano versioni proibite di pacchetti. È possibile sovrascrivere questi rifiuti, permettendo perciò che il blocco o la proibizione vengano automaticamente ignorati, nello stesso modo in cui si ignora ogni altro rifiuto. Impostando l'opzione di configurazione Aptitude::ProblemResolver:: Allow-Break-Holds a true si disabilita questo comportamento, il che significa che il risolutore infrange sempre i blocchi (anche se con una penalità: vedere Aptitude::ProblemResolver::BreakHoldScore). Le azioni rifiutate vengono colorate di rosso e contrassegnate da una «R», mentre le azioni approvate sono colorate in verde e contrassegnate da una «A». Lo si può vedere nella schermata seguente dove l'azione «rimuovi audacity» è stata rifiutata e l'azione «rimuovi dvdwizard» è stata approvata. Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Risoluzione delle dipendenze --\ Rimuovere i seguenti pacchetti: R audacity [2.0.0-1 (now, testing)] A dvdwizard [0.7.1-0.0 (now, testing)] ffmpeg [5:0.10.2-0.2 (now, testing)] filelight [4:4.7.4-2 (now, testing)] gxine [0.5.907-1 (now, testing)] k9copy [2.3.8-3 (now, testing)] katepart [4:4.7.4-2 (now, testing)] kde-runtime [4:4.7.4-2 (now, testing)] [1(1)/...] Consigli: 47 da rimuovere e: Esamina !: Applica .: Successivo ,: Precedente I rifiuti e le approvazioni hanno effetto solo sulle soluzioni generate successivamente. Si può capire quando verrà generata una nuova soluzione esaminando l'indicatore nell'angolo in basso a sinistra della schermata: se c'è un numero tra parentesi, quello è il numero delle soluzioni che sono state generate. Perciò, quando il numero fuori dalle parentesi e il numero dentro sono identici (come nell'esempio precedente), premendo . si genera una nuova soluzione. Se non c'è alcun numero tra parentesi (ad esempio se l'indicatore è nella forma [1/5]) allora non ci sono più soluzioni da generare. In qualsiasi momento, è possibile selezionare l'ultima soluzione generata premendo >, e la prima premendo <. IMG.alt.suffix Importante = \ [Importante]] Lo stato del risolutore dei problemi viene azzerato quando si modifica lo stato di un qualsiasi pacchetto. Se si contrassegna un pacchetto per l'installazione, l'aggiornamento, la rimozione, ecc., il risolutore dimentica tutti i rifiuti e le approvazioni, così come tutte le soluzioni che erano state generate fino a quel momento. In aggiunta ad usare l'elenco in alto nella schermata, è possibile selezionare le azioni anche nell'elenco nella metà inferiore. Per accedere a questo elenco, fare clic su di esso con il mouse o premere Tab. Da ultimo, per vedere le decisioni che il risolutore di problemi ha preso organizzate in ordine, premere o. Questo fornisce un elenco delle dipendenze che sono state risolte e l'azione presa per risolverle, come nella schermata seguente. Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Risoluzione delle dipendenze --\ audacity dipende da libavcodec53 (>= 4:0.8-1~) | libavcodec-extra-53 (>= 4 -> Rimuovere audacity [2.0.0-1 (now, testing)] --\ audacity-data raccomanda audacity audacity-data raccomanda audacity --\ k9copy dipende da libavcodec53 (>= 4:0.8-1~) | libavcodec-extra-53 (>= 4:0 -> Rimuovere k9copy [2.3.8-3 (now, testing)] --\ libstreamanalyzer0 dipende da libavcodec53 (>= 4:0.8-1~) | libavcodec-extr -> Rimuovere libstreamanalyzer0 [0.7.7-1.1 (now, testing)] --\ kde-runtime dipende da libstreamanalyzer0 (>= 0.7.7) editor audio veloce e multipiattaforma audacity dipende da libavcodec53 (>= 4:0.8-1~) | libavcodec-extra-53 (>= 4:0.8-1 --\ Le seguenti azioni permetteranno di soddisfare questa dipendenza: -> Rimuovere audacity [2.0.0-1 (now, testing)] -> Annullare la rimozione di libavcodec53 -> Retrocedere (downgrade) libavcodec53 [5:0.10.2-0.2 (now, testing) -> 4:0.8. [1(1)/...] Consigli: 47 da rimuovere e: Esamina !: Applica .: Successivo ,: Precedente Si può uscire da questa modalità di visualizzazione premendo nuovamente o. I costi nel risolutore interattivo di dipendenze Costi e componenti dei costi Il costo di una soluzione prodotta dal risolutore interattivo di dipendenze è un valore che aptitude usa per determinare quanto «brutta» sia quella soluzione. Le soluzioni che sono «migliori» sono sempre visualizzate prima di quelle che sono «peggiori». Il costo delle soluzioni è definito nell'opzione di configurazione Aptitude::ProblemResolver::SolutionCost. Alcuni dei costi tipici sono mostrati in Esempio 2.1, «Esempi di costi del risolutore». Esempio 2.1. Esempi di costi del risolutore Il costo predefinito, che ordina le soluzioni in base al loro costo in sicurezza e poi alla loro priorità di pin di apt: safety, priority Rimuovere meno pacchetti possibile, quindi annullare quante meno azioni possibile. removals, canceled-actions Ordinare le soluzioni in base al numero di pacchetti che rimuovono più due volte il numero di azioni che annullano. removals + 2 * canceled-actions Come si può vedere nell'esempio precedente, un costo non è necessariamente un singolo numero. In effetti, un costo consiste di uno o più componenti di costo, ciascuno dei quali è un numero associato alla soluzione. Quando le soluzioni vengono ordinate, il risolutore esamina i componenti di costo in ordine, procedendo ai componenti successivi solo se i precedenti sono uguali. Per esempio, nel costo «removals, canceled-actions» (rimozioni, azioni-annullate) le soluzioni con meno rimozioni appaiono sempre prima di quelle con più rimozioni, indipendentemente da quante azioni annullate abbiano. Tuttavia, le soluzioni con lo stesso numero di rimozioni vengono ordinate in modo che quelle con meno azioni annullate appaiano prima. I componenti di costo sono di due tipi: componenti di costo di base e componenti di costo composti. I componenti di base indicano semplicemente una qualche proprietà della soluzione, come «upgrades» (aggiornamenti) o «removals» (rimozioni). Si può vedere un elenco dei componenti di base incorporati forniti da aptitude in Tabella 2.1, «Componenti di costo di base». È anche possibile creare i propri componenti di costo usando i suggerimenti add-to-cost-component e raise-cost- component; per i dettagli vedere sezione chiamata «Configurare i suggerimenti per il risolutore». Ciascun componente di base è un contatore oppure un livello. I contatori calcolano quante azioni di una soluzione soddisfino una qualche condizione (come rimuovere pacchetti o installare nuovi pacchetti), mentre i livelli associano un numero ad ogni azione e calcolano il più alto numero associato con ciascuna azione nella soluzione. Tabella 2.1. Componenti di costo di base ________________________________________________________________________________________________ |Nome |Tipo |Descrizione | |_________|_________|____________________________________________________________________________| |broken- |Contatore|Conta il numero dei blocchi che la soluzione infrange, se al risolutore è | |holds | |permesso infrangerli (Aptitude::ProblemResolver::Allow-Break-Holds). | |_________|_________|____________________________________________________________________________| |canceled-|Contatore|Conta il numero delle azioni in attesa che la soluzione annulla (mantenendo | |actions | |i pacchetti alla loro versione attuale). | |_________|_________|____________________________________________________________________________| |installs |Contatore|Conta il numero dei pacchetti che la soluzione installa. | |_________|_________|____________________________________________________________________________| |non- | |Conta il numero delle versioni che la soluzione installa o aggiorna da | |default- |Contatore|sorgenti che non sono quella predefinita. | |versions | | | |_________|_________|____________________________________________________________________________| | | |Un valore che aumenta al diminuire della priorità di pin di apt per una | |priority |Livello |versione. Specificatamente viene calcolato come il valore della priorità di| | | |pin con segno opposto (perciò, ad esempio, se la priorià di pin è 500, | | | |questo componente sarà -500). | |_________|_________|____________________________________________________________________________| |removals |Contatore|Conta il numero dei pacchetti che la soluzione rimuove. | |_________|_________|____________________________________________________________________________| |removals-|Contatore|Conta il numero dei pacchetti installati manualmente che la soluzione | |of-manual| |rimuove. | |_________|_________|____________________________________________________________________________| |safety |Livello |Un valore largamente euristico che aumenta quando le azioni diventano meno | | | |«sicure»; per i dettagli vedere sezione chiamata «Costi di sicurezza». | |_________|_________|____________________________________________________________________________| |upgrades |Contatore|Conta il numero dei pacchetti che la soluzione aggiorna. | |_________|_________|____________________________________________________________________________| I componenti composti vengono costruiti combinando il valore dei componenti di base. Per esempio, removals + canceled-actions (rimozioni + azioni-annullate) somma i componenti removals e canceled-actions ottenendo come risultato un componente che conta il numero di rimozioni e di azioni annullate. I componenti composti combinano i contatori sommandoli insieme e i livelli prendendo il loro valore massimo, come mostrato in Figura 2.11, «Sintassi per i componenti di costo composti». IMG.alt.suffix Nota = \[Nota]] È un errore sommare due livelli o prendere il massimo tra due contatori oppure combinare in qualsiasi modo livelli e contatori. Ad esempio, i costi removals + safety e max(upgrades, installs) vengono trattati come errori e ignorati dal risolutore.[13] Figura 2.11. Sintassi per i componenti di costo composti Sommare due o più costi base: [scala1]*costo1 + [scala2]*costo2 + ... Prendere il valore massimo tra due o più costi base: max([scala1]*costo1, [scala2]*costo2, ...) Note that each individual basic component can be multiplied by a scaling factor before it is combined with other components. This can be used to control the trade-offs that the resolver makes between costs. For instance, a cost of 2*removals + 3*upgrades says that three removals are exactly as «bad» as two upgrades. Solutions that contain four removals and one upgrade will be considered equivalent to solutions containing one removal and three upgrades, since both have a cost of eleven. Costi di sicurezza Figura 2.12. Livelli dei costi di sicurezza IMG.alt.suffix = \Livelli dei costi di sicurezza] Il componente di costo safety è una stima euristica di quanto «sicura» o «non sicura» sia una soluzione. Si può pensare ai costi di sicurezza come ad un modo per dividere le soluzioni in diversi «livelli» numerati, dando ai livelli «meno sicuri» numeri più alti. Figura 2.12, «Livelli dei costi di sicurezza» mostra come ciò funzioni con le impostazioni predefinite di aptitude. IMG.alt.suffix Suggerimento = \ [Suggerimento]] I livelli dei costi di sicurezza sono solo un modo di controllare l'ordine in cui vengono presentate le soluzioni delle dipendenze. Vedere sezione chiamata «I costi nel risolutore interattivo di dipendenze» per una descrizione completa di come si possa cambiare il criterio con cui aptitude ordina le soluzioni. In modo predefinito, aptitude inizializza il risolutore con un «ragionevole» insieme di livelli per i costi di sicurezza. Questi sono: Tabella 2.2. Livelli predefiniti per i costi di sicurezza _________________________________________________________________________________________________ |Livello| |Opzione di | |di |Descrizione |configurazione | |costo | | | |_______|_______________________________________________________________________|_________________| | | |Aptitude:: | | |Soluzioni che includono solo azioni «sicure» (installare il candidato|ProblemResolver::| |10.000 |predefinito per un pacchetto o mantenere un pacchetto alla sua versione|Safe-Level, | | |attuale) e rimozioni di pacchetti. |Aptitude:: | | | |ProblemResolver::| | | |Remove-Level | |_______|_______________________________________________________________________|_________________| | | |Aptitude:: | |20.000 |La soluzione che annulla tutte le azioni dell'utente. |ProblemResolver::| | | |Keep-All-Level | |_______|_______________________________________________________________________|_________________| | |Soluzioni che infrangono blocchi impostati dall'utente o installano |Aptitude:: | |40.000 |versioni proibite. |ProblemResolver::| | | |Break-Hold-Level | |_______|_______________________________________________________________________|_________________| | |Soluzioni che installano pacchetti da versioni non predefinite (come |Aptitude:: | |50.000 |«experimental», ad esempio). |ProblemResolver::| | | |Non-Default-Level| |_______|_______________________________________________________________________|_________________| | | |Aptitude:: | |60.000 |Soluzioni che rimuovono pacchetti Essenziali |ProblemResolver::| | | |Remove-Essential-| | | |Level | |_______|_______________________________________________________________________|_________________| Se una soluzione corrisponde a diversi livelli di costo, verrà messa in quello più alto, cioè l'ultimo nell'ordine dell'elenco. Ad esempio, una soluzione che aggiorna un pacchetto alla sua versione predefinita e infrange un blocco su un secondo pacchetto viene posta al livello 40.000. Si possono regolare i livelli delle singole versioni usando i suggerimenti per il risolutore; per i dettagli vedere sezione chiamata «Configurare i suggerimenti per il risolutore». I livelli predefiniti sono illustrati in Figura 2.12, «Livelli dei costi di sicurezza». Configurare il risolutore interattivo di dipendenze Configurare i suggerimenti per il risolutore Per migliorare la qualità delle soluzioni di dipendenze ricevute, è possibile fornire suggerimenti al risolutore interattivo di dipendenze. Questi suggerimenti possono modificare le priorità del risolutore, facendolo propendere di più verso una versione o un pacchetto, oppure possono essere usati per «pre- caricare» nel risolutore rifiuti e approvazioni, come se si fosse aperto il risolutore e si fossero manualmente rifiutate o approvate varie versioni. I suggerimenti vengono memorizzati nel file di configurazione di apt, /etc/apt/ apt.conf, nel gruppo di configurazioni «Aptitude::ProblemResolver::Hints» (per i dettagli sul file di configurazione vedere sezione chiamata «Guida di riferimento per il file di configurazione»). Ogni suggerimento per il risolutore consiste di un'azione, un bersaglio e una versione opzionale. Un suggerimento è scritto nella forma: "azione bersaglio [versione]". Per applicare un suggerimento per il risolutore, aptitude individua uno o più pacchetti usando il valore di bersaglio, sceglie una o più versioni di tali pacchetti usando il valore di versione e da ultimo esegue l'azione indicata. Il campo azione di un suggerimento per il risolutore può contenere un valore tra i seguenti: 1. «approve»: approva la versione, come se si fosse usato su di essa il comando Risolutore → Approva/non richiedere (a). 2. «reject»: rifiuta la versione, come se si fosse usato su di essa il comando Risolutore → Rifiuta/autorizza (r). 3. «discard»: scarta ogni soluzione che contiene la versione. È diversa da «reject» in quanto non è visibile dall'utente e non può essere modificata in modo interattivo. 4. «increase-safety-cost-to numero»: aumenta il costo di sicurezza di qualsiasi soluzione che contiene la versione a numero; se il suo costo di sicurezza è già più alto di numero, questo suggerimento non ha effetto. Il costo di sicurezza può essere usato (e viene usato in modo predefinito) per controllare l'ordine in cui vengono presentate le soluzioni; per i dettagli vedere sezione chiamata «Costi e componenti dei costi» e sezione chiamata «Costi di sicurezza». Svariati livelli di costo speciali possono essere scelti in base al nome: a. conflict, discard: invece di cambiare il costo di sicurezza, scarta le soluzioni che contengono la versione come se si fosse usato su di esse il suggerimento «discard». b. maximum: il costo di sicurezza più alto. c. minimum: il costo di sicurezza più basso. Tutte le ricerche partono da questo costo, perciò «aumentare» una versione a questo costo non ha effetto. Questo valore può però anche essere usato quando si regolano i livelli di costo predefiniti: ad esempio se si imposta Aptitude:: ProblemResolver::Remove-Level a «minimum» si fa in modo che i pacchetti rimossi non abbiano effetto sul costo di sicurezza di una soluzione. IMG.alt.suffix Nota = \[Nota]] Il suggerimento increase-safety-cost-to viene applicato in aggiunta a qualsiasi costo di sicurezza predefinito che è associato all'azione selezionata. Per esempio, un suggerimento che aumenta il costo di sicurezza di «installa hal da experimental» a 15.000 non ha effetto perché quell'azione ha già un costo di 50.000 (ipotizzando che quella versione di hal non sia la versione candidata predefinita). 5. «numero»: aggiunge il numero specificato al punteggio della versione, facendo propendere il risolutore a suo favore oppure (usando un numero negativo) a suo svantaggio. Per esempio, il suggerimento 200 emacs aggiunge 200 al punteggio di emacs, mentre il suggerimento -10 emacs sottrae 10 dal suo punteggio. Se il campo bersaglio di un suggerimento per il risolutore contiene un punto interrogativo («?») o una tilde («~») è interpretato come un modello di ricerca e vengono prese in considerazione tutte le versioni di pacchetto che vi corrispondono. Altrimenti viene interpretato come il nome di un pacchetto da selezionare. Perciò il bersaglio «g++» seleziona solamente il pacchetto g++, mentre il bersaglio «?section(non-free)» seleziona ogni pacchetto nella sezione non-free. Per maggiori informazioni sui modelli di ricerca vedere sezione chiamata «Modelli di ricerca». Se il campo versione non è presente, allora il suggerimento ha effetto su tutte le versioni del pacchetto. Altrimenti, può avere una delle forme seguenti: 1. «/archivio»: il suggerimento ha effetto solo sulle versioni che sono disponibili nell'archivio specificato. 2. «versione»: il suggerimento ha effetto solo sulle versioni il cui numero non è versione. 6. «>=versione»: il suggerimento ha effetto solo sulle versioni il cui numero è maggiore o uguale a versione. 7. «>versione»: il suggerimento ha effetto solo sulle versioni il cui numero è maggiore di versione. 8. «:UNINST»: invece di avere effetto su qualche versione di bersaglio, il suggerimento ha effetto sulla decisione di rimuovere bersaglio. Ad esempio, «reject aptitude :UNINST» impedirà al risolutore di cercare di rimuovere aptitude. 9. «versione»: il suggerimento ha effetto solo sulle versioni il cui numero di versione è versione. Modelli di ricerca Quando si cerca un pacchetto o si imposta un filtro per la visualizzazione in aptitude, la stringa che si inserisce viene chiamata «modello di ricerca». Sebbene l'uso più semplice dei modelli di ricerca sia quello di trovare corrispondenze con i nomi dei pacchetti, aptitude permette di creare ricerche molto più complesse. In aggiunta all'interfaccia visuale, alcune operazioni da riga di comando possono usare modelli di ricerca; per i dettagli vedere Guida di riferimento per la riga di comando. Un modello di ricerca consiste di una o più condizioni (a volte indicate come «termini»); i pacchetti corrispondono al modello se corrispondono a tutti i suoi termini. I termini generalmente iniziano con un punto interrogativo («?»), seguito dal nome del termine per la corrispondenza, che descrive la ricerca effettuata dal termine: ad esempio, il termine ?name fa corrispondenza con i nomi di pacchetto, mentre il termine ?version fa corrispondenza con le versioni di pacchetto. Da ultimo, ogni parametro aggiuntivo al termine di ricerca viene posto tra parentesi (vedere la documentazione dei singoli termini per i dettagli sul significato di ciascun parametro dei termini). IMG.alt.suffix Nota = \[Nota]] Anche il testo non preceduto da un «?» forma un modello di ricerca: aptitude tratta ogni parola (o stringa tra virgolette) come argomento di un modello ?name che ricerca un pacchetto il cui nome corrisponde al testo interpretato come un'espressione regolare. IMG.alt.suffix Avvertimento = \ [Avvertimento]] Il comportamento di aptitude quando gli viene fornito un modello di ricerca senza un «?» (o una «~») iniziale è fornito per comodità durante l'uso interattivo e verrà cambiato nei rilasci futuri; gli script che richiamano aptitude dovrebbero indicare esplicitamente la strategia di ricerca che desiderano usare. Gli script, cioè, dovrebbero cercare «?name(coq)» invece di «coq». Cercare stringhe Molti termini di ricerca accettano una stringa come parametro e cercano corrispondenze in uno o più campi di un pacchetto. Le stringhe possono essere inserite con o senza le virgolette doppie («"»), perciò «?name(scorch)» e «?name ("scorch")» effettuano la stessa ricerca. Se si inserisce una stringa di ricerca usando le virgolette doppie, si può includere un carattere di virgolette doppie nella stringa di ricerca facendolo immediatamente precedere da una barra inversa («\»): ad esempio, «?description("\"easy\"")» farà corrispondenza con qualsiasi pacchetto la cui descrizione contiene la stringa «"easy"». Se si inserisce una stringa «nuda», una che non è racchiusa tra virgolette doppie, allora aptitude la considera «terminata» quando incontra la parentesi di chiusura o la virgola prima di un secondo argomento del termine di ricerca. [14]Per rimuovere il significato speciale di questi caratteri, farli immediatamente precedere da una tilde («~»). Per esempio, «?description(etc))» è un errore di sintassi, perché la prima «)» chiude il termine ?description e la seconda «)» non corrisponde a nessuna «(». Al contrario, «?description(etc~))» trova corrispondenza con qualsiasi pacchetto la cui descrizione contenga il testo «etc)». Ulteriori considerazioni si applicano quando si usa la notazione breve per un termine, vedere sezione chiamata «Abbreviazioni per i termini di ricerca» per i dettagli. La maggior parte delle ricerche di testo (per nomi di pacchetti, descrizioni, ecc.) viene effettuata usando espressioni regolari indifferenti alle maiuscole e minuscole. Un'espressione regolare fa corrispondenza con un campo se una qualsiasi porzione del campo corrisponde all'espressione; per esempio, «ogg[0- 9]» fa corrispondenza con «libogg5», «ogg123» e «theoog4u». Alcuni caratteri hanno un significato speciale all'interno delle espressioni regolari [15], perciò se si desidera trovare corrispondenze con essi nelle ricerche, è necessario proteggerli con una barra inversa: per esempio, per cercare «g++», si dovrebbe usare il modello «g\+\+». I caratteri «!» e «|» hanno un significato speciale all'interno dei modelli di ricerca. Per poter includere questi caratteri in una stringa non racchiusa tra virgolette, si può farli immediatamente precedere da una tilde («~»). Ad esempio, per trovare i pacchetti la cui descrizione contenga «grande» oppure «obliquo», usare il modello «?description(grande~|obliquo)». Tuttavia in questi casi è probabilmente più comodo usare semplicemente una stringa racchiusa tra virgolette: «?description("grande|obliquo")». Abbreviazioni per i termini di ricerca Alcuni termini di ricerca possono essere scritti usando forme «brevi» che consistono di una tilde («~») seguita da un solo carattere che identifica il termine e da ultimo gli argomenti (se ve ne sono) per il termine. Ad esempio, la forma breve di ?name(aptitude) è ~n aptitude. Quando si scrive un termine usando la sua forma breve, i caratteri tilde e gli «spazi bianchi», cioè caratteri di spazio, tabulazioni e così via, pongono fine ad un termine e ne iniziano uno nuovo. Per esempio, «~mDaniel Burrows» trova corrispondenza con tutti i campi del manutentore che contengono «Daniel» e il cui nome contiene «Burrows», mentre «~i~napt» trova corrispondenza con tutti i pacchetti installati il cui nome contiene apt. Per includere i caratteri di spaziatura nell'espressione di ricerca, si può farli precedere da una tilde (come in Daniel~ Burrows) oppure racchiudere l'espressione tra virgolette (come in "Debian Project" o persino Debian" "Project). All'interno di una stringa racchiusa tra virgolette, il carattere di barra inversa («\») può essere usato per annullare il significato speciale delle virgolette: per esempio, ~d"\"email" trova corrispondenza con ogni pacchetto la cui descrizione contenga un carattere di virgolette immediatamente seguito da email. [16] IMG.alt.suffix Nota = \[Nota]] I punti interrogativi («?») non pongono fine alla forma breve di un termine, anche se sono seguiti dal nome di un termine di ricerca. Per esempio, «~napt?priority(required)» farà corrispondenza con tutti i pacchetti il cui nome corrisponde all'espressione regolare «apt?priority(required)». Per combinare un termine breve di ricerca con un termine di ricerca specificato col nome, aggiungere uno o più spazi tra i due termini, come in «~napt ?priority(required)» oppure racchiudere il testo (se c'è) all'interno di virgolette dopo la forma breve di un termine, come in «~n"apt"?priority(required)». Tabella 2.3, «Guida veloce ai termini di ricerca» elenca la forma breve di ciascun termine di ricerca. Ricerche e versioni In modo predefinito, un modello trova corrispondenza con un pacchetto se una qualsiasi versione del pacchetto corrisponde al modello. Tuttavia alcuni modelli hanno restrizioni per far corrispondere i loro sottomodelli solo ad alcune versioni di un pacchetto. Ad esempio, il termine di ricerca ?depends(modello) seleziona qualsiasi pacchetto che dipende da un pacchetto che corrisponde a modello. modello però viene controllato solo per le versioni del pacchetto che realmente soddisfano una dipendenza. Ciò significa che se pippo dipende da pluto (>= 3.0) e sono disponibili le versioni 2.0, 3.0 e 4.0 di pluto, allora nel modello di ricerca ?depends(?version(2\.0)) solo le versioni 3.0 e 4.0 verranno testate per la parte ?version(2\.0) e perciò pippo non viene trovato da questa ricerca. Quali versioni vengano testate è importante perché, come nell'esempio precedente, alcuni modelli corrispondono ad una versione ma non ad un'altra. Per esempio, il modello ?installed trova corrispondenza solo con la versione del pacchetto attualmente installata (se una c'è). In modo analogo, il modello ?maintainer(manutentore) trova corrispondenza solo con le versioni che hanno il manutentore indicato. Normalmente tutte le versioni di un pacchetto hanno lo stesso manutentore, ma non è sempre così; di fatto tutti i modelli di ricerca che esaminano i campi di un pacchetto (tranne quello del nome, naturalmente) si comportano in questo modo, perché tutti i campi di un pacchetto possono variare con le versioni. Per testare un modello su tutte le versioni di un pacchetto, anche se normalmente verrebbero testate solo alcune delle versioni, usare il termine ?widen. Ad esempio, ?depends(?widen(?version(2\.0))) troverà corrispondenza con qualsiasi pacchetto A che dipenda da un pacchetto B, se B ha una versione che corrisponde a 2.0, indipendentemente dal fatto che quella versione soddisfi realmente la dipendenza di A. All'opposto, il termine ?narrow limita le versioni che trovano corrispondenza con il sottomodello: ?narrow(?installed, ?depends (?version(ubuntu))) corrisponde a qualsiasi pacchetto la cui versione installata ha una dipendenza che può essere soddisfatta da un pacchetto la cui stringa di versione contiene «ubuntu». IMG.alt.suffix Nota = \[Nota]] Esiste una sottile, ma importante, distinzione tra cercare la corrispondenza di un modello con un pacchetto e cercarla con tutte le versioni di quel pacchetto. Quando viene cercata la corrispondenza di un modello con un pacchetto, viene testata la corrispondenza di ognuno dei suoi termini con il pacchetto e perciò ogni termine trova corrispondenza se una qualsiasi delle versioni del pacchetto corrisponde. Al contrario, quando viene ricercata la corrispondenza di un modello con ciascuna versione di un pacchetto, il modello trova corrispondenza se tutti i suoi termini fanno corrispondenza con la stessa versione del pacchetto. Per esempio: se si suppone che sia installata la versione 3.0-1 del pacchetto aardvark, ma che sia disponibile la versione 4.0-1, allora l'espressione di ricerca ?version(4\.0-1)?installed trova corrispondenza con aardvark perché ?version(4\.0-1) corrisponde alla versone 4.0-1 di aardvark, mentre ?installed corrisponde alla versione 3.0-1. D'altra parte questa espressione non trova corrispondenza con tutte le versioni di aardvark perché non c'è alcuna versione che sia installata e che abbia anche il numero di versione 4.0-1. Bersagli di ricerca espliciti In aptitude è possibile esprimere alcune ricerche particolarmente complesse usando i bersagli espliciti. Nelle normali espressioni di ricerca, non c'è modo di fare riferimento al pacchetto o alla versione che viene testata in quel momento. Per esempio, supponendo che si desideri cercare tutti i pacchetti P che dipendono da un secondo pacchetto Q che a sua volta raccomanda P, ovviamente si deve iniziare con un termine ?depends(...). Il termine all'interno di ..., però, deve in qualche modo selezionare i pacchetti che sono identici a quelli che stanno venendo testati da ?depends. Quando più sopra si è descritto l'obiettivo desiderato, si è risolto questo problema dando un nome ai pacchetti, chiamandoli P e Q; i termini con bersagli espliciti fanno esattamente la stessa cosa.[17] Un bersaglio esplicito viene introdotto dal termine ?for: Figura 2.13. Sintassi del termine ?for ?for variabile: modello Questo si comporta esattamente come modello, ma si può usare variabile all'interno di modello per riferirsi al pacchetto o alla versione la cui corrispondenza con modello sta venendo testata. Si può usare variabile in due modi: 1. Il termine ?= trova corrispondenza esattamente con il pacchetto o la versione indicati dalla variabile data. Specificatamente: se il termine ?for corrispondente è limitato ad una particolare versione, allora ?= trova corrispondenza o con quella versione (se ?= è limitato) o con tutto il pacchetto; altrimenti trova corrispondenza con qualsiasi versione del pacchetto. Per un esempio su come usare ?=, vedere Esempio 2.2, « Uso del termine ?=. ». 2. Il termine ?bind(variabile, modello) trova corrispondenza con qualsiasi pacchetto o versione se il valore di variabile fa corrispondenza con modello. Per termini in stile ?, è disponibile una forma abbreviata. L'espressione ?bind(variabile, ?termine[(argomenti)]) può essere sostituita da ?variabile:termine(argomenti). Per un esempio su come usare ?bind, vedere Esempio 2.3, «Uso del termine ?bind». Guida di riferimento per i termini di ricerca Tabella 2.3, «Guida veloce ai termini di ricerca» fornisce un breve riassunto di tutti i termini di ricerca forniti da aptitude. Si può trovare una descrizione completa di ciascun termine più avanti. Tabella 2.3. Guida veloce ai termini di ricerca ____________________________________________________________________________________________________________________ |Forma lunga |Forma breve |Descrizione | |____________________|______________|________________________________________________________________________________| |?=variabile |  |Seleziona il pacchetto collegato a variabile; vedere sezione chiamata «Bersagli| | | |di ricerca espliciti». | |____________________|______________|________________________________________________________________________________| |?not(modello) |!modello |Seleziona qualsiasi pacchetto che non corrisponde a modello. | |____________________|______________|________________________________________________________________________________| |?action(azione) |~aazione |Seleziona i pacchetti che sono stati contrassegnati per l'azione specificata (ad| | | |es., «install» o «upgrade»). | |____________________|______________|________________________________________________________________________________| |?all-versions |  |Seleziona i pacchetti le cui versioni corrispondono tutte a modello. | |(modello) | | | |____________________|______________|________________________________________________________________________________| |?and(modello1, |modello1 |Seleziona qualsiasi pacchetto che corrisponde sia a modello1 sia a modello2. | |modello2) |modello2 | | |____________________|______________|________________________________________________________________________________| |?any-version |  |Seleziona i pacchetti per i quali almeno una versione corrisponde a modello. | |(modello) | | | |____________________|______________|________________________________________________________________________________| |?architecture |~rarchitettura|Seleziona i pacchetti per l'architettura specificata (come «amd64» o «all»).| |(architettura) | |Valori speciali: native e foreign. | |____________________|______________|________________________________________________________________________________| |?archive(archivio) |~Aarchivio |Seleziona i pacchetti dall'archivio specificato (come «unstable»). | |____________________|______________|________________________________________________________________________________| |?automatic |~M |Seleziona i pacchetti che sono stati installati automaticamente. | |____________________|______________|________________________________________________________________________________| |?bind(variabile, |?variabile: |Seleziona qualsiasi cosa se variabile corrisponde a modello; vedere sezione | |modello) |nome-termine[ |chiamata «Bersagli di ricerca espliciti». | | |(argomenti)] | | |____________________|______________|________________________________________________________________________________| |?broken |~b |Seleziona i pacchetti che hanno una dipendenza difettosa. | |____________________|______________|________________________________________________________________________________| |?broken-TipoDip |~BTipoDip |Seleziona i pacchetti che hanno una dipendenza difettosa del TipoDip | | | |specificato. | |____________________|______________|________________________________________________________________________________| |?broken-TipoDip |~DB[TipoDip: |Seleziona i pacchetti che hanno una dipendenza difettosa del TipoDip specificato| |(modello) |]modello |che corrispondono al modello. | |____________________|______________|________________________________________________________________________________| |?broken-reverse- |~RBTipoDip: |Seleziona i pacchetti verso i quali un pacchetto corrispondente a modello | |TipoDip(modello) |modello |dichiara una dipendenza difettosa di tipo TipoDip. | |____________________|______________|________________________________________________________________________________| |?conflicts(modello) |~Cmodello |Seleziona i pacchetti che vanno in conflitto con un pacchetto che corrisponde a | | | |modello. | |____________________|______________|________________________________________________________________________________| |?config-files |~c |Seleziona i pacchetti che sono stati rimossi ma non eliminati. | |____________________|______________|________________________________________________________________________________| |?TipoDip(modello) |~D[TipoDip: |Trova corrispondenza con i pacchetti che dichiarano una dipendenza di tipo | | |]modello |TipoDip da un pacchetto che corrisponde a modello. | |____________________|______________|________________________________________________________________________________| |?description |~ddescrizione |Seleziona i pacchetti la cui descrizione corrisponde a descrizione. | |(descrizione) | | | |____________________|______________|________________________________________________________________________________| |?essential |~E |Seleziona i pacchetti essenziali, quelli con Essential: yes nei loro file di | | | |controllo. | |____________________|______________|________________________________________________________________________________| |?exact-name(nome) |  |Seleziona i pacchetti chiamati nome. | |____________________|______________|________________________________________________________________________________| |?false |~F |Non seleziona alcun pacchetto. | |____________________|______________|________________________________________________________________________________| |?for variabile: | |Seleziona i pacchetti che corrispondono a modello con variabile collegata al | |modello |  |pacchetto che sta facendo corrispondenza; vedere sezione chiamata «Bersagli di | | | |ricerca espliciti». | |____________________|______________|________________________________________________________________________________| |?garbage |~g |Seleziona i pacchetti che non sono richiesti da alcun pacchetto installato | | | |manualmente. | |____________________|______________|________________________________________________________________________________| |?installed |~i |Seleziona i pacchetti installati. | |____________________|______________|________________________________________________________________________________| |?maintainer |~mmanutentore |Seleziona i pacchetti mantenuti da manutentore. | |(manutentore) | | | |____________________|______________|________________________________________________________________________________| |?multiarch |  |Seleziona i pacchetti con capacità multiarchitettura di tipo multiarchitettura | |(multiarchitettura) | |(cioè «foreign», «same», «allowed» o «none»). | |____________________|______________|________________________________________________________________________________| |?narrow(filtro, |~S filtro |Seleziona i pacchetti per i quali una singola versione corrisponde sia a filtro | |modello) |modello |sia a modello. | |____________________|______________|________________________________________________________________________________| |?name(nome) |~nnome, nome |Seleziona i pacchetti con il nome specificato. | |____________________|______________|________________________________________________________________________________| |?new |~N |Seleziona i pacchetti nuovi. | |____________________|______________|________________________________________________________________________________| |?obsolete |~o |Trova corrispondenza con i pacchetti installati che non possono essere | | | |scaricati. | |____________________|______________|________________________________________________________________________________| |?or(modello1, |modello1 | |Seleziona i pacchetti che corrispondono a modello1, modello2 o entrambi. | |modello2) |modello2 | | |____________________|______________|________________________________________________________________________________| |?origin(origine) |~Oorigine |Seleziona i pacchetti con l'origine specificata. | |____________________|______________|________________________________________________________________________________| |?provides(modello) |~Pmodello |Seleziona i pacchetti che forniscono un pacchetto che corrisponde a modello. | |____________________|______________|________________________________________________________________________________| |?priority(priorità)|~ppriorità |Seleziona i pacchetti con la priorità specificata. | |____________________|______________|________________________________________________________________________________| |?reverse-TipoDip |~R[TipoDip: |Seleziona i pacchetti che sono l'oggetto di una dipendenza di tipo TipoDip | |(modello) |]modello |dichiarata da un pacchetto che corrisponde a modello. | |____________________|______________|________________________________________________________________________________| |?reverse-broken- |~RBTipoDip: |Seleziona i pacchetti che sono l'oggetto di una dipendenza difettosa di tipo | |TipoDip(modello) |modello |TipoDip dichiarata da un pacchetto che corrisponde a modello. | |____________________|______________|________________________________________________________________________________| |?section(sezione) |~ssezione |Seleziona i pacchetti nella sezione specificata. | |____________________|______________|________________________________________________________________________________| |?source-package |  |Seleziona i pacchetti il cui pacchetto sorgente ha un nome che corrisponde | |(nome) | |all'espressione regolare nome. | |____________________|______________|________________________________________________________________________________| |?source-version |  |Seleziona i pacchetti la cui versione sorgente corrisponde all'espressione | |(versione) | |regolare versione. | |____________________|______________|________________________________________________________________________________| |?tag(etichetta) |~Getichetta |Seleziona i pacchetti che hanno l'etichetta debtags specificata. | |____________________|______________|________________________________________________________________________________| |?term(parolachiave) |  |Ricerca in tutto il testo per pacchetti che contengono la parolachiave | | | |specificata. | |____________________|______________|________________________________________________________________________________| |?term-prefix |  |Ricerca in tutto il testo per pacchetti che contengono una parola chiave che | |(parolachiave) | |inizia con la parolachiave specificata. | |____________________|______________|________________________________________________________________________________| |?true |~T |Seleziona tutti i pacchetti. | |____________________|______________|________________________________________________________________________________| |?task(task) |~ttask |Seleziona i pacchetti che fanno parte del task specificato. | |____________________|______________|________________________________________________________________________________| |?upgradable |~U |Seleziona i pacchetti che sono installati e che possono essere aggiornati. | |____________________|______________|________________________________________________________________________________| |?user-tag |  |Seleziona i pacchetti che sono contrassegnati con un'etichetta-utente che | | | |corrisponde all'espressione regolare etichetta-utente. | |____________________|______________|________________________________________________________________________________| |?version(versione) |~Vversione |Seleziona i pacchetti la cui versione corrisponde a versione (valori speciali: | | | |CURRENT, CANDIDATE e TARGET). | |____________________|______________|________________________________________________________________________________| |?virtual |~v |Seleziona i pacchetti virtuali. | |____________________|______________|________________________________________________________________________________| | | |Seleziona la versioni per le quali modello trova corrispondenza con una | |?widen(modello) |~Wmodello |qualsiasi delle versioni del pacchetto corrispondente, ignorando le restrizioni | | | |locali sulle versioni. | |____________________|______________|________________________________________________________________________________| nome Trova corrispondenza con i pacchetti il cui nome corrisponde all'espressione regolare nome. Questa è la modalità di ricerca «predefinita» ed è usata per i modelli che non iniziano con ~. IMG.alt.suffix Nota = \[Nota]] Per trovare corrispondenza con i pacchetti il cui nome contiene diverse sottostringhe differenti, usare il termine ?name (descritto più sotto); ad esempio, «?name(apti)?name(tude)» trova corrispondenza con qualsiasi pacchetto il cui nome contiene entrambi «apti» e «tude». ?=variabile Trova corrispondenza con i pacchetti che corrispondono al valore di variabile che deve essere collegata da un ?for che la racchiude. Ad esempio, ?for x: ?depends( ?recommends( ?=x ) ) trova corrispondenza con qualsiasi pacchetto x che dipende da un pacchetto che raccomanda x. Per esempio, la seguente espressione di ricerca trova corrispondenza con i pacchetti che vanno in conflitto con se stessi: Esempio 2.2.  Uso del termine ?=. ?for x: ?conflicts(?=x) Per maggiori informazioni, vedere sezione chiamata «Bersagli di ricerca espliciti». ?not(modello), !modello Trova corrispondenza con i pacchetti che non corrispondono al modello modello. Per esempio, «?not(?broken)» seleziona i pacchetti che non sono «difettosi». IMG.alt.suffix Nota = \[Nota]] Per includere un «!» in una stringa di ricerca, deve essere «protetto» facendolo precedere da una tilde («~»); aptitude altrimenti lo considera come parte di un termine ?not. Per esempio, per selezionare i pacchetti la cui descrizione contiene «extra!», usare «?description(extra~!)». ?and(modello1, modello2), modello1 modello2 Trova corrispondenza con i pacchetti che corrispondono sia a modello1 sia a modello2. ?or(modello1, modello2), modello1 | modello2 Trova corrispondenza con i pacchetti che corrispondono a modello1 o a modello2. IMG.alt.suffix Nota = \[Nota]] Per usare il carattere «|» in un'espressione regolare, deve essere «protetto» per evitare che aptitude crei sulla sua base un termine OR: «~|». (modello) Trova corrispondenza con modello. Per esempio, «opengl (perl|python)» trova corrispondenza con qualsiasi pacchetto il cui nome contiene opengl e contiene anche perl o python. ?action(azione), ~aazione Trova corrispondenza con i pacchetti su cui verrà eseguita l'azione specificata. azione può essere «install», «upgrade», «downgrade», «remove», «purge», «hold» (testa se un pacchetto è stato bloccato) o «keep» (testa se un pacchetto verrà mantenuto non modificato). Notare che questo testa solamente se l'azione è stata effettivamente pianificata per essere eseguita su un pacchetto, non se potrebbe essere eseguita. Perciò, ad esempio, ?action(upgrade) trova corrispondenza esattamente con quei pacchetti che si è già deciso di aggiornare, non con i pacchetti che potrebbero essere aggiornati in futuro (per quello, usare ?upgradable). ?all-versions(modello) Trova corrispondenza con qualsiasi pacchetto le cui versioni corrispondono tutte all'espressione specificata. Ogni versione di un pacchetto viene testata separatamente con modello e il pacchetto farà corrispondenza se tutte le sue versioni corrispondono. I pacchetti senza versioni, come i pacchetti virtuali, fanno sempre corrispondenza con questo termine. Questo termine non può essere usato in un contesto in cui le versioni con cui trovare corrispondenza sono già state ristrette, come all'interno di ?depends o ?narrow. Tuttavia può sempre essere usato con ?widen. ?any-version(modello) Trova corrispondenza con un pacchetto se una qualsiasi delle sue versioni fa corrispondenza con il modello indicato. È la controparte di ?all- versions. Questo termine non può essere usato in un contesto in cui le versioni con cui trovare corrispondenza sono già state ristrette, come all'interno di ?depends o ?narrow. Tuttavia può sempre essere usato con ?widen. IMG.alt.suffix Nota = \[Nota]] Questo termine è strettamente correlato con ?narrow. Difatti, ?any- version(modello1 modello2) è esattamente la stessa cosa di ?narrow (modello1, modello2). ?architecture(architettura), ~rarchitettura Trova corrispondenza con le versioni di pacchetto per larchitettura specificata. Per esempio, «?architecture(amd64)» trova corrispondenza con i pacchetti per amd64, mentre «?architecture(all)» trova corrispondenza con i pacchetti indipendenti dall'architettura. Accetta anche i valori speciali native e foreign. ?archive(archivio), ~Aarchivio Trova corrispondenza con le versioni di pacchetto che sono disponibili da un archivio che corrisponde all'espressione regolare archivio. Ad esempio, «?archive(testing)» trova corrispondenza con qualsiasi pacchetto disponibile dall'archivio testing. ?automatic, ~M Trova i pacchetti che sono stati installati automaticamente. ?bind(variabile, modello), ?variabile:nome-termine[(argomenti)] Trova corrispondenza con qualsiasi pacchetto o versione se il modello specificato corrisponde con il pacchetto o versione collegati a variabile che deve essere definita in un ?for che la racchiude. Esempio 2.3. Uso del termine ?bind ?for x: ?depends(?depends(?for z: ?bind(x, ?depends(?=z)))) ?for x: ?depends(?depends(?for z: ?x:depends(?=z))) I due modelli di ricerca nell'esempio precedente trovano entrambi corrispondenza con qualsiasi pacchetto x che dipende da un pacchetto y che a sua volta dipende da un pacchetto z tale che x dipenda anche direttamente da z. Il primo modello usa ?bind direttamente, mentre il secondo usa una sintassi abbreviata equivalente. Per maggiori informazioni, vedere sezione chiamata «Bersagli di ricerca espliciti». ?broken, ~b Trova corrispondenza con i pacchetti che sono «difettosi»: hanno una relazione di dipendenza, pre-dipendenza, rende diffettoso o conflitto non soddisfatta. ?broken-TipoDip, ~BTipoDip Trova corrispondenza con i pacchetti che hanno una dipendenza non soddisfatta («difettosa») del TipoDip specificato. TipoDip può essere «depends», «predepends», «recommends», «suggests», «breaks», «conflicts» o «replaces». ?broken-TipoDip(modello), ~DB[TipoDip:]modello Trova corrispondenza con i pacchetti che hanno una dipendenza non soddisfatta di tipo TipoDip da un pacchetto che corrisponde a modello. TipoDip può essere uno tra i tipi di dipendenza elencati nella documentazione di ?broken-TipoDip. ?conflicts(modello), ~Cmodello Trova corrispondenza con i pacchetti che vanno in conflitto con un pacchetto che corrisponde al modello specificato. Per esempio, «?conflicts (?maintainer(dburrows@debian.org))» trova corrispondenza con qualsiasi pacchetto che va in conflitto con un pacchetto mantenuto dall'autore di questo documento. ?config-files, ~c Trova corrispondenza con i pacchetti che sono stati rimossi, ma i cui file di configurazione sono rimasti sul sistema (cioè, sono stati rimossi ma non eliminati). ?TipoDip(modello), ~D[TipoDip:]modello TipoDip può essere uno dei tipi di dipendenza elencati nella documentazione di ?broken-TipoDip e inoltre provides: ad esempio, ?depends (libpng3) trova corrispondenza con qualsiasi pacchetto che dipende da libpng3. Se viene usata la forma breve (~D) e TipoDip non è presente, viene usato in modo predefinito depends. Se TipoDip è «provides», trova corrispondenza con i pacchetti che forniscono un pacchetto che corrisponde a modello (l'equivalente di ?provides). Altrimenti trova corrispondenza con i pacchetti che dichiarano una dipendenza di tipo TipoDip da una versione di pacchetto che corrisponde a modello. ?description(descrizione), ~ddescrizione Trova corrispondenza con i pacchetti la cui descrizione corrisponde all'espressione regolare descrizione. ?essential, ~E Trova corrispondenza con i pacchetti essenziali. ?exact-name(nome) Trova corrispondenza con i pacchetti chiamati nome. È simile a ?name, ma il nome deve fare una corrispondenza esatta. Per esempio, il modello seguente trova corrispondenza solo con il pacchetto apt; con ?name, farebbe corrispondenza anche con aptitude, uvccapture, ecc. Esempio 2.4. Uso del termine ?exact-name ?exact-name(apt) ?false, ~F Questo termine non trova corrispondenza con alcun pacchetto. [18] ?for variabile: modello Trova corrispondenza con modello, ma la variabile specificata può essere usata all'interno di modello per fare riferimento al pacchetto o versione di questo termine. variabile può essere usata in due modi. Per applicare un termine in stile ? alla variabile, scrivere ?variabile:nome-termine(argomenti); ad esempio, ?x:depends(apt). Inoltre, il termine ?=variabile seleziona qualsiasi pacchetto o versione che corrisponde al valore della variabile specificata. Per esempio, il termine seguente trova corrispondenza con qualsiasi pacchetto x che sia dipende, sia raccomanda un secondo pacchetto y. Esempio 2.5. Uso del termine ?for ?for x: ?depends( ?for y: ?x:recommends( ?=y ) ) Per maggiori informazioni, vedere sezione chiamata «Bersagli di ricerca espliciti». ?garbage, ~g Trova corrispondenza con i pacchetti che non sono installati o che sono stati installati automaticamente e da cui non dipende alcun altro pacchetto installato. ?installed, ~i Trova corrispondenza con le versioni di pacchetto attualmente installate. Dato che in modo predefinito vengono testate tutte le versioni, questo normalmente trova corrispondenza con i pacchetti che sono attualmente installati. ?maintainer(manutentore), ~mmanutentore Trova corrispondenza con i pacchetti il cui campo Maintainer corrisponde all'espressione regolare manutentore. Ad esempio, «?maintainer(joeyh)» trova tutti i pacchetti mantenuti da Joey Hess. ?multiarch(multiarchitettura) Trova corrispondenza con i pacchetti con la capacità multiarchitettura specificata da multiarchitettura. Per esempio, «?multiarch(foreign)» trova tutti i pacchetti che possono soddisfare le dipendenze dei pacchetti per un'altra architettura. «?multiarch(none)» seleziona i pacchetti senza capacità multiarchitettura. ?narrow(filtro, modello), ~S filtro modello Questo termine «restringe» la ricerca alle versioni di pacchetto che corrispondono a filtro. Nello specifico, trova corrispondenza con qualsiasi versione di pacchetto che corrisponde sia a filtro sia a modello. Il valore della stringa che fa corrispondenza è il valore della stringa di modello. ?name(nome), ~nnome Trova corrispondenza con i pacchetti il cui nome corrisponde all'espressione regolare nome. Per esempio, la maggior parte dei pacchetti che corrispondono a «?name(^lib)» sono librerie di un qualche tipo. ?new, ~N Trova corrispondenza con i pacchetti che sono «nuovi»: cioè quelli che sono stati aggiunti all'archivio dopo l'ultima volta che l'elenco dei pacchetti nuovi è stato ripulito usando Azioni → Dimentica i nuovi pacchetti (f) oppure l'azione da riga di comando forget-new. ?obsolete, ~o Questo termine trova corrispondenza con qualsiasi pacchetto installato che non è disponibile in alcuna versione da alcun archivio. Questi pacchetti sono visualizzati come «obsoleti o creati localmente» nell'interfaccia visuale. ?origin(origine), ~Oorigine Trova corrispondenza con le versioni di pacchetto la cui origine corrisponde all'espressione regolare origine. Ad esempio, «!?origin (debian)» trova ogni pacchetto non ufficiale sul sistema (pacchetti che non provengono dall'archivio Debian). ?provides(modello), ~Pmodello Trova corrispondenza con le versioni di pacchetto che forniscono un pacchetto che corrisponde al modello. Ad esempio, «?provides(mail- transport-agent)» trova corrispondenza con tutti i pacchetti che forniscono «mail-transport-agent». ?priority(priorità), ~ppriorità Trova corrispondenza con i pacchetti la cui priorità è priorità; priorità deve essere extra, important, optional, required o standard. Ad esempio, «?priority(required)» trova corrispondenza con i pacchetti la cui priorità è «required». ?reverse-TipoDip(modello), ~R[TipoDip:]modello TipoDip può essere «provides» o uno dei tipi di dipendenza elencati nella documentazione di ?broken-TipoDip. Se TipoDip non è specificato, viene usato in modo predefinito depends. Se TipoDip è «provides», trova corrispondenza con i pacchetti il cui nome è fornito da una versione di pacchetto che corrisponde a modello. Altrimenti trova corrispondenza con i pacchetti verso i quali dichiara una dipendenza di tipo TipoDip una versione di pacchetto che corrisponde a modello. ?reverse-broken-TipoDip(modello), ?broken-reverse-TipoDip(modello), ~RB [TipoDip:]modello TipoDip può essere «provides» o uno dei tipi di dipendenza elencati nella documentazione di ?broken-TipoDip. Se TipoDip non è specificato, viene usato in modo predefinito depends. Trova corrispondenza con i pacchetti verso i quali dichiara una dipendenza non soddisfatta di tipo TipoDip una versione di pacchetto che corrisponde a modello. ?section(sezione), ~ssezione Trova corrispondenza con i pacchetti la cui sezione corrisponde all'espressione regolare sezione. ?source-package(nome) Trova corrispondenza con i pacchetti il cui pacchetto sorgente ha un nome che corrisponde all'espressione regolare nome. ?source-version(versione) Trova corrispondenza con i pacchetti la cui versione sorgente corrisponde all'espressione regolare versione. ?tag(etichetta), ~Getichetta Trova corrispondenza con i pacchetti il cui campo Tag corrisponde all'espressione regolare etichetta. Ad esempio, il modello ?tag(game:: strategy) trova corrispondenza con i giochi di strategia. Per maggiori informazioni sulle etichette e i debtags, vedere http:// debtags.alioth.debian.org. ?task(task), ~ttask Trova corrispondenza con i pacchetti che fanno parte di un task il cui nome corrisponde all'espressione regolare task. ?term(parolachiave) Questo termine ricerca in tutto il testo parolachiave nella cache dei pacchetti di apt. Quando usato con «aptitude search», Cerca → Applica filtro (l) nel frontend curses o inserito in un riquadro di ricerca pacchetti nel frontend GTK+, questo termine permette ad aptitude di velocizzare la ricerca usando l'indice Xapian. ?term-prefix(parolachiave) Questo termine ricerca in tutto il testo qualsiasi parola chiave che inizia con parolachiave nella cache dei pacchetti di apt. Quando usato con «aptitude search», Cerca → Applica filtro (l) nel frontend curses o inserito in un riquadro di ricerca pacchetti nel frontend GTK+, questo termine permette ad aptitude di velocizzare la ricerca usando l'indice Xapian. Questo è simile a ?term, ma trova corrispondenza con le estensioni della parolachiave. Ad esempio, il modello di ricerca seguente trova ogni pacchetto indicizzato sotto le parole chiave hour, hourglass, hourly e così via: Esempio 2.6. Uso del termine ?term-prefix ?term-prefix(hour) ?true, ~T Questo termine trova corrispondenza con ogni pacchetto. Ad esempio, «?installed?provides(?true)» trova corrispondenza con i pacchetti installati che sono forniti da un qualsiasi pacchetto. ?upgradable, ~U Questo termine trova corrispondenza con qualsiasi pacchetto installato che può essere aggiornato. ?user-tag(etichetta) Questo termine trova corrispondenza con qualsiasi pacchetto che è contrassegnato con un'etichetta utente che corrisponde all'espressione regolare etichetta. ?version(versione), ~Vversione Trova corrispondenza con ogni versione di pacchetto il cui numero di versione corrisponde all'espressione regolare versione, con le eccezioni indicate in seguito. Ad esempio, «?version(debian)» trova corrispondenza con i pacchetti la cui versione contiene «debian». I seguenti valori di versione vengono trattati in modo speciale. Per cercare numeri di versione contenenti questi valori, anteporre al valore una barra inversa; per esempio, per trovare i pacchetti il cui numero di versione contiene CURRENT, cercare \CURRENT. * CURRENT corrisponde alla versione attualmente installata di un pacchetto, se ce n'è una. * CANDIDATE corrisponde alla versione, se ce n'è una, del pacchetto che verrebbe installata se si premesse + sul pacchetto o se si eseguisse aptitude install per esso. * TARGET corrisponde alla versione di un pacchetto che è attualmente segnata per l'installazione, se ce n'è una. ?virtual, ~v Trova corrispondenza con ogni pacchetto che è puramente virtuale: cioè il suo nome viene fornito da un pacchetto o nominato in una dipendenza, ma non esiste un pacchetto con tale nome. Per esempio, «?virtual!?provides (?true)» trova corrispondenza con i pacchetti che sono virtuali e che non sono forniti da alcun pacchetto: i pacchetti cioè da cui dipende un altro pacchetto ma che non esistono. ?widen(modello), ~Wmodello «Espande» la corrispondenza: se le versioni con le quali fare corrispondenza sono state limitate da un termine che le racchiude (come ?depends), questi limiti vengono ignorati. Perciò ?widen(modello) trova corrispondenza con una versione di pacchetto se modello corrisponde a qualsiasi versione di quel pacchetto. Personalizzare aptitude Personalizzare l'elenco dei pacchetti L'elenco dei pacchetti può essere in vasta parte personalizzato: come i pacchetti vengono visualizzati, come viene formata la gerarchia dei pacchetti, come vengono ordinati i pacchetti e persino come è organizzata la visualizzazione sono tutte cose che è possibile modificare. Personalizzare la visualizzazione dei pacchetti Questa sezione descrive come configurare il contenuto e il formato dell'elenco dei pacchetti, della riga di stato e di quella d'intestazione, così come l'output di aptitude search. Il formato di ciascuna di queste cose è definito da una «stringa di formato». Una stringa di formato è una stringa di testo che contiene codici % come %p, %S e così via. L'output risultante viene creato prendendo il testo e sostituendo i codici % in base al loro significato (descritto in seguito). Un codice % può avere una dimensione fissa, nel qual caso viene sempre sostituito dalla stessa quantità di testo (se necessario, aggiungendo caratteri di spazio in più di riempimento), oppure può essere «espandibile», cioè può usare lo spazio che non è reclamato da colonne di dimensione fissa. Se c'è più di una colonna espandibile, lo spazio in più viene suddiviso in modo equo tra tutte le colonne. Tutti i codici % vengono forniti con una dimensione predefinita o con espandibilità. La dimensione di un codice % può essere modificata scrivendola tra il carattere % e il carattere che identifica il codice; per esempio, %20V genera la versione candidata del pacchetto con una larghezza di 20 caratteri. Se si mette un punto interrogativo (?) tra il % e il carattere che identifica il codice, la larghezza «base» della colonna varia a seconda del suo contenuto. Notare che le colonne risultanti potrebbero non essere allineate verticalmente! Se si desidera che un particolare codice % sia espandibile, anche se normalmente ha una larghezza fissa, farlo immediatamente seguire da un carattere cancelletto (cioè «#»). Ad esempio, per visualizzare la versione candidata di un pacchetto, indipendentemente da quanto sia lunga, usare la stringa di formato %V#. Si può anche mettere un # dopo qualcosa che non è un codice %: aptitude «espande» allora il testo che precede il # inserendo spazi aggiuntivi dopo di esso. In breve, la sintassi di un codice % è: %[larghezza][?]codice[#] Le variabili di configurazione Aptitude::UI::Package-Display-Format, Aptitude:: UI::Package-Status-Format e Aptitude::UI::Package-Header-Format definiscono rispettivamente i formati predefiniti per l'elenco dei pacchetti, l'intestazione in cima all'elenco dei pacchetti, e la riga di stato sotto all'elenco dei pacchetti. Per cambiare il modo in cui viene visualizzato il risultato di un comando aptitude search, usare l'opzione-F. Nelle stringhe di formato sono disponibili i seguenti codici %: IMG.alt.suffix Nota = \[Nota]] Alcune delle descrizioni che seguono fanno riferimento a «il pacchetto». Nella GUI, questo è o il pacchetto visualizzato o il pacchetto attualmente selezionato; nelle ricerche da riga di comando è il pacchetto visualizzato. Codice Nome Dimensione predefinita Espandibile Descrizione %% % letterale 1 No Questo non è realmente un codice; inserisce semplicemente un segno di percentuale nell'output nel punto in cui appare. In alcune circostanze, una stringa di formato di visualizzazione possiede dei Sostituzione di «parametri»: ad esempio, nella riga di comando search, i gruppi che %#numero parametri Variabile No corrispondono alla ricerca vengono usati come parametri quando vengono visualizzati i risultati. Questo codice di formato viene sostituito dal parametro indicato da numero. Contrassegno per Un contrassegno di un solo carattere che riassume ogni azione da effettuare %a l'azione 1 No sul pacchetto, come descritto in Figura 2.10, «Valori dell'indicatore dell'«azione»». %A Azione 10 No Una descrizione un po' più lunga dell'azione da effettuare sul pacchetto. %B Conteggio difettosi 12 No Se non ci sono pacchetti difettosi non produce nulla. Altrimenti, produce una stringa del tipo «Errati: 10» che descrive il numero dei pacchetti difettosi. Contrassegno dello Un contrassegno di un solo carattere che riassume lo stato attuale del %c stato attuale 1 No pacchetto, come descritto in Figura 2.9, «Valori dell'indicatore dello «stato attuale»». %C Stato attuale 11 No Una descrizione più lunga dello stato attuale del pacchetto. %d Descrizione 40 Sì La descrizione breve del pacchetto. %D Dimensione del 8 No La dimensione del file di pacchetto che contiene il pacchetto. pacchetto %H Nome host 15 No Il nome del computer su cui è in esecuzione aptitude. Visualizza la priorità più alta assegnata ad una versione di pacchetto; per i %i Priorità di pin 4 No pacchetti, visualizza la priorità della versione che verrà imposta come quella da installare (se ce n'è una). %I Dimensione da 8 No La quantità (stimata) di spazio che il pacchetto occupa sul disco. installato %m Manutentore 30 Sì Il manutentore del pacchetto. %M Contrassegno di 1 No Se il pacchetto è stato installato automaticamente, produce in output «A», automatico altrimenti l'output è vuoto. %n Versione del La lunghezza di «0.6.8.2». No Produce in output la versione di aptitude che è in esecuzione, attualmente programma «0.6.8.2». %N Nome del programma La lunghezza del nome. No Produce in output il nome del programma; solitamente «aptitude». Se non ci sono pacchetti che verranno installati, l'output è vuoto. Altrimenti %o Dimensione di 17 No produce in output una stringa che descrive la dimensione totale dei file di scaricamento pacchetto che verranno installati (una stima di quanti dati devono essere scaricati); ad esempio, «Scarica: 1000B». Produce in output il nome del pacchetto. Quando un pacchetto è visualizzato in %p Nome del pacchetto 30 Sì un contesto ad albero, il nome del pacchetto verrà fatto rientrare, se possibile, in modo appropriato alla sua profondità nell'albero. %P Priorità 9 No Produce in output la priorità del pacchetto. %r Conteggio delle 2 No Produce in output il numero approssimato dei pacchetti installati che dipendenze inverse dipendono dal pacchetto. %R Priorità abbreviata 3 No Produce in output una descrizione abbreviata della priorità del pacchetto: per esempio, «Importante» diventa «Imp». %s Sezione 10 No Produce in output la sezione del pacchetto. %S Stato di fiducia 1 No Se il pacchetto non è fidato, visualizza la lettera "U". %t Archivio 10 Sì L'archivio in cui si trova il pacchetto. %T Etichettato 1 No Produce in output «*» se il pacchetto è etichettato, altrimenti nulla.[19] Cambiamento nell'uso Se le azioni pianificate modificheranno la quantità di spazio usato su disco, %u del disco 30 No produce in output una descrizione del cambiamento; ad esempio, «Occuperà 100MB su disco.» %v Versione attuale 14 No Produce in output la versione attualmente installata del pacchetto oppure se il pacchetto non è attualmente installato. Produce in output la versione del pacchetto che verrebbe installata se %V Versione candidata 14 No Pacchetto → Installa (+) fosse eseguito sul pacchetto, o se il pacchetto non è attualmente disponibile. %Z Cambiamento in 9 No Produce in output quanto spazio aggiuntivo verrà usato o quanto spazio verrà dimensione liberato dall'installazione, l'aggiornamento o la rimozione di un pacchetto. Personalizzare la gerarchia dei pacchetti La gerarchia dei pacchetti viene generata da una politica di raggruppamento: le regole descrivono come la gerarchia debba essere costruita. La politica di raggruppamento descrive una «successione» di regole; ciascuna regola può scartare pacchetti, creare sotto-gerarchie in cui inserire i pacchetti o manipolare l'albero in altro modo. Le voci di configurazione Aptitude::UI:: Default-Grouping e Aptitude::UI::Default-Preview-Grouping impostano, rispettivamente, le politiche di raggruppamento per gli elenchi e le schermate di anteprima appena creati. È possibile impostare la politica di raggruppamento per l'elenco attuale dei pacchetti premendo G. La politica di raggruppamento è descritta da un elenco di regole separate da virgole: regola1,regola2,.... Ogni regola consiste del nome della regola, eventualmente seguito da argomenti: ad esempio, versions o section(subdir). Se gli argomenti siano necessari e quanti siano necessari (o permessi) dipende dal tipo di regola. Le regole possono essere non-terminali o terminali. Una regola non terminale elabora un pacchetto generando una parte della gerarchia e quindi passando il pacchetto ad una regola successiva. Invece una regola terminale genera lo stesso una parte dell'albero (tipicamente voci che corrispondono ai pacchetti), ma non passa il pacchetto ad una regola successiva. Se non viene specificata alcuna regola terminale, aptitude usa la regola predefinita, che è quella di creare le «voci di pacchetto» standard. action Raggruppa i pacchetti in base all'azione pianificata per essi; i pacchetti che non sono aggiornabili e che non verranno modificati vengono ignorati. Questo è il raggruppamento che viene usato negli alberi di anteprima. architecture Raggruppa i pacchetti in base alla loro architettura. deps Questa è una regola terminale. Crea voci di pacchetto standard che possono essere espanse per rivelare le dipendenze del pacchetto. filter(modello) Include solo i pacchetti per i quali almeno una versione corrisponde a modello. Se modello è «assente» non viene scartato alcun pacchetto. Questa è una funzionalità inserita per compatibilità all'indietro e potrebbe essere rimossa in futuro. firstchar Raggruppa i pacchetti in base all'iniziale del loro nome. hier Raggruppa i pacchetti in base ad un file di dati aggiuntivo che descrive una «gerarchia» di pacchetti. pattern(modello [=> titolo] [{ politica }] [, ...]) Una politica di raggruppamento personalizzabile. Ogni versione di ogni pacchetto viene confrontata con il/i modello/i specificato/i. La prima corrispondenza trovata viene usata per assegnare un titolo al pacchetto; i pacchetti vengono quindi raggruppati in base al loro titolo. Le stringhe nella forma \N che appaiono in titolo vengono sostituite dall'N-simo risultato della corrispondenza. Se titolo non è presente, gli viene assegnato il valore \1. Notare che i pacchetti che non corrispondono ad alcun modello non compaiono affatto nell'albero dei pacchetti. Esempio 2.7. Uso di pattern per raggruppare i pacchetti in base al loro manutentore. pattern(?maintainer() => \1) L'esempio precedente raggruppa i pacchetti in base al loro campo Maintainer. La politica pattern(?maintainer()) fa la stessa cosa, dato che per il titolo mancante viene usato il predefinito \1. Invece di => titolo, una voce può terminare con ||. Questo indica che i pacchetti che corrispondono al relativo modello saranno inseriti nell'albero allo stesso livello del raggruppamento pattern invece di essere inseriti in sottoalberi. Esempio 2.8.  Uso di pattern con alcuni pacchetti posti nel livello più alto pattern(?action(remove) => Packages Being Removed, ?true ||) L'esempio precedente mette i pacchetti che stanno per essere rimossi in un sottoalbero e mette tutti gli altri pacchetti nel livello attuale, raggruppati in base alle politiche che seguono pattern. In modo predefinito, tutti i pacchetti che corrispondono a ciascun modello sono raggruppati in base alle regole che seguono la politica del pattern. Per specificare una diversa politica per alcuni pacchetti, scrivere la politica tra parentesi graffe ({}) dopo il titolo del gruppo, dopo le || o dopo il modello se nessuno dei due è presente. Per esempio: Esempio 2.9.  Uso della politica di raggruppamento pattern con sottopolitiche. pattern(?action(remove) => Packages Being Removed {}, ?action(install) => Packages Being Installed, ?true || {status}) La politica nell'esempio precedente ha i seguenti effetti: * I pacchetti che stanno per essere rimossi vengono messi in un sottoalbero chiamato «Packages Being Removed»; la politica di raggruppamento per questo sottoalbero è vuota, perciò i pacchetti vengono messi in un semplice elenco. * I pacchetti che stanno per essere installati vengono messi in un sottoalbero chiamato Packages Being Installed e raggruppati secondo le politiche che seguono pattern. * Tutti i pacchetti rimasti vengono messi nel livello più alto dell'albero, raggruppati in base al loro stato. Vedere sezione chiamata «Modelli di ricerca» per maggiori informazioni sul formato di modello. priority Raggruppa i pacchetti in base alla loro priorità. section[(modo[,passthrough])] Raggruppa i pacchetti in base al loro campo Section. modo può essere uno dei seguenti: none Raggruppa in base all'intero campo Section, perciò vengono create categorie quali «non-free/games». Questo è il valore predefinito se non viene specificato modo. topdir Raggruppa in base alla parte del campo Section che precede il primo carattere /; se questa parte di Section non viene riconosciuta, o se non c'è alcun carattere /, viene usata invece la prima voce nell'elenco Aptitude::Sections::Top-Sections. subdir Raggruppa in base alla parte del campo Section dopo il primo carattere /, se è presente nell'elenco Aptitude::Sections::Top- Sections. Se non è presente o se non c'è alcun carattere /, raggruppa in base all'intero campo Section. subdirs Raggruppa in base alla parte del campo Section dopo il primo carattere /, se la parte del campo che lo precede è contenuta nell'elenco Aptitude::Sections::Top-Sections; in caso contrario, o se non c'è alcun carattere /, viene usato l'intero campo. Se c'è più di un carattere / nella parte del campo che è usata, viene formata una gerarchia di gruppi. Per esempio, se «games» non è un membro di Aptitude::Sections::Top-Sections, allora un pacchetto della sezione «games/arcade» viene messo sotto il titolo di più alto livello «games», in un sottoalbero chiamato «arcade». Se è presente passthrough, i pacchetti che per qualche ragione mancano di una vera Section (per esempio i pacchetti virtuali) vengono passati direttamente al livello successivo di raggruppamento senza essere prima messi in sottocategorie. status Raggruppa i pacchetti nelle seguenti categorie: * Aggiornamenti di sicurezza * Aggiornabili * Nuovi * Installati * Non installati * Obsoleti e creati localmente * Virtuali source Raggruppa i pacchetti in base al nome del loro pacchetto sorgente. tag[(faccetta)] Raggruppa i pacchetti in base all'informazione Tag memorizzata nei file di pacchetto Debian. Se viene specificata faccetta, allora vengono visualizzate solo le etichette corrispondenti a quella faccetta di significato, e i pacchetti che non hanno questa faccetta vengono nascosti; altrimenti, tutti i pacchetti vengono visualizzati almeno una volta (con i pacchetti senza etichette elencati separatamente da quelli che hanno etichette). Per maggiori informazioni sui debtags, vedere http:// debtags.alioth.debian.org. task Crea un albero chiamato «Task» che contiene i task disponibili (le informazioni sui task vengono lette da debian-tasks.desc nel pacchetto tasksel). La regola che segue task crea le sue categorie come fratelli di Task. versions Questa è una regola terminale. Crea voci standard per i pacchetti che possono essere espanse per rivelare le versioni del pacchetto. Personalizzare l'ordinamento dei pacchetti In modo predefinito, i pacchetti nell'elenco dei pacchetti o nell'output di aptitude search vengono ordinati in base al nome. Tuttavia, è spesso utile ordinarli secondo criteri diversi (per esempio la dimensione del pacchetto) e aptitude permette di fare proprio questo modificando la politica di ordinamento. Come la politica di raggruppamento descritta nella sezione precedente, la politica di ordinamento è un elenco separato da virgole. Ogni voce nell'elenco è il nome di una regola di ordinamento; se i pacchetti sono «uguali» per ciò che riguarda la prima regola, per ordinarli viene usata la seconda regola, e così via. Un carattere tilde (~) che precede una regola ne inverte il significato normale. Per esempio, priority,~name ordina i pacchetti in base alla priorità, ma i pacchetti con la stessa priorità vengono ordinati in modo inverso in base al nome. Per cambiare la politica di ordinamento per un elenco di pacchetti attivo, premere S. Per cambiare l'ordinamento predefinito per tutti gli elenchi dei pacchetti, impostare l'opzione di configurazione Aptitude::UI::Default-Sorting. Per cambiare la politica di ordinamento per aptitude search, usare l'opzione da riga di comando --sort. Le regole disponibili sono: installsize Ordina i pacchetti in base alla quantità stimata di spazio di cui hanno bisogno una volta installati. name Ordina i pacchetti in base al nome. priority Ordina i pacchetti in base alla priorità. version Ordina i pacchetti in base al loro numero di versione. Personalizzare le associazioni dei tasti I tasti usati per attivare i comandi in aptitude possono essere personalizzati nel file di configurazione. Ogni comando ha associata una variabile di configurazione in Aptitude::UI::Keybindings; per cambiare il tasto associato ad un comando, basta impostare la corrispondente variabile a quel tasto. Per esempio, per far sì che il tasto s effettui una ricerca, impostare Aptitude:: UI::Keybindings::Search a «s». Si può richiedere la pressione del tasto Control mettendo «C-» davanti al tasto: ad esempio, usando «C-s» invece di «s» si associa Search a Control+s invece che a s. Da ultimo, si può associare un comando a più tasti contemporaneamente usando un elenco separato da virgole: per esempio, usando «s,C-s» si fa in modo che sia s sia Control+s effettuino una ricerca. I comandi seguenti possono essere associati a tasti impostando la variabile Aptitude::UI::Keybindings::comando, dove comando è il nome di comando da associare. _________________________________________________________________________________________________________________ |Comando |Predefinito |Descrizione | |______________________|____________|_____________________________________________________________________________| |ApplySolution |! |Se ci sono pacchetti difettosi e aptitude ha suggerito una soluzione al | | | |problema, applica immediatamente la soluzione. | |______________________|____________|_____________________________________________________________________________| |Begin |home,C-a |Si sposta all'inizio della visualizzazione attuale: in cima ad un elenco o | | | |alla sinistra di un campo di inserimento di testo. | |______________________|____________|_____________________________________________________________________________| |BugReport |B |Segnala un bug nel pacchetto attualmente selezionato, usando reportbug. | |______________________|____________|_____________________________________________________________________________| |Cancel |C- |Annulla l'interazione attuale: per esempio, scarta un riquadro di dialogo o | | |g,escape,C-[|disattiva il menu. | |______________________|____________|_____________________________________________________________________________| |Changelog |C |Visualizza il changelog.Debian del pacchetto o della versione del pacchetto | | | |attualmente selezionati. | |______________________|____________|_____________________________________________________________________________| |ChangePkgTreeGrouping |G |Cambia le politiche di raggruppamento dell'elenco dei pacchetti attualmente | | | |attivo. | |______________________|____________|_____________________________________________________________________________| |ChangePkgTreeLimit |l |Cambia il limite dell'elenco dei pacchetti attualmente attivo. | |______________________|____________|_____________________________________________________________________________| |ChangePkgTreeSorting |S |Cambia la politica di ordinamento dell'elenco dei pacchetti attualmente | | | |attivo. | |______________________|____________|_____________________________________________________________________________| |ClearAuto |m |Segna il pacchetto attualmente selezionato come installato manualmente. | |______________________|____________|_____________________________________________________________________________| |CollapseAll |] |Comprime l'albero selezionato e tutti i suoi figli in un elenco gerarchico. | |______________________|____________|_____________________________________________________________________________| |CollapseTree |Senza |Comprime l'albero selezionato in un elenco gerarchico. | | |associazione| | |______________________|____________|_____________________________________________________________________________| |Commit |N |Nell'editor di gerarchia, memorizza la posizione nella gerarchia del | | | |pacchetto attuale e procede al pacchetto successivo. | |______________________|____________|_____________________________________________________________________________| | | |Nei riquadri di dialogo, equivale a premere «Ok»; quando si interagisce con| |Confirm |enter |una domanda a risposta multipla nella riga di stato, sceglie l'opzione | | | |predefinita. | |______________________|____________|_____________________________________________________________________________| |Cycle |tab |Sposta il focus della tastiera al prossimo «widget». | |______________________|____________|_____________________________________________________________________________| |CycleNext |f6 |Passa alla prossima vista attiva. | |______________________|____________|_____________________________________________________________________________| |CycleOrder |o |Si sposta in modo ciclico tra le disposizioni predefinite della | | | |visualizzazione. | |______________________|____________|_____________________________________________________________________________| |CyclePrev |f7 |Passa alla vista attiva precedente. | |______________________|____________|_____________________________________________________________________________| |DelBOL |C-u |Cancella tutto il testo dal cursore all'inizio della riga. | |______________________|____________|_____________________________________________________________________________| |DelBack |backspace,C-|Quando si inserisce del testo, cancella il carattere precedente. | | |h | | |______________________|____________|_____________________________________________________________________________| |DelEOL |C-k |Cancella tutto il testo dal cursore alla fine della riga. | |______________________|____________|_____________________________________________________________________________| |DelForward |delete,C-d |Quando si inserisce del testo, cancella il carattere sotto il cursore. | |______________________|____________|_____________________________________________________________________________| |Dependencies |d |Visualizza le dipendenze del pacchetto attualmente selezionato. | |______________________|____________|_____________________________________________________________________________| |DescriptionCycle |i |Quando si naviga l'elenco dei pacchetti, si sposta in modo ciclico tra le | | | |viste disponibili nell'area delle informazioni. | |______________________|____________|_____________________________________________________________________________| |DescriptionDown |z |Quando si naviga l'elenco dei pacchetti, fa scorrere di una riga in basso il | | | |contenuto dell'area delle informazioni. | |______________________|____________|_____________________________________________________________________________| |DescriptionUp |a |Quando si naviga l'elenco dei pacchetti, fa scorrere di una riga in alto il | | | |contenuto dell'area delle informazioni. | |______________________|____________|_____________________________________________________________________________| |DoInstallRun |g |Se non si è nella schermata di anteprima, mostra la schermata di anteprima | | | |[a]; in una schermata di anteprima effettua un giro di installazioni. | |______________________|____________|_____________________________________________________________________________| |Down |down,j |Sposta in basso: ad esempio, fa scorrere una visualizzazione di testo in | | | |basso o seleziona il prossimo elemento in un elenco. | |______________________|____________|_____________________________________________________________________________| |DpkgReconfigure |R |Esegue «dpkg-reconfigure» sul pacchetto attualmente selezionato. | |______________________|____________|_____________________________________________________________________________| |DumpResolver |* |Se ci sono pacchetti difettosi, scrive lo stato attuale del risolutore di | | | |problemi in un file (per scopi di debug). | |______________________|____________|_____________________________________________________________________________| |EditHier |E |Apre l'editor di gerarchia. | |______________________|____________|_____________________________________________________________________________| |End |end,C-e |Si sposta alla fine della visualizzazione attuale: alla fine di un elenco o | | | |alla destra di un campo di inserimento di testo. | |______________________|____________|_____________________________________________________________________________| | | |Se alcuni pacchetti sono difettosi e aptitude ha suggerito una soluzione, | |ExamineSolution |e |visualizza un riquadro di dialogo con una descrizione dettagliata della | | | |soluzione proposta. | |______________________|____________|_____________________________________________________________________________| |ExpandAll |[ |Espande l'albero selezionato e tutti i suoi figli in un elenco gerarchico. | |______________________|____________|_____________________________________________________________________________| |ExpandTree |Senza |Espande l'albero selezionato in un elenco gerarchico. | | |associazione| | |______________________|____________|_____________________________________________________________________________| |FirstSolution |< |Seleziona la prima soluzione prodotta dal risolutore di problemi. | |______________________|____________|_____________________________________________________________________________| |ForbidUpgrade |F |Proibisce l'aggiornamento di un pacchetto alla versione attualmente | | | |disponibile (o ad una versione particolare). | |______________________|____________|_____________________________________________________________________________| |ForgetNewPackages |f |Azzera tutte le informazioni su quali pacchetti siano «nuovi» (fa sì che | | | |l'elenco dei pacchetti «nuovi» diventi vuoto). | |______________________|____________|_____________________________________________________________________________| |Help |? |Visualizza la schermata di aiuto in linea. | |______________________|____________|_____________________________________________________________________________| |HistoryNext |down,C-n |In un editor di riga con cronologia, si sposta in avanti nella cronologia. | |______________________|____________|_____________________________________________________________________________| |HistoryPrev |up,C-p |In un editor di riga con cronologia, si sposta indietro nella cronologia. | |______________________|____________|_____________________________________________________________________________| |Hold |= |Blocca un pacchetto. | |______________________|____________|_____________________________________________________________________________| |Install |+ |Contrassegna un pacchetto per l'installazione. | |______________________|____________|_____________________________________________________________________________| |InstallSingle |I |Contrassegna un singolo pacchetto per l'installazione; tutti gli altri | | | |pacchetti vengono mantenuti alla versione attuale. | |______________________|____________|_____________________________________________________________________________| |Keep |: |Annulla tutte le richieste di installazione o rimozione e tutti i blocchi di | | | |un pacchetto. | |______________________|____________|_____________________________________________________________________________| |LastSolution |< |Seleziona l'ultima soluzione prodotta dal risolutore di problemi. | |______________________|____________|_____________________________________________________________________________| |Left |left,h |Sposta a sinistra: per esempio, si sposta nel menu a sinistra nella barra dei| | | |menu, o sposta il cursore a sinistra quando si inserisce del testo. | |______________________|____________|_____________________________________________________________________________| | | |In un elenco gerarchico, seleziona il prossimo fratello dell'elemento | |LevelDown |J |attualmente selezionato (il prossimo elemento allo stesso livello con lo | | | |stesso genitore). | |______________________|____________|_____________________________________________________________________________| | | |In un elenco gerarchico, seleziona il fratello precedente dell'elemento | |LevelUp |K |attualmente selezionato (l'elemento precedente allo stesso livello con lo | | | |stesso genitore). | |______________________|____________|_____________________________________________________________________________| |MarkUpgradable |U |Cerca di aggiornare tutti i pacchetti che non sono bloccati o per i quali non| | | |è proibito l'aggiornamento. | |______________________|____________|_____________________________________________________________________________| |MineFlagSquare |f |In Campo minato, mette o toglie una bandiera da una casella. | |______________________|____________|_____________________________________________________________________________| |MineLoadGame |L |Carica una partita di Campo minato. | |______________________|____________|_____________________________________________________________________________| |MineSaveGame |S |Salva una partita di Campo minato. | |______________________|____________|_____________________________________________________________________________| |MineSweepSquare |Senza |In Campo minato, scopre tutte le caselle intorno a quella attuale. | | |associazione| | |______________________|____________|_____________________________________________________________________________| |MineUncoverSquare |Senza |In Campo minato, scopre la casella attuale. | | |associazione| | |______________________|____________|_____________________________________________________________________________| |MineUncoverSweepSquare|enter |In Campo minato, scopre la casella attuale se è coperta; altrimenti scopre | | | |tutte quelle intorno. | |______________________|____________|_____________________________________________________________________________| |NextPage |pagedown,C-f|Sposta la visualizzazione attuale una pagina in avanti. | |______________________|____________|_____________________________________________________________________________| |NextSolution |. |Fa avanzare il risolutore di dipendenze alla prossima soluzione. | |______________________|____________|_____________________________________________________________________________| |No |n[b] |Questo tasto seleziona il pulsante «no» in riquadri di dialogo Sì/No. | |______________________|____________|_____________________________________________________________________________| |Parent |^ |Seleziona il genitore dell'elemento selezionato in un elenco gerarchico. | |______________________|____________|_____________________________________________________________________________| |PrevPage |pageup,C-b |Sposta la visualizzazione attuale una pagina indietro. | |______________________|____________|_____________________________________________________________________________| |PrevSolution |, |Fa ritornare il risolutore di dipendenze alla soluzione precedente. | |______________________|____________|_____________________________________________________________________________| |Purge |_ |Contrassegna il pacchetto attualmente selezionato per l'eliminazione. | |______________________|____________|_____________________________________________________________________________| |PushButton |space,enter |Attiva il pulsante attualmente selezionato o commuta una casella di spunta. | |______________________|____________|_____________________________________________________________________________| |Quit |q |Chiude la vista attuale. | |______________________|____________|_____________________________________________________________________________| |QuitProgram |Q |Esce completamente dal programma. | |______________________|____________|_____________________________________________________________________________| |RejectBreakHolds |  |Rifiuta tutte le azioni del risolutore che infrangono un blocco; è | | | |equivalente a Risolutore → Rifiuta modifica bloccati. | |______________________|____________|_____________________________________________________________________________| |Refresh |C-l |Ridisegna la schermata da zero. | |______________________|____________|_____________________________________________________________________________| |Remove |- |Contrassegna un pacchetto per la rimozione. | |______________________|____________|_____________________________________________________________________________| |ReInstall |L |Contrassegna il pacchetto attualmente selezionato per la reinstallazione. | |______________________|____________|_____________________________________________________________________________| |RepeatSearchBack |N |Ripete l'ultima ricerca, ma cerca nella direzione opposta. | |______________________|____________|_____________________________________________________________________________| |ReSearch |n |Ripete l'ultima ricerca. | |______________________|____________|_____________________________________________________________________________| |ReverseDependencies |r |Visualizza i pacchetti che dipendono dal pacchetto attualmente selezionato. | |______________________|____________|_____________________________________________________________________________| |Right |right,l |Sposta a destra: per esempio, si sposta nel menu a destra nella barra dei | | | |menu, o sposta il cursore a destra quando si inserisce del testo. | |______________________|____________|_____________________________________________________________________________| |SaveHier |S |Nell'editor di gerarchia, salva la gerarchia attuale. | |______________________|____________|_____________________________________________________________________________| |Search |/ |Attiva la funzione di «ricerca» dell'elemento dell'interfaccia attualmente | | | |attivo. | |______________________|____________|_____________________________________________________________________________| |SearchBack |\ |Attiva la funzione di «ricerca all'indietro» dell'elemento dell'interfaccia| | | |attualmente attivo. | |______________________|____________|_____________________________________________________________________________| |SearchBroken |b |In un albero di pacchetti, cerca il prossimo pacchetto difettoso. | |______________________|____________|_____________________________________________________________________________| |SetAuto |M |Segna il pacchetto attuale come installato automaticamente. | |______________________|____________|_____________________________________________________________________________| |ShowHideDescription |D |In un elenco di pacchetti, commuta la visibilità dell'area delle | | | |informazioni. | |______________________|____________|_____________________________________________________________________________| | | |Quando viene visualizzata una soluzione, segna l'azione attualmente | |SolutionActionApprove |a |selezionata come "approvata" (verrà inclusa nelle soluzioni future quando | | | |possibile). | |______________________|____________|_____________________________________________________________________________| |SolutionActionReject |r |Quando viene visualizzata una soluzione, segna l'azione attualmente | | | |selezionata come "rifiutata" (le soluzioni future non la conterranno). | |______________________|____________|_____________________________________________________________________________| |ToggleExpanded |enter |Espande o comprime l'albero attualmente selezionato in un elenco gerarchico. | |______________________|____________|_____________________________________________________________________________| |ToggleMenuActive |C-m,f10,C- |Attiva o disattiva il menu principale. | | |space | | |______________________|____________|_____________________________________________________________________________| | | |Annulla l'ultima azione, andando indietro fino all'avvio di aptitude OPPURE | |Undo |C-_,C-u |all'ultima volta che è stato aggiornato l'elenco dei pacchetti o che sono | | | |stati installati pacchetti. | |______________________|____________|_____________________________________________________________________________| |Up |up,k |Sposta in alto: ad esempio, fa scorrere una visualizzazione di testo in alto | | | |o seleziona l'elemento precedente in un elenco. | |______________________|____________|_____________________________________________________________________________| |UpdatePackageList |u |Aggiorna l'elenco dei pacchetti, se necessario scaricando i nuovi elenchi da | | | |Internet. | |______________________|____________|_____________________________________________________________________________| |Versions |v |Visualizza le versioni disponibili del pacchetto attualmente selezionato. | |______________________|____________|_____________________________________________________________________________| |Yes |s [b] |Questo tasto seleziona il pulsante «Sì» in riquadri di dialogo Sì/No. | |______________________|____________|_____________________________________________________________________________| |[a] A meno che Aptitude::Display-Planned-Action non sia falsa. | | | |[b] L'associazione predefinita può essere diversa nelle diverse localizzazioni. | |_________________________________________________________________________________________________________________| In aggiunta ai tasti delle lettere, dei numeri e della punteggiatura, si possono creare associazioni con i seguenti tasti «speciali»: __________________________________________________________________________________ |Nome tasto |Descrizione | |___________|______________________________________________________________________| |a1 |Il tasto A1. | |___________|______________________________________________________________________| |a3 |Il tasto A3. | |___________|______________________________________________________________________| |b2 |Il tasto B2. | |___________|______________________________________________________________________| |backspace |Il tasto Backspace. | |___________|______________________________________________________________________| |backtab |Il tasto di tabulazione all'indietro. | |___________|______________________________________________________________________| |begin |Il tasto Inizio (non Home) | |___________|______________________________________________________________________| |break |Il tasto «Pausa». | |___________|______________________________________________________________________| |c1 |Il tasto C1. | |___________|______________________________________________________________________| |c3 |Il tasto C3. | |___________|______________________________________________________________________| |cancel |Il tasto Cancel. | |___________|______________________________________________________________________| |create |Il tasto Create. | |___________|______________________________________________________________________| | |Virgola (,); notare che dato che le virgole vengono usate per elencare| |comma |i tasti, questo è l'unico modo di creare un'associazione con una | | |virgola. | |___________|______________________________________________________________________| |command |Il tasto Command. | |___________|______________________________________________________________________| |copy |Il tasto Copy. | |___________|______________________________________________________________________| |delete |Il tasto Canc. | |___________|______________________________________________________________________| |delete_line|Il tasto «cancella riga». | |___________|______________________________________________________________________| |down |Il tasto freccia «giù». | |___________|______________________________________________________________________| |end |Il tasto Fine. | |___________|______________________________________________________________________| |entry |Il tasto Invio. | |___________|______________________________________________________________________| |exit |Il tasto Exit. | |___________|______________________________________________________________________| |f1, f2, |I tasti da F1 a F10. | |..., f10 | | |___________|______________________________________________________________________| |find |Il tasto Trova. | |___________|______________________________________________________________________| |home |Il tasto Home. | |___________|______________________________________________________________________| |insert |Il tasto Insert. | |___________|______________________________________________________________________| |insert_exit|Il tasto «insert exit». | |___________|______________________________________________________________________| |clear |Il tasto «clear». | |___________|______________________________________________________________________| |clear_eol |Il tasto «clear to end of line». | |___________|______________________________________________________________________| |clear_eos |Il tasto «clear to end of screen». | |___________|______________________________________________________________________| |insert_line|Il tasto «insert line». | |___________|______________________________________________________________________| |left |Il tasto freccia «sinistra». | |___________|______________________________________________________________________| |mark |Il tasto Mark. | |___________|______________________________________________________________________| |message |Il tasto Messaggio. | |___________|______________________________________________________________________| |move |Il tasto Move. | |___________|______________________________________________________________________| |next |Il tasto Next. | |___________|______________________________________________________________________| |open |Il tasto Open. | |___________|______________________________________________________________________| |previous |Il tasto Previous. | |___________|______________________________________________________________________| |print |Il tasto Stamp. | |___________|______________________________________________________________________| |redo |Il tasto Redo. | |___________|______________________________________________________________________| |reference |Il tasto Reference. | |___________|______________________________________________________________________| |refresh |Il tasto Refresh. | |___________|______________________________________________________________________| |replace |Il tasto Replace. | |___________|______________________________________________________________________| |restart |Il tasto Restart. | |___________|______________________________________________________________________| |resume |Il tasto Resume. | |___________|______________________________________________________________________| |return |Il tasto Return. | |___________|______________________________________________________________________| |right |Il tasto freccia «destra». | |___________|______________________________________________________________________| |save |Il tasto Save. | |___________|______________________________________________________________________| |scrollf |Il tasto «scroll forward». | |___________|______________________________________________________________________| |scrollr |Il tasto «scroll backwards». | |___________|______________________________________________________________________| |select |Il tasto Select. | |___________|______________________________________________________________________| |suspend |Il tasto Sospendi. | |___________|______________________________________________________________________| |pagedown |Il tasto «Pag Giù». | |___________|______________________________________________________________________| |pageup |Il tasto «Pag Su». | |___________|______________________________________________________________________| |space |Il tasto Spazio. | |___________|______________________________________________________________________| |tab |Il tasto Tab | |___________|______________________________________________________________________| |undo |Il tasto Undo. | |___________|______________________________________________________________________| |up |Il tasto freccia «su». | |___________|______________________________________________________________________| In aggiunta alle associazioni di tasti globali, è possibile cambiare le associazioni di tasti per una parte particolare (o dominio) di aptitude: per esempio, per far sì che Tab sia equivalente al tasto freccia destra nelle barre di menu, impostare Aptitude::UI::Keybindings::Menubar::Right a «tab,right». Sono disponibili i seguenti domini: ______________________________________________________________________________________ |Dominio |Descrizione | |_____________|________________________________________________________________________| |EditLine |Usato dai widget per le righe di inserimento, come il campo di | | |inserimento in un dialogo di «ricerca». | |_____________|________________________________________________________________________| |Menu |Usato dai menu a tendina. | |_____________|________________________________________________________________________| |Menubar |Usato dalla barra dei menu in cima alla schermata. | |_____________|________________________________________________________________________| |Minesweeper |Usato dalla modalità Campo minato. | |_____________|________________________________________________________________________| |MinibufChoice|Usato dai prompt a scelta multipla che appaiono se si è scelto di avere| | |qualche prompt che compare nella riga di stato. | |_____________|________________________________________________________________________| |Pager |Usato quando si visualizza un file su disco (per esempio, il testo di | | |aiuto). | |_____________|________________________________________________________________________| |PkgNode |Usato dai pacchetti, alberi di pacchetti, versioni di pacchetti e | | |dipendenze dei pacchetti quando compaiono negli elenchi dei pacchetti. | |_____________|________________________________________________________________________| |PkgTree |Usato dagli elenchi dei pacchetti. | |_____________|________________________________________________________________________| |Table |Usato da tabelle di widget (ad esempio, i riquadri di dialogo). | |_____________|________________________________________________________________________| |TextLayout |Usato da visualizzazioni di testo formattato, come le descrizioni dei | | |pacchetti. | |_____________|________________________________________________________________________| |Tree |Usato da tutte le visualizzazioni ad albero (inclusi gli elenchi dei | | |pacchetti, per i quali può essere scavalcato da PkgTree). | |_____________|________________________________________________________________________| Personalizzare il colore e lo stile dei testi I colori e gli stili visivi usati da aptitude per visualizzare il testo possono essere grandemente personalizzati. Ogni elemento visivo ha uno «stile» associato che descrive i particolari colori e attributi visivi che vengono usati per visualizzare quell'elemento. Gli stili hanno la forma di un elenco di impostazioni per colori e attributi. Questo elenco non è necessariamente esaustivo; se alcuni colori o attributi non sono espressamente specificati, i loro valori verranno presi dal contesto visivo circostante. Di fatto, la maggior parte degli elementi visivi ha in modo predefinito uno stile «vuoto». Si può cambiare il contenuto di uno stile creando un gruppo di configurazione con lo stesso nome nel file di configurazione di apt o aptitude. Per esempio, lo stile «MenuBorder» viene usato per disegnare il bordo grafico intorno ai menu a tendina. In modo predefinito, questo bordo viene disegnato in grassetto e in bianco su sfondo blu. Mettendo nel file di configurazione il testo seguente, si cambia il bordo in bianco su sfondo ciano: Aptitude::UI::Styles { MenuBorder {fg white; bg cyan; set bold;}; }; Come si può vedere, un gruppo di configurazione per uno stile consiste di una sequenza di istruzioni. Le classi generali di istruzioni sono: fg colore Imposta il testo in primo piano al colore specificato. Per un elenco dei colori che aptitude riconosce, vedere in seguito. bg colore Imposta lo sfondo del testo al colore specificato. Per un elenco dei colori che aptitude riconosce, vedere in seguito. set attributo Abilita l'attributo di testo specificato. Per un elenco degli attributi di testo che aptitude riconosce, vedere in seguito. clear attributo Disabilita l'attributo di testo specificato. Per un elenco degli attributi di testo che aptitude riconosce, vedere in seguito. flip attributo Commuta lo stato dell'attributo di testo specificato: se è abilitato nell'elemento circostante, viene disabilitato e viceversa. Per un elenco degli attributi di testo che aptitude riconosce, vedere in seguito. I colori che aptitude riconosce sono black, blue, cyan, green, magenta, red, white e yellow[20]. In aggiunta, si può specificare il valore default al posto di un colore di sfondo, per usare lo sfondo predefinito del terminale (può essere il colore predefinito, un file immagine o persino «trasparente»). Gli stili che aptitude riconosce sono: blink Abilita il testo lampeggiante. bold Rende il colore di primo piano del testo (o il colore di sfondo se è abilitato il video inverso) più luminoso. dim In alcuni terminali può rendere il testo extra-debole. Non è stato osservato alcun effetto sui terminali Linux comuni. reverse Scambia i colori di primo piano e di sfondo. Molti elementi visivi commutano questo attributo per ottenere la normale evidenziazione. standout Abilita «la migliore modalità di evidenziazione per il terminale». Nei terminali X è simile, ma non identico, al video inverso; il comportamento negli altri terminali è variabile. underline Abilita il testo sottolineato. Si possono selezionare più attributi contemporaneamente, separandoli con virgole; ad esempio, set bold,standout;. IMG.alt.suffix Nota = \[Nota]] Come accennato in precedenza, l'interpretazione degli stili così come degli attributi di testo è fortemente dipendente dal terminale. Può essere necessario sperimentare un po' per capire esattamente ciò che alcune impostazioni fanno sul proprio terminale. In aptitude è possibile personalizzare i seguenti stili: Figura 2.14. Stili personalizzabili in aptitude _________________________________________________________________________________________________________________________ |Stile |Predefinito |Descrizione | |__________________________|_____________|________________________________________________________________________________| |Bullet |fg yellow; |Lo stile dei puntini negli elenchi puntati. | | |set bold; | | |__________________________|_____________|________________________________________________________________________________| | | |Lo stile delle versioni più recenti del pacchetto nella vista del changelog. | |ChangelogNewerVersion |set bold; |Notare che aptitude evidenzia le versioni più recenti del pacchetto solo se è | | | |installato il pacchetto libparse-debianchangelog-perl. | |__________________________|_____________|________________________________________________________________________________| |Default |fg white; bg |Lo stile di base della schermata. | | |black; | | |__________________________|_____________|________________________________________________________________________________| |DepBroken |fg black; bg |Lo stile per le dipendenze non soddisfatte. | | |red; | | |__________________________|_____________|________________________________________________________________________________| | |fg black; bg | | |DisabledMenuEntry |blue; set |Lo stile delle voci di menu che sono disabilitate e non possono essere usate. | | |dim; | | |__________________________|_____________|________________________________________________________________________________| |DownloadHit |fg black; bg |Lo stile usato per indicare che un file è stato «toccato»: cioè non è stato| | |green; |modificato dall'ultima volta che è stato scaricato. | |__________________________|_____________|________________________________________________________________________________| |DownloadProgress |fg blue; bg |Lo stile dell'indicatore di avanzamento per uno scaricamento. | | |yellow; | | |__________________________|_____________|________________________________________________________________________________| | |fg white; bg |Lo stile degli editor di riga (per esempio, la riga di inserimento nel dialogo | |EditLine |black; clear |«Cerca»). | | |reverse; | | |__________________________|_____________|________________________________________________________________________________| | |fg white; bg | | |Error |red; set |Lo stile dei messaggi di errore. | | |bold; | | |__________________________|_____________|________________________________________________________________________________| | |fg white; bg | | |Header |blue; set |Lo stile delle intestazioni delle schermate. | | |bold; | | |__________________________|_____________|________________________________________________________________________________| | |fg white; bg | | |HighlightedMenuBar |blue; set |Lo stile del nome del menu attualmente selezionato nella barra dei menu. | | |bold,reverse;| | |__________________________|_____________|________________________________________________________________________________| | |fg white; bg | | |HighlightedMenuEntry |blue; set |Lo stile della scelta attualmente selezionata in un menu. | | |bold,reverse;| | |__________________________|_____________|________________________________________________________________________________| | |fg yellow; bg| | |MediaChange |red; set |Lo stile del dialogo usato per chiedere all'utente di inserire un nuovo CD. | | |bold; | | |__________________________|_____________|________________________________________________________________________________| | |fg white; bg | | |MenuBar |blue; set |Lo stile della barra dei menu. | | |bold; | | |__________________________|_____________|________________________________________________________________________________| | |fg white; bg | | |MenuBorder |blue; set |Lo stile dei bordi che circondano un menu a tendina. | | |bold; | | |__________________________|_____________|________________________________________________________________________________| |MenuEntry |fg white; bg |Lo stile di ogni voce in un menu a tendina. | | |blue; | | |__________________________|_____________|________________________________________________________________________________| |MineBomb |fg red; set |Lo stile delle bombe in Campo minato. | | |bold; | | |__________________________|_____________|________________________________________________________________________________| |MineBorder |set bold; |Lo stile dei bordi disegnati intorno a una tavola di Campo minato. | |__________________________|_____________|________________________________________________________________________________| |MineFlag |fg red; set |Lo stile delle bandierine in Campo minato. | | |bold; | | |__________________________|_____________|________________________________________________________________________________| |MineNumberN |Vario |Lo stile del numero N in Campo minato; N è compreso tra 0 e 8. | |__________________________|_____________|________________________________________________________________________________| |MultiplexTab |fg white; bg |Il colore usato per visualizzare le «schede» diverse da quella attualmente | | |blue; |selezionata. | |__________________________|_____________|________________________________________________________________________________| |MultiplexTabHighlighted |fg blue; bg |Il colore usato per visualizzare la «scheda» attualmente selezionata. | | |white; | | |__________________________|_____________|________________________________________________________________________________| |PkgBroken |fg red; flip |Lo stile dei pacchetti nell'elenco dei pacchetti che hanno dipendenze non | | |reverse; |soddisfatte. | |__________________________|_____________|________________________________________________________________________________| |PkgBrokenHighlighted |fg red; |Lo stile dei pacchetti evidenziati nell'elenco dei pacchetti che hanno | | | |dipendenze non soddisfatte. | |__________________________|_____________|________________________________________________________________________________| |PkgNotInstalled |  |Lo stile dei pacchetti che non sono attualmente installati e che non verranno | | | |installati. | |__________________________|_____________|________________________________________________________________________________| |PkgNotInstalledHighlighted|  |Lo stile dei pacchetti evidenziati che non sono attualmente installati e che non| | | |verranno installati. | |__________________________|_____________|________________________________________________________________________________| |PkgIsInstalled |set bold; |Lo stile dei pacchetti che sono attualmente installati e per i quali non è | | | |pianificata alcuna azione. | |__________________________|_____________|________________________________________________________________________________| |PkgIsInstalledHighlighted |set bold; |Lo stile dei pacchetti evidenziati che sono attualmente installati e per i quali| | |flip reverse;|non è pianificata alcuna azione. | |__________________________|_____________|________________________________________________________________________________| |PkgToDowngrade |set bold; |Lo stile dei pacchetti nell'elenco dei pacchetti che verranno retrocessi. | |__________________________|_____________|________________________________________________________________________________| |PkgToDowngradeHighlighted |set bold; |Lo stile dei pacchetti evidenziati nell'elenco dei pacchetti che verranno | | |flip reverse |retrocessi. | |__________________________|_____________|________________________________________________________________________________| |PkgToHold |fg white; |Lo stile dei pacchetti nell'elenco dei pacchetti che sono bloccati. | | |flip reverse;| | |__________________________|_____________|________________________________________________________________________________| |PkgToHoldHighlighted |fg white; |Lo stile dei pacchetti evidenziati nell'elenco dei pacchetti che sono bloccati. | |__________________________|_____________|________________________________________________________________________________| |PkgToInstall |fg green; |Lo stile dei pacchetti nell'elenco dei pacchetti che verranno installati (non | | |flip reverse;|aggiornati) o reinstallati. | |__________________________|_____________|________________________________________________________________________________| |PkgToInstallHighlighted |fg green; |Lo stile dei pacchetti evidenziati nell'elenco dei pacchetti che verranno | | | |installati (non aggiornati) o reinstallati. | |__________________________|_____________|________________________________________________________________________________| |PkgToRemove |fg magenta; |Lo stile dei pacchetti nell'elenco dei pacchetti che saranno rimossi o | | |flip reverse;|eliminati. | |__________________________|_____________|________________________________________________________________________________| |PkgToRemoveHighlighted |fg magenta; |Lo stile dei pacchetti evidenziati nell'elenco dei pacchetti che saranno rimossi| | | |o eliminati. | |__________________________|_____________|________________________________________________________________________________| |PkgToUpgrade |fg cyan; flip|Lo stile dei pacchetti nell'elenco dei pacchetti che verranno aggiornati. | | |reverse; | | |__________________________|_____________|________________________________________________________________________________| |PkgToUpgradeHighlighted |fg cyan; |Lo stile dei pacchetti evidenziati nell'elenco dei pacchetti che verranno | | | |aggiornati. | |__________________________|_____________|________________________________________________________________________________| |Progress |fg blue; bg |Lo stile degli indicatori di avanzamento come quello che compare mentre viene | | |yellow; |caricata la cache dei pacchetti. | |__________________________|_____________|________________________________________________________________________________| |SolutionActionApproved |bg green; |Lo stile delle azioni approvate in una soluzione. | |__________________________|_____________|________________________________________________________________________________| |SolutionActionRejected |bg red; |Lo stile delle azioni rifiutate in una soluzione. | |__________________________|_____________|________________________________________________________________________________| | |fg white; bg | | |Status |blue; set |Lo stile delle righe di stato in basso nella schermata. | | |bold; | | |__________________________|_____________|________________________________________________________________________________| |TreeBackground |  |Il colore di base di tutti gli elenchi e gli alberi visivi. | |__________________________|_____________|________________________________________________________________________________| | |fg red; bg | | |TrustWarning |black; set |Il colore usato per visualizzare avvertimenti sulla fiducia nei pacchetti. | | |bold; | | |__________________________|_____________|________________________________________________________________________________| Personalizzare la disposizione della visualizzazione È possibile riorganizzare l'elenco dei pacchetti di aptitude facendo le oppurtune modifiche al file di configurazione. Elementi della visualizzazione La disposizione è memorizzata nel gruppo di configurazioni Aptitude::UI:: Default-Package-View e consiste di un elenco di elementi della visualizzazione: Nome Tipo { Row riga; Column colonna; Width larghezza; Height altezza; opzioni aggiuntive... }; Questo crea un elemento della visualizzazione chiamato Nome; il tipo dell'elemento creato viene determinato da Tipo. Le opzioni Row, Column, Width e Height devono essere presenti; esse determinano dove viene posizionato l'elemento visualizzato. (Vedere più avanti per una spiegazione dettagliata su come vengano disposti gli elementi visualizzati.) Per esempi su come modificare la disposizione della visualizzazione, vedere le definizioni dei temi nel file /usr/share/aptitude/aptitude-defaults. Sono disponibili i seguenti tipi di elementi per la visualizzazione: Description Questo elemento della visualizzazione contiene l'«area delle informazioni» (tipicamente una descrizione del pacchetto attualmente selezionato). L'opzione PopUpDownKey fornisce il nome di un comando della tastiera che farà sì che l'elemento della visualizzazione sia mostrato o nascosto. Per esempio, se la si imposta a ShowHideDescription si dà all'elemento di visualizzazione attuale lo stesso comportamento dell'area delle informazioni predefinita. L'opzione PopUpDownLinked fornisce il nome di un altro elemento della visualizzazione; l'elemento attuale viene mostrato o nascosto ogni volta che lo è l'altro elemento. MainWidget Questo è un segnaposto per l'elemento «principale» della visualizzazione: tipicamente è l'elenco dei pacchetti. Una disposizione della visualizzazione deve contenere esattamente un elemento MainWidget: né di più, né di meno. Static Una regione della schermata che visualizza del testo, eventualmente contenente codici di formattazione come descritti in sezione chiamata «Personalizzare la visualizzazione dei pacchetti». Il testo da visualizzare può essere specificato nell'opzione Columns oppure può essere memorizzato in un'altra variabile di configurazione specificata nell'opzione ColumnsCfg. Il colore del testo è determinato dal colore indicato dall'opzione Color. Gli elementi Static possono essere visualizzati e nascosti nello stesso modo di quelli Description, usando le opzioni PopUpDownKey e PopUpDownLinked. Posizionamento degli elementi della visualizzazione Gli elementi della visualizzazione sono organizzati in una «tabella». L'angolo superiore sinistro di un elemento è nella cella specificata dalle sue opzioni Row e Column (tipicamente a partire dalla riga 0 e colonna 0, ma ciò non è necessario). La larghezza in celle di un elemento viene specificata dalla sua opzione Width e la sua altezza dall'opzione Height. Una volta che gli elementi della visualizzazione sono stati disposti e gli è stata assegnata la quantità iniziale di spazio sulla schermata, è probabile che ci sia dello spazio avanzato. Se c'è dello spazio in più in verticale, ad ogni riga che contiene un elemento della visualizzazione la cui opzione RowExpand è impostata a true viene assegnata una porzione dello spazio in più; analogamente, se c'è dello spazio in più in orizzontale, ad ogni colonna contenente un elemento della visualizzazione la cui opzione ColExpand è impostata a true viene assegnata una porzione dello spazio in più. Nel caso che non ci sia spazio a sufficienza, ogni riga e colonna i cui widget hanno tutti le opzioni RowShrink o ColShrink impostate a true viene ristretta. Se ciò non basta, tutte le righe e le colonne vengono ristrette per restare all'interno dello spazio disponibile. Se un elemento di visualizzazione non è espanso, ma la sua riga o colonna lo è, il suo allineamento è determinato dalle opzioni RowAlign e ColAlign. Impostandole a Left, Right, Top, Bottom o Center si indica a aptitude dove posizionare l'elemento all'interno della riga o della colonna. Ad esempio, il gruppo di configurazione seguente crea un elemento statico chiamato «Header», che è largo tre celle ed espandibile in orizzontale, ma non in verticale. Ha lo stesso colore delle altre righe header e usa il formato di visualizzazione standard delle righe header. Header Static { Row 0; Column 0; Width 3; Height 1; ColExpand true; ColAlign Center; RowAlign Center; Color ScreenHeaderColor; ColumnsCfg HEADER; }; Guida di riferimento per le opzioni per la disposizione della visualizzazione Per gli elementi della visualizzazione sono disponibili le seguenti opzioni: ColAlign allineamento; allineamento deve essere uno tra Left, Right o Center. Se la riga contenente l'attuale elemento di visualizzazione è più larga dell'elemento stesso e ColExpand è false, allora l'elemento viene posizionato all'interno della riga in base al valore di allineamento. Se questa opzione non è presente, viene usato il valore predefinito Left. ColExpand true|false; Se questa opzione è impostata a true, alla colonna contenente questo elemento della visualizzazione sarà assegnata una porzione dello spazio orizzontale disponibile in più. Se questa opzione non è presente, viene usato il valore predefinito false. Color nomecolore; Questa opzione si applica agli elementi Static. nomecolore è il nome di un colore (ad esempio, ScreenStatusColor) che deve essere usato come colore «predefinito» per questo elemento della visualizzazione. Se questa opzione non è presente, viene usato il valore predefinito DefaultWidgetBackground. ColShrink true|false; Se questa opzione è impostata a true per ogni elemento in una colonna e non c'è spazio orizzontale sufficiente, la colonna viene ristretta di quanto è necessario per rientrare nello spazio disponibile. Notare che una colonna può essere ristretta anche se ColShrink è false; questo indica semplicemente ad aptitude che deve cercare di restringere una colonna particolare prima delle altre. Se questa opzione non è presente, viene usato il valore predefinito false. Column colonna; Specifica la colonna più a sinistra contenente questo elemento della visualizzazione. Columns formato; Questa opzione si applica agli elementi di visualizzazione Static per i quali non è impostata l'opzione ColumnsCfg. Imposta i contenuti visualizzazti dell'elemento di stato; è una stringa di formato come descritta in sezione chiamata «Personalizzare la visualizzazione dei pacchetti». ColumnsCfg HEADER|STATUS|nome; Questa opzione si applica agli elementi della visualizzazione Static. Imposta il formato di visualizzazione dell'elemento attuale al valore di un'altra variabile di configurazione: se è HEADER o STATUS, vengono usate rispettivamente le opzioni Aptitude::UI::Package-Header-Format e Aptitude::UI::Package-Status-Format; altrimenti viene usata l'opzione nome. Se questa opzione non è presente, viene usato il valore dell'opzione Columns per controllare i contenuti dell'elemento statico. Height altezza; Specifica l'altezza dell'attuale elemento della visualizzazione. PopUpDownKey comando; Questa opzione si applica agli elementi della visualizzazione Description e Static. comando è il nome di un comando di tastiera (ad esempio, ShowHideDescription). Quando viene premuto questo tasto, l'elemento della visualizzazione viene nascosto se era visibile e mostrato se era nascosto. PopUpDownLinked elemento; Questa opzione si applica agli elementi della visualizzazione Description e Static. elemento è il nome di un elemento della visualizzazione. Quando elemento è visualizzato, anche l'elemento attuale viene visualizzato; quando elemento è nascosto, anche l'elemento attuale viene nascosto. Row riga; Specifica la riga più in alto contenente questo elemento della visualizzazione. RowAlign allineamento; allineamento deve essere uno tra Top, Bottom o Center. Se la riga contenente l'attuale elemento di visualizzazione è più alta dell'elemento stesso e RowExpand è false, allora l'elemento viene posizionato all'interno della riga in base al valore di allineamento. Se questa opzione non è presente, viene usato il valore predefinito Top. RowExpand true|false; Se questa opzione è impostata a true, alla riga contenente questo elemento della visualizzazione sarà assegnata una porzione dello spazio verticale disponibile in più. Se questa opzione non è presente, viene usato il valore predefinito false. RowShrink true|false; Se questa opzione è impostata a true per ogni elemento in una riga e non c'è spazio verticale sufficiente, la riga viene ristretta di quanto è necessario per rientrare nello spazio disponibile. Notare che una riga può essere ristretta anche se RowShrink è false; questo indica semplicemente ad aptitude che deve cercare di restringere una riga particolare prima delle altre. Se questa opzione non è presente, viene usato il valore predefinito false. Visible true|false; Se impostato a false, questo elemento della visualizzazione è inizialmente nascosto. Presumibilmente è utile solo se usato insieme a PopUpDownKey o PopUpDownLinked. Se questa opzione non è presente, viene usato il valore predefinito true. Width larghezza; Specifica la larghezza dell'attuale elemento della visualizzazione. Guida di riferimento per il file di configurazione Formato del file di configurazione Nella sua forma base, il file di configurazione di aptitude è un elenco di opzioni e dei loro valori. Ogni riga del file deve essere nella forma «Opzione Valore;»: per esempio, la riga seguente nel file di configurazione imposta l'opzione Aptitude::Theme a «Dselect». Aptitude::Theme "Dselect"; Un'opzione può «contenere» altre opzioni se sono scritte tra parentesi graffe tra l'opzione e il punto e virgola che viene dopo, in questo modo: Aptitude::UI { Package-Status-Format ""; Package-Display-Format ""; }; Un'opzione che contiene altre opzioni è a volte chiamata gruppo. In effetti, i due punti doppi che sono presenti nei nomi delle opzioni sono in realtà un modo abbreviato per indicare una relazione di contenimento: l'opzione Aptitude::UI:: Default-Grouping è contenuta nel gruppo Aptitude::UI che è, a sua volta, contenuto nel gruppo Aptitude. Perciò, se lo si desidera, si può impostare questa opzione a "" nel modo seguente: Aptitude { UI { Default-Grouping ""; }; }; Per maggiori informazioni sul formato del file di configurazione, vedere la pagina di manuale apt.conf(5). Posizione dei file di configurazione La configurazione di aptitude viene letta dalle fonti seguenti, in ordine: 1. Opzioni del file di configurazione specificate sulla riga di comando. 2. Il file di configurazione dell'utente: ~/.aptitude/config. Questo file viene sovrascritto quando l'utente modifica le impostazioni nel menu Opzioni. 3. Il file di configurazione di sistema: /etc/apt/apt.conf. 4. I file con i frammenti di configurazione di sistema: /etc/apt/apt.conf.d/*. 5. Il file specificato dalla variabile d'ambiente APT_CONFIG (se presente). 6. I valori predefiniti memorizzati in /usr/share/aptitude/aptitude-defaults. 7. I valori predefiniti incorporati in aptitude. Quando un'opzione viene controllata, queste sono, nell'ordine, le fonti cercate e viene usata la prima che fornisce un valore per l'opzione. Ad esempio, impostando un'opzione in /etc/apt/apt.conf si scavalcano i valori predefiniti di aptitude per quell'opzione, ma non le impostazioni dell'utente in ~/.aptitude/ config. Opzioni di configurazione disponibili aptitude usa le seguenti opzioni di configurazione. Notare che queste non sono le uniche opzioni di configurazione disponibili; le opzioni usate dal sistema apt sottostante non sono elencate qui. Vedere le pagine di manuale apt(8) e apt.conf(5) per informazioni sulle opzioni di apt. Opzione:Apt::AutoRemove::RecommendsImportant Predefinito:true Descrizione: Se questa opzione è true, allora aptitude non considera i pacchetti come inutilizzati (e quindi non li rimuove automaticamente) fintanto che un qualunque pacchetto installato li raccomanda, anche se Apt::Install-Recommends è false. Per maggiori informazioni, vedere sezione chiamata «Gestire i pacchetti installati automaticamente». Opzione:Apt::AutoRemove::SuggestsImportant Predefinito:true Descrizione: Se quest'opzione è true, allora aptitude non considera i pacchetti come inutilizzati (e quindi non li rimuove automaticamente) fintanto che un qualunque pacchetto installato li suggerisce. Per maggiori informazioni vedere sezione chiamata «Gestire i pacchetti installati automaticamente». Opzione:Apt::Get::List-Cleanup Predefinito:true Descrizione: Un sinonimo di Apt::List-Cleanup. Se una di queste opzioni è impostata a false, aptitude non elimina i vecchi file degli elenchi dei pacchetti dopo aver scaricato un nuovo insieme di elenchi di pacchetti. Opzione:Apt::List-Cleanup Predefinito:true Descrizione: Un sinonimo di Apt::Get::List-Cleanup. Se una di queste opzioni è impostata a false, aptitude non elimina i vecchi file degli elenchi dei pacchetti dopo aver scaricato un nuovo insieme di elenchi di pacchetti. Opzione:Apt::Install-Recommends Predefinito:true Descrizione: Se questa opzione è true e Aptitude::Auto-Install è true, allora ogni volta che si contrassegna un pacchetto per l'installazione anche i pacchetti che esso raccomanda vengono contrassegnati da aptitude per l'installazione. Inoltre, se questa opzione è true aptitude non considera i pacchetti come inutilizzati (e quindi non li rimuove automaticamente) fintanto che un qualsiasi pacchetto installato li raccomanda. Per maggiori informazioni, vedere sezione chiamata «Gestire i pacchetti installati automaticamente» e sezione chiamata «Risoluzione immediata delle dipendenze». Opzione:Aptitude::Allow-Null-Upgrade Predefinito:false Descrizione: Normalmente, se si cerca di avviare un giro di installazioni quando non ci sono azioni da effettuare, aptitude stampa un avvertimento e torna all'elenco dei pacchetti. Se questa opzione è true, aptitude prosegue nella schermata di anteprima ogni volta che ci sono pacchetti aggiornabili, invece di mostrare un messaggio sul comando Azioni → Aggiorna tutti i pacchetti (U). Opzione:Aptitude::Always-Use-Safe-Resolver Predefinito:false Descrizione: Se questa opzione è true, le azioni da riga di comando di aptitude, usano sempre un risolutore di dipendenze «sicuro», come se fosse stata passata l'opzione --safe-resolver nella riga di comando. Opzione:Aptitude::Autoclean-After-Update Predefinito:false Descrizione: Se questa opzione è true, aptitude ripulisce i file obsoleti (vedere Azioni → Cancella i file vecchi) ogni volta che si aggiorna l'elenco dei pacchetti). Opzione:Aptitude::Auto-Fix-Broken Predefinito:true Descrizione: Se questa opzione è false, aptitude chiede il permesso prima di cercare di correggere un qualsiasi pacchetto difettoso. Opzione:Aptitude::Auto-Install Predefinito:true Descrizione: Se questa opzione è true, aptitude cerca automaticamente di soddisfare le dipendenze di un pacchetto quando questo viene contrassegnato per l'installazione o l'aggiornamento. Opzione:Aptitude::Auto-Install-Remove-Ok Predefinito:false Descrizione: Se questa opzione è true, aptitude rimuove automaticamente i pacchetti in conflitto quando si contrassegna un pacchetto per l'installazione o l'aggiornamento. Normalmente questi conflitti vengono marcati ed è necessario gestirli a mano. Opzione:Aptitude::Auto-Upgrade Predefinito:false Descrizione: Se questa opzione è true, aptitude contrassegna automaticamente tutti i pacchetti aggiornabili per l'aggiornamento all'avvio del programma, come se si fosse usato il comando Azioni → Aggiorna tutti i pacchetti (U). Opzione:Aptitude::CmdLine::Always-Prompt Predefinito:false Descrizione: In modalità a riga di comando, se questa è impostata, aptitude chiede sempre prima di iniziare a installare o rimuovere pacchetti, anche se l'interazione verrebbe normalmente saltata. È equivalente all'opzione -P per la riga di comando. Opzione:Aptitude::CmdLine::Assume-Yes Predefinito:false Descrizione: In modalità a riga di comando, se questa opzione è true, aptitude si comporta come se l'utente avesse risposto «sì» ad ogni domanda, saltando la maggior parte dei prompt. È equivalente all'opzione -y per la riga di comando. Opzione:Aptitude::CmdLine::Disable-Columns Predefinito:false Descrizione: Se questa opzione viene abilitata, i risultati delle ricerche dalla riga di comando (effettuate con aptitude search) non vengono formattati in colonne a larghezza fissa o troncati alla larghezza della schermata. È equivalente all'opzione --disable-columns per la riga di comando. Opzione:Aptitude::CmdLine::Download-Only Predefinito:false Descrizione: Nella modalità a riga di comando, se questa opzione è true, aptitude scarica i file dei pacchetti ma non li installa. È equivalente all'opzione -d per la riga di comando. Opzione:Aptitude::CmdLine::Fix-Broken Predefinito:false Descrizione: Nella modalità a riga di comando, se questa opzione è true, aptitude è più aggressivo quando cerca di risolvere le dipendenze dei pacchetti difettosi. È equivalente all'opzione -f per la riga di comando. Opzione:Aptitude::CmdLine::Versions-Group-By Predefinito: Impostata a auto, none, package o source-package per controllare se e come l'output di aptitude versions venga raggruppato. È equivalente all'opzione --group-by per la riga di comando. (Vedere la sua documentazione per un'ulteriore descrizione del significato dei suoi valori). Opzione:Aptitude::CmdLine::Ignore-Trust-Violations Predefinito:false Descrizione: Nella modalità a riga di comando, fa sì che aptitude ignori l'installazione dei pacchetti non fidati. È un sinonimo di Apt::Get:: AllowUnauthenticated. Opzione:Aptitude::CmdLine::Package-Display-Format Predefinito:%c%a%M %p# - %d# Descrizione: Questa è una stringa di formato, come descritto in sezione chiamata «Personalizzare la visualizzazione dei pacchetti», che viene usata per visualizzare i risultati di una ricerca dalla riga di comando. È equivalente all'opzione -F per la riga di comando. Opzione:Aptitude::CmdLine::Package-Display-Width Predefinito: Descrizione: Questa opzione specifica la larghezza in caratteri alla quale devono essere formattati i risultati delle ricerche dalla riga di comando. Se è vuota (come predefinito, cioè ""), i risultati delle ricerche vengono formattati in base alla dimensione attuale del terminale, o per una schermata a 80 colonne se la dimensione del terminale non può essere determinata. Opzione:Aptitude::CmdLine::Progress::Percent-On-Right Predefinito:false Descrizione: Questa opzione controlla se gli indicatori di avanzamento della riga di comando visualizzino la percentuale alla sinistra della schermata, nello stesso stile di apt-get, oppure sul lato destro (impostazione predefinita). Questa opzione non ha effetto sugli indicatori di avanzamento degli scaricamenti. Opzione:Aptitude::CmdLine::Progress::Retain-Completed Predefinito:false Descrizione: Se questo valore è false, allora gli indicatori di avanzamento della riga di comando vengono cancellati e sovrascritti una volta che il compito che rappresentano è stato completato. Se è true, vengono lasciati sul terminale. Questa opzione non ha effetto sugli indicatori di avanzamento degli scaricamenti. Opzione:Aptitude::CmdLine::Request-Strictness Predefinito:10000 Descrizione: Quando è eseguito in modalità a riga di comando, se si verificano problemi di dipendenze, aptitude aggiunge questo valore al punteggio del risolutore dei problemi per ciascuna azione esplicitamente richiesta dall'utente. Opzione:Aptitude::CmdLine::Resolver-Debug Predefinito:false Descrizione: Nella modalità a riga di comando, se questa opzione è true, aptitude visualizzerà informazioni estremamente dettagliate mentre cerca di risolvere le dipendenze non soddisfatte. Come suggerisce il nome, questa opzione è principalmente pensata per facilitare il debug del risolutore di problemi. Opzione:Aptitude::CmdLine::Resolver-Dump Predefinito: Descrizione: Nella modalità a riga di comando, se è necessario risolvere dipendenze non soddisfatte e questa opzione è impostata al nome di un file scrivibile, viene fatto il dump dello stato del risolutore in questo file prima di effettuare ogni elaborazione. Opzione:Aptitude::CmdLine::Resolver-Show-Steps Predefinito:false Descrizione: Se questa opzione è true, allora una soluzione di dipendenze viene mostrata in forma di una sequenza di risoluzioni di dipendenze singole; ad esempio, «wesnoth dipende da wesnoth-data (=1.2.4-1) -> installare wesnoth-data 1.2.4-1 (unstable)». Per passare da una modalità di visualizzazione all'altra, premere o al prompt «Accettare questa soluzione?». Opzione:Aptitude::CmdLine::Show-Deps Predefinito:false Descrizione: Nella modalità a riga di comando, se questa opzione è true, aptitude mostra un breve riassunto delle dipendenze (se ce ne sono) relative allo stato di un pacchetto. È equivalente all'opzione -D per la riga di comando. Opzione:Aptitude::CmdLine::Show-Size-Changes Predefinito:false Descrizione: Nella modalità a riga di comando, se questa opzione è true, aptitude mostra la variazione attesa nella quantità di spazio usata da ciascun pacchetto. È equivalente all'opzione -Z per la riga di comando. Opzione:Aptitude::CmdLine::Why-Display-Mode Predefinito:no-summary Descrizione: Questa opzione imposta il valore predefinito per l'opzione --show- summary della riga di comando. Vedere la documentazione di --show-summary per un elenco dei valori permessi per questa opzione e per il loro significato. Opzione:Aptitude::CmdLine::Show-Versions Predefinito:false Descrizione: Nella modalità a riga di comando, se questa opzione è true, aptitude mostra la versione di un pacchetto che sta per essere installata o rimossa. È equivalente all'opzione -V per la riga di comando. Opzione:Aptitude::CmdLine::Show-Why Predefinito:false Descrizione: Nella modalità a riga di comando, se questa opzione è true, aptitude mostra i pacchetti installati manualmente che richiedono ciascun pacchetto installato automaticamente, oppure i pacchetti installati manualmente che causano un conflitto con ciascun pacchetto automaticamente rimosso. È equivalente all'opzione -W per la riga di comando e mostra le stesse informazioni a cui si può accedere usando aptitude why o premendo i in un elenco di pacchetti. Opzione:Aptitude::CmdLine::Version-Display-Format Predefinito:%c%a%M %p# %t %i Descrizione: Questa è una stringa di formato, come descritto in sezione chiamata «Personalizzare la visualizzazione dei pacchetti», che viene usata per visualizzare l'output di aptitude version. È equivalente all'opzione -F per la riga di comando. Opzione:Aptitude::CmdLine::Versions-Show-Package-Names Predefinito: Impostata a always, auto o never per controllare quando vengono visualizzati i nomi dei pacchetti nell'output di aptitude versions. È equivalente all'opzione --show-package-names per la riga di comando (vedere la sua documentazione per un'ulteriore descrizione del significato dei valori). Opzione:Aptitude::Safe-Resolver::Show-Resolver-Actions Predefinito:false Descrizione: Se questa opzione è abilitata allora, quando il risolutore di dipendenze «sicuro» è stato attivato con --safe-resolver o perché l'azione nella riga di comando è safe-upgrade, visualizza un riassunto delle azioni prese dal risolutore prima di mostrare l'anteprima di installazione. È equivalente all'opzione --show-resolver-actions per la riga di comando. Opzione:Aptitude::Screenshot::IncrementalLoadLimit Predefinito:16384 Descrizione: La dimensione minima in byte alla quale aptitude inizia a mostrare le istantanee in modo incrementale. Al di sotto di questa dimensione le istantanee non compaiono fino a che non sono completamente scaricate. Opzione:Aptitude::Screenshot::Cache-Max Predefinito:4194304 Descrizione: Il numero massimo di byte di dati di istantanee che aptitude conserva in memoria per le istantanee che non sono attualmente visualizzate. Il valore predefinito è quattro megabyte. Opzione:Aptitude::CmdLine::Simulate Predefinito:false Descrizione: Questa opzione è deprecata; usare invece Aptitude::Simulate. Nella modalità a riga di comando fa sì che aptitude mostri solo le azioni che sarebbero effettuate (invece di effettuarle davvero); nell'interfaccia visuale, fa sì che aptitude si avvii in modalità in sola lettura indipendentemente dal fatto che si sia root o meno. È equivalente all'opzione -s per la riga di comando. Opzione:Aptitude::CmdLine::Verbose Predefinito:0 Descrizione: Controlla quanto è prolissa la modalità a riga di comando di aptitude. Ogni occorrenza dell'opzione -v nella riga di comando incrementa questo valore di 1. Opzione:Aptitude::CmdLine::Visual-Preview Predefinito:false Descrizione: Se questa opzione è true, aptitude entra nella sua modalità visuale per mostrare l'anteprima di un giro di installazioni e per scaricare i pacchetti. Opzione:Aptitude::Delete-Unused Predefinito:true Descrizione: Se questa opzione è true, i pacchetti automaticamente installati che non sono più necessari vengono rimossi automaticamente. Per maggiori informazioni, vedere sezione chiamata «Gestire i pacchetti installati automaticamente». Opzione:Aptitude::Delete-Unused-Pattern Predefinito: Descrizione: Alias deprecato per Aptitude::Keep-Unused-Pattern. Se Aptitude:: Keep-Unused-Pattern non è impostata o è impostata ad una stringa vuota, il valore di questa opzione di configurazione lo sovrascriverà. Altrimenti, Aptitude::Delete-Unused-Pattern viene ignorato. Opzione:Aptitude::Display-Planned-Action Predefinito:true Descrizione: Se questa opzione è true, aptitude mostra una schermata di anteprima prima di effettuare realmente le azioni che sono state richieste. Opzione:Aptitude::Forget-New-On-Install Predefinito:false Descrizione: Se questa opzione è true, aptitude pulisce l'elenco dei nuovi pacchetti ogni volta che vengono installati, aggiornati o rimossi pacchetti, così come se si fosse usato il comando Azioni → Dimentica i nuovi pacchetti (f). Opzione:Aptitude::Forget-New-On-Update Predefinito:false Descrizione: Se questa opzione è true, aptitude pulisce l'elenco dei nuovi pacchetti ogni volta che l'elenco dei pacchetti viene aggiornato, come se si fosse usato il comando Azioni → Dimentica i nuovi pacchetti (f). Opzione:Aptitude::Get-Root-Command Predefinito:su:/bin/su Descrizione: Questa opzione imposta il comando esterno che aptitude usa per passare all'utente root (vedere sezione chiamata «Diventare root»). È nella forma protocollo:comando. protocollo deve essere uno tra su o sudo; determina come aptitude invoca il programma quando vuole acquisire i privilegi di root. Se protocollo è su, allora per diventare root viene usato «comando -c argomenti»; altrimenti, aptitude usa «comando argomenti». La prima parola in comando è il nome del programma che deve essere invocato; le parole restanti sono trattate come argomenti per quel programma. Opzione:Aptitude::Ignore-Old-Tmp Predefinito:false Descrizione: Le vecchie versioni di aptitude creavano una directory ~/.aptitude/.tmp che non è più necessaria. Se la directory esiste e Aptitude:: Ignore-Old-Tmp è true, aptitude chiede se rimuovere tale directory. Questa opzione viene automaticamente impostata a true dopo che si è risposto. Al contrario, se la directory non esiste, questa opzione viene impostata a false in modo da avvisare l'utente se ricompare. Opzione:Aptitude::Ignore-Recommends-Important Predefinito:false Descrizione: Nelle precedenti versioni di aptitude, l'impostazione Aptitude:: Recommends-Important faceva sì che i pacchetti raccomandati fossero installati automaticamente, così come ora fa Apt::Install-Recommends. Se questa opzione è impostata a false e anche Aptitude::Recommends-Important è impostata a false, aptitude all'avvio imposta Apt::Install-Recommends a false e imposta Aptitude:: Ignore-Recommends-Important a true. Opzione:Aptitude::Keep-Recommends Predefinito:false Descrizione: Questa è un'opzione obsoleta; usare invece Apt::AutoRemove:: RecommendsImportant. Impostare questa opzione a true ha lo stesso effetto di impostare Apt::AutoRemove::RecommendsImportant a true. Opzione:Aptitude::Keep-Suggests Predefinito:false Descrizione: Questa è un'opzione obsoleta; usare invece Apt::AutoRemove:: SuggestsImportant. Impostare questa opzione a true ha lo stesso effetto di impostare Apt::AutoRemove::SuggestsImportant a true. Opzione:Aptitude::Keep-Unused-Pattern Predefinito: Descrizione: Se Aptitude::Delete-Unused è true, vengono rimossi solamente i pacchetti inutilizzati che non corrispondono a questo modello (vedere sezione chiamata «Modelli di ricerca»). Se questa opzione è impostata ad una stringa vuota (valore predefinito), tutti i pacchetti inutilizzati vengono rimossi. Opzione:Aptitude::LockFile Predefinito:/var/lock/aptitude Descrizione: Un file di cui viene fatto il lock con fcntl per garantire che al massimo un solo processo aptitude per volta possa modificare la cache. In circostanze normali, non dovrebbe mai essere modificato; può essere utile per il debug. Nota: se aptitude si lamenta del fatto di non potere acquisire un lock, ciò non avviene perché il file di lock deve essere eliminato. I lock fcntl sono gestiti dal kernel e vengono distrutti una volta terminato il programma che li detiene; gli errori nell'acquisizione del lock indicano che un altro programma in esecuzione lo sta usando! Opzione:Aptitude::Log Predefinito:/var/log/aptitude Descrizione: Se questa viene impostata ad una stringa non vuota, aptitude registrerà le installazioni, rimozioni e aggiornamenti di pacchetti che effettua. Se il valore di Aptitude::Log inizia con un carattere di pipe (cioè «|»), il resto del suo valore viene usato come nome di un comando a cui passare il registro tramite una pipe: ad esempio, |mail -s 'Giro di installazioni di Aptitude' root farà sì che il registro venga spedito per posta elettronica a root. Per registrare su più file o comandi, si può impostare questa opzione ad un elenco di destinazioni per il registro. Opzione:Aptitude::Logging::File Predefinito: Descrizione: Se questa è impostata ad una stringa non vuota, aptitude scrive i messaggi di registro dove indicato dalla stringa; impostandola a «-» si fa in modo che i messaggi di registro vengano stampati sullo standard output. È diversa dall'impostazione Aptitude::Log: quel file è usato per registrare le installazioni e le rimozioni, mentre questo file è usato per registrare gli eventi, errori e messaggi di debug (se abilitati) del programma. Questa opzione è equivalente all'opzione --log-file per la riga di comando. Vedere anche Aptitude::Logging::Levels. Opzione:Aptitude::Logging::Levels Predefinito:(vuoto) Descrizione: Questa opzione è un gruppo i cui membri controllano quali messaggi di registro vengano scritti. Ogni voce è nella forma «livello», per impostare il livello di registrazione globale (il livello di registrazione del registratore principale) al livello specificato, oppure «categoria:livello», dove categoria è la categoria dei messaggi da modificare (come aptitude.resolver.hints.match) e livello è il livello di registrazione più basso da mostrare per i messaggi in tale categoria. I livelli di registrazione validi sono: «fatal», «error», «warn», «info», «debug» e «trace». Si può usare l'opzione --log-level della riga di comando per impostare o sovrascrivere qualsiasi livello di registrazione. Opzione:Aptitude::Parse-Description-Bullets Predefinito:true Descrizione: Se questa opzione è abilitata, aptitude cerca di rilevare automaticamente gli elenchi puntati nelle descrizioni dei pacchetti. Questo generalmente migliora il modo in cui le descrizioni vengono visualizzate, ma non è completamente compatibile all'indietro; alcune descrizioni potrebbero essere formattate in modo meno bello quando questa opzione è true rispetto a quando è false. Opzione:Aptitude::Pkg-Display-Limit Predefinito: Descrizione: Il filtro predefinito applicato all'elenco dei pacchetti; vedere sezione chiamata «Modelli di ricerca» per i dettagli su questo formato. Opzione:Aptitude::ProblemResolver::Allow-Break-Holds Predefinito:false Descrizione: Se questa opzione è impostata a true, il risolutore di problemi prende in considerazione l'infrazione dei blocchi sui pacchetti o l'installazione di versioni proibite per poter risolvere una dipendenza. Se è impostata a false, queste azioni saranno rifiutate in modo predefinito, sebbene le si possa sempre abilitare manualmente (vedere sezione chiamata «Risolvere le dipendenze in modo interattivo»). Opzione:Aptitude::ProblemResolver::BreakHoldScore Predefinito:-300 Descrizione: Quanto premiare o penalizzare le soluzioni che modificano lo stato di un pacchetto bloccato o installano una versione proibita. Notare che, a meno che Aptitude::ProblemResolver::Allow-Break-Holds non sia impostato a true, il risolutore non infrange mai un blocco o installa una versione proibita se non ha il permesso esplicito dell'utente. Opzione:Aptitude::ProblemResolver::Break-Hold-Level Predefinito:50000 Descrizione: Il costo di sicurezza assegnato alle azioni che infrangono un blocco impostato dall'utente (aggiornando un pacchetto bloccato o installando una versione proibita di un pacchetto). Per una descrizione dei costi di sicurezza, vedere sezione chiamata «Costi di sicurezza». Opzione:Aptitude::ProblemResolver::BrokenScore Predefinito:-100 Descrizione: Quanto premiare o penalizzare le soluzioni future sulla base del numero di dipendenze che rendono difettose. Per ogni dipendenza resa difettosa da una possibile soluzione, vengono aggiunti al suo punteggio questi punti; tipicamente dovrebbe essere un valore negativo. Opzione:Aptitude::ProblemResolver::DefaultResolutionScore Predefinito:400 Descrizione: Quanto premiare o penalizzare soluzioni future sulla base di quante risoluzioni «predefinite» per le dipendenze attualmente insoddisfatte installino. La risoluzione predefinita è quella che sceglierebbe «apt-get install» o il «risolutore immediato di dipendenze». Il punteggio viene applicato solo per le dipendenze e le raccomandazioni i cui pacchetti bersaglio non sono attualmente installati. Opzione:Aptitude::ProblemResolver::Discard-Null-Solution Predefinito:true Descrizione: Se questa opzione è true, aptitude non suggerisce mai la cancellazione di tutte le azioni proposte da un utente per poter risolvere un problema di dipendenze. Opzione:Aptitude::ProblemResolver::EssentialRemoveScore Predefinito:-100000 Descrizione: Quanto premiare o penalizzare le soluzioni che rimuovono un pacchetto Essenziale. Opzione:Aptitude::ProblemResolver::Remove-Essential-Level Predefinito:60000 Descrizione: Il costo di sicurezza assegnato alle azioni che rimuovono un pacchetto Essenziale. Per una descrizione dei costi di sicurezza, vedere sezione chiamata «Costi di sicurezza». Opzione:Aptitude::ProblemResolver::ExtraScore Predefinito:-1 Descrizione: Questi punti vengono aggiunti al punteggio di ogni versione di un pacchetto la cui Priorità è «extra». Opzione:Aptitude::ProblemResolver::FullReplacementScore Predefinito:500 Descrizione: Questo punteggio viene assegnato alla rimozione di un pacchetto e all'installazione di un altro pacchetto che lo sostituisce completamente (cioè va in conflitto con esso, lo sostituisce e lo fornisce). Opzione:Aptitude::ProblemResolver::FutureHorizon Predefinito:50 Descrizione: Quanti «passaggi» deve fare il risolutore prima di trovare la prima soluzione. Sebbene aptitude cerchi di generare le soluzioni migliori prima di quelle peggiori, a volte non è in grado di farlo; questa impostazione fa sì che il risolutore continui per un po' a cercare una soluzione migliore prima di visualizzare i suoi risultati, invece di fermarsi immediatamente dopo aver trovato la prima soluzione. Opzione:Aptitude::ProblemResolver::Hints Predefinito:(vuoto) Descrizione: Questa opzione è un gruppo i cui membri sono usati per configurare il risolutore dei problemi. Ogni voce nel gruppo è una stringa che descrive un'azione che dovrebbe essere applicata ad uno o più pacchetti. La sintassi per ciascun suggerimento e l'effetto che i suggerimenti hanno, sono descritti in sezione chiamata «Configurare i suggerimenti per il risolutore». Opzione:Aptitude::ProblemResolver::ImportantScore Predefinito:5 Descrizione: Questi punti vengono aggiunti al punteggio di ogni versione di un pacchetto la cui Priorità è «importante». Opzione:Aptitude::ProblemResolver::Infinity Predefinito:1000000 Descrizione: Un punteggio «massimo» per le soluzioni potenziali. Se un insieme di azioni ha un punteggio peggiore di -Infinity, viene immediatamente scartato. Opzione:Aptitude::ProblemResolver::InstallScore Predefinito:-20 Descrizione: Quanto peso debba dare il risolutore di problemi all'installazione di un pacchetto, se il pacchetto non era già segnato per l'installazione. Opzione:Aptitude::ProblemResolver::Keep-All-Level Predefinito:20000 Descrizione: Il costo di sicurezza assegnato alla soluzione che annulla tutte le azioni selezionate dall'utente. Per una descrizione dei costi di sicurezza, vedere sezione chiamata «Costi di sicurezza». Opzione:Aptitude::ProblemResolver::KeepScore Predefinito:0 Descrizione: Quanto peso debba dare il risolutore di problemi al mantenimento di un pacchetto nel suo stato attuale, se quel pacchetto non è già segnato per essere mantenuto al suo stato attuale. Opzione:Aptitude::ProblemResolver::NonDefaultScore Predefinito:-40 Descrizione: Quanto peso debba dare il risolutore di problemi all'installazione di una versione non predefinita di un pacchetto (una che non è quella attuale e nemmeno la «versione candidata»). Opzione:Aptitude::ProblemResolver::Non-Default-Level Predefinito:50000 Descrizione: Il costo di sicurezza assegnato alle azioni che installano versioni non predefinite di un pacchetto. Ad esempio, se è installata la versione 5 di un pacchetto e sono disponibili le versioni 6, 7 e 8, e la versione 7 è quella predefinita, allora alle versioni 6 e 8 viene assegnato un costo di sicurezza che è almeno pari a questo valore. Per una descrizione dei costi di sicurezza, vedere sezione chiamata «Costi di sicurezza». Opzione:Aptitude::ProblemResolver::OptionalScore Predefinito:1 Descrizione: Questi punti vengono aggiunti al punteggio di ogni versione di un pacchetto la cui Priorità è «opzionale». Opzione:Aptitude::ProblemResolver::PreserveAutoScore Predefinito:0 Descrizione: Quanto peso debba dare il risolutore di problemi al mantenimento delle installazioni o delle rimozioni automatiche. Opzione:Aptitude::ProblemResolver::PreserveManualScore Predefinito:60 Descrizione: Quanto peso debba dare il risolutore di problemi al mantenimento delle selezioni esplicite dell'utente. Opzione:Aptitude::ProblemResolver::RemoveScore Predefinito:-300 Descrizione: Quanto peso debba dare il risolutore di problemi alla rimozione di un pacchetto, se il pacchetto non è già segnato per la rimozione. Opzione:Aptitude::ProblemResolver::Remove-Level Predefinito:10000 Descrizione: Il costo di sicurezza assegnato alle azioni che rimuovono un pacchetto. Per una descrizione dei costi di sicurezza, vedere sezione chiamata «Costi di sicurezza». Opzione:Aptitude::ProblemResolver::RequiredScore Predefinito:4 Descrizione: Questi punti vengono aggiunti al punteggio di ogni versione di un pacchetto la cui Priorità è «richiesto». Opzione:Aptitude::ProblemResolver::ResolutionScore Predefinito:50 Descrizione: In aggiunta a tutti gli altri fattori di punteggio, le soluzioni proposte che realmente risolvono tutte le dipendenze non soddisfatte vengono premiate con questa quantità di punti aggiuntivi. Opzione:Aptitude::ProblemResolver::Safe-Level Predefinito:10000 Descrizione: Il costo di sicurezza assegnato alle azioni che installano la versione predefinita di un pacchetto, aggiornano un pacchetto alla sua versione predefinita o annullano l'installazione o l'aggiornamento di un pacchetto. Le soluzioni a cui viene assegnato questo costo potrebbero essere generate da aptitude safe-upgrade. Per una descrizione dei costi di sicurezza, vedere sezione chiamata «Costi di sicurezza». Opzione:Aptitude::ProblemResolver::SolutionCost Predefinito:safety,priority Descrizione: Descrive come determinare il costo di una soluzione. Vedere sezione chiamata «I costi nel risolutore interattivo di dipendenze» per una descrizione di cosa siano i costi delle soluzioni, cosa facciano e la sintassi usata per specificarli. Se il costo non può essere analizzato, viene generato un errore e viene usato invece il costo predefinito. Opzione:Aptitude::ProblemResolver::StandardScore Predefinito:3 Descrizione: Questi punti vengono aggiunti al punteggio di ogni versione di un pacchetto la cui Priorità è «standard». Opzione:Aptitude::ProblemResolver::StepLimit Predefinito:5000 Descrizione: Il numero massimo di «passaggi» che devono essere effettuati dal risolutore dei problemi ad ogni tentativo di trovare una soluzione ad un problema di dipendenze. Diminuire questo numero fa in modo che aptitude «rinunci» prima; aumentarlo permette alla ricerca di una soluzione di consumare molto più tempo e memoria prima di terminare. Impostando StepLimit a 0 si disabilita completamente il risolutore dei problemi. Il valore predefinito è abbastanza alto da fare fronte alle situazioni che si incontrano normalmente, evitando al contempo che aptitude «cresca a dismisura» se si verifica un problema estremamente complicato. (Nota: ciò è vero solo per le ricerche da riga di comando; nell'interfaccia visuale, il risolutore continua a lavorare fino a che non ha trovato una soluzione.) Opzione:Aptitude::ProblemResolver::StepScore Predefinito:70 Descrizione: Quanto premiare o penalizzare le soluzioni future sulla base della loro lunghezza. Per ciascuna azione effettuata da una soluzione, questa quantità di punti è aggiunta al suo punteggio. Più è alto questo valore e più il risolutore tende a rimanere fedele alla sua prima scelta, invece di considerare alternative; questo fa sì che produca una soluzione più velocemente, ma la soluzione potrebbe essere di una qualità leggermente inferiore di come sarebbe altrimenti. Opzione:Aptitude::ProblemResolver::Trace-Directory Predefinito: Descrizione: Se questo valore è impostato, allora ogni volta che il risolutore di problemi produce una soluzione, una versione ridotta dello stato del pacchetti sufficiente a riprodurre quella soluzione viene scritta nel file specificato. Se anche Aptitude::ProblemResolver::Trace-File è impostata, la stessa informazione viene anche scritta nel file trace. Le directory trace sono più trasparenti dei file trace e sono più adatte, ad esempio, per essere incluse in alberi di sorgenti e casi di test. Opzione:Aptitude::ProblemResolver::Trace-File Predefinito: Descrizione: Se questo valore è impostato, allora ogni volta che il risolutore di problemi produce una soluzione, una versione ridotta dello stato dei pacchetti sufficiente a riprodurre quella soluzione viene scritta nel file specificato. Se anche Aptitude::ProblemResolver::Trace-Directory è impostata, la stessa informazione viene anche scritta nella directory di trace. Un file trace è semplicemente un archivio compresso di una directory trace; occupa meno spazio della directory trace ed è adatto per la trasmissione via rete. Opzione:Aptitude::ProblemResolver::UndoFullReplacementScore Predefinito:-500 Descrizione: Questo punteggio viene assegnato alla installazione di un pacchetto e alla rimozione di un altro pacchetto che lo sostituisce completamente (cioè va in conflitto con esso, lo sostituisce e lo fornisce). Opzione:Aptitude::ProblemResolver::UnfixedSoftScore Predefinito:-200 Descrizione: Quanto premiare o penalizzare una relazione Raccomanda lasciata non soddisfatta. Questo valore dovrebbe tipicamente essere inferiore a RemoveScore, altrimenti aptitude tende a rimuovere pacchetti piuttosto che lasciare le loro Raccomandazioni irrisolte. Vedere sezione chiamata «Risolvere le dipendenze in modo interattivo» per i dettagli. Opzione:Aptitude::ProblemResolver::UpgradeScore Predefinito:0 Descrizione: Quanto peso deve dare il risolutore dei problemi all'aggiornamento (o alla retrocessione) di un pacchetto alla sua versione candidata, se il pacchetto non è già contrassegnato per l'aggiornamento. Opzione:Aptitude::Purge-Unused Predefinito:false Descrizione: Se questa opzione è true e anche Aptitude::Delete-Unused è true, allora i pacchetti che sono inutilizzati vengono eliminati dal sistema, rimuovendo i loro file di configurazione e forse altri dati importanti. Per maggior informazioni su quali pacchetti sono considerati «inutilizzati», vedere sezione chiamata «Gestire i pacchetti installati automaticamente». QUESTA OPZIONE PUÒ CAUSARE LA PERDITA DI DATI! NON ABILITARLA A MENO DI NON SAPERE ESATTAMENTE CIÒ CHE SI STA FACENDO! Opzione:Aptitude::Recommends-Important Predefinito:true Descrizione: Questa è un'opzione di configurazione obsoleta che è stata sorpassata da Apt::Install-Recommends. All'avvio, aptitude copia Aptitude:: Recommends-Important (se esiste) in Apt::Install-Recommends e poi pulisce Aptitude::Recommends-Important nel file di configurazione utente. Opzione:Aptitude::Safe-Resolver::No-New-Installs Predefinito:false Descrizione: Se questa opzione è true, allora quando il risolutore «sicuro» di dipendenze è stato attivato con --safe-resolver o usando l'azione da riga di comando safe-upgrade, il risolutore non ha il permesso di installare pacchetti che non lo sono già attualmente. Opzione:Aptitude::Safe-Resolver::No-New-Upgrades Predefinito:false Descrizione: Se questa opzione è abilitata, allora quando il risolutore «sicuro» di dipendenze è stato attivato con --safe-resolver o usando l'azione da riga di comando safe-upgrade, il risolutore non ha il permesso di risolvere le dipendenze aggiornando dei pacchetti. Opzione:Aptitude::Sections::Descriptions Predefinito:Vedere $prefix/share/aptitude/section-descriptions. Descrizione: Questa opzione è un gruppo i cui membri definiscono le descrizioni visualizzate per ogni sezione quando si usa la politica di raggruppamento «section» per la gerarchia dei pacchetti. Le descrizioni vengono assegnate agli alberi delle sezioni in base all'ultima parte del nome: per esempio, un membro di questo gruppo chiamato «games» viene usato per descrivere le Sezioni «games», «non-free/games» e «non-free/desktop/games». All'interno del testo delle descrizioni di sezione, la stringa «\n» viene sostituita da un'interruzione di riga e la stringa «''» da un carattere di virgolette doppie. Opzione:Aptitude::Sections::Top-Sections Predefinito:"main"; "contrib"; "non-free"; "non-US"; Descrizione: Un gruppo di configurazione i cui elementi sono i nomi delle sezioni di più alto livello nell'archivio. Le politiche di raggruppamento «topdir», «subdir» e «subdirs» usano questo elenco per interpretare i campi Section: se il primo elemento del percorso del campo Section di un pacchetto non è contenuto in questo elenco, o se il suo Section ha un solo elemento, allora il pacchetto viene inserito in un gruppo usando il primo membro di questo elenco come suo primo elemento di percorso. Ad esempio, se il primo membro di Top- Sections è «main», allora un pacchetto con campo Section «games/arcade» viene trattato come se il suo campo Section fosse «main/games/arcade». Opzione:Aptitude::Simulate Predefinito:false Descrizione: Nella modalità a riga di comando, fa sì che aptitude visualizzi solamente le azioni che effettuerebbe (invece di effettuarle realmente); nell'interfaccia visuale, fa sì che aptitude si avvii in modalità in sola lettura indipendentemente dal fatto di essere root o meno. È equivalente all'opzione da riga di comando -s. Opzione:Aptitude::Spin-Interval Predefinito:500 Descrizione: Il numero di millisecondi di ritardo tra gli aggiornamenti dell'«indicatore ruotante» che compare quando è in esecuzione il risolutore di problemi. Opzione:Aptitude::Suggests-Important Predefinito:false Descrizione: Questa è un'opzione obsoleta; usare invece Apt::AutoRemove:: SuggestsImportant. Impostare questa opzione a true ha lo stesso effetto di impostare Apt::AutoRemove::SuggestsImportant a true. Opzione:Aptitude::Suppress-Read-Only-Warning Predefinito:false Descrizione: Se questa opzione è false, aptitude visualizza un avvertimento la prima volta che si tenta di modificare lo stato dei pacchetti mentre aptitude è in modalità di sola lettura. Opzione:Aptitude::Theme Predefinito: Descrizione: Il tema che aptitude deve usare; per maggiori informazioni vedere sezione chiamata «Temi». Opzione:Aptitude::Track-Dselect-State Predefinito:true Descrizione: Se questa opzione è impostata a true, aptitude cerca di rilevare quando è stata fatta una modifica allo stato di un pacchetto usando dselect o dpkg: ad esempio, se si rimuove un pacchetto usando dpkg, aptitude non cerca di reinstallarlo. Notare che questo meccanismo potrebbe essere un po' difettoso. Opzione:Aptitude::UI::Advance-On-Action Predefinito:false Descrizione: Se questa opzione è impostata a true, la modifica dello stato di un pacchetto (ad esempio, il contrassegnarlo per l'installazione) fa sì che aptitude sposti la selezione al prossimo pacchetto nel gruppo attuale. Opzione:Aptitude::UI::Auto-Show-Reasons Predefinito:true Descrizione: Se questa opzione è impostata a true, se si seleziona un pacchetto che è difettoso o che sembra rendere difettosi altri pacchetti, fa sì che l'area delle informazioni mostri automaticamente alcune ragioni che possono essere alla base dei problemi. Opzione:Aptitude::UI::Default-Grouping Predefinito:filter(missing),status,section(subdirs,passthrough),section(topdir) Descrizione: Imposta la politica di raggruppamento predefinita usata per gli elenchi dei pacchetti. Per ulteriori informazioni sulle politiche di raggruppamento vedere sezione chiamata «Personalizzare la gerarchia dei pacchetti». Opzione:Aptitude::UI::Default-Package-View Predefinito: Descrizione: Questa opzione è un gruppo i cui membri definiscono la disposizione predefinita della visualizzazione di aptitude. Per maggiori informazioni vedere sezione chiamata «Personalizzare la disposizione della visualizzazione». Opzione:Aptitude::UI::Default-Preview-Grouping Predefinito:action Descrizione: Imposta la politica di raggruppamento predefinita usata per le schermate di anteprima. Per ulteriori informazioni sulle politiche di raggruppamento vedere sezione chiamata «Personalizzare la gerarchia dei pacchetti». Opzione:Aptitude::UI::Default-Sorting Predefinito:name Descrizione: La politica di ordinamento predefinita per le viste dei pacchetti. Per maggiori informazioni vedere sezione chiamata «Personalizzare l'ordinamento dei pacchetti». Opzione:Aptitude::UI::Description-Visible-By-Default Predefinito:true Descrizione: Quando un elenco di pacchetti viene visualizzato la prima volta, l'area delle informazioni (che normalmente contiene la descrizione lunga del pacchetto attuale) è visibile se questa opzione è true e nascosta se è false. Opzione:Aptitude::UI::Exit-On-Last-Close Predefinito:true Descrizione: Se questa opzione è true, la chiusura di tutte le viste attive fa uscire da aptitude; altrimenti, non si esce da aptitude fino a che non si usa il comando Azioni → Esci (Q). Per maggiori informazioni vedere sezione chiamata «Lavorare con più viste». Opzione:Aptitude::UI::Fill-Text Predefinito:false Descrizione: Se questa opzione è true, aptitude formatta le descrizioni in modo che ciascuna riga sia grande esattamente come la larghezza della schermata. Opzione:Aptitude::UI::Flat-View-As-First-View Predefinito:false Descrizione: Se questa opzione è true, aptitude visualizza un elenco unico all'avvio invece della vista predefinita. Opzione:Aptitude::UI::HelpBar Predefinito:true Descrizione: Se questa opzione è true, in cima alla schermata viene visualizzata una riga con informazioni sui tasti importanti. Opzione:Aptitude::UI::Incremental-Search Predefinito:true Descrizione: Se questa opzione è true, aptitude effettua ricerche «incrementali»: mentre si digita il modello di ricerca, cerca il prossimo pacchetto che corrisponde a ciò che è stato digitato fino a quel momento. Opzione:Aptitude::UI::InfoAreaTabs Predefinito:false Descrizione: Se questa opzione è true, aptitude visualizza schede in cima all'area delle informazioni (il riquadro in fondo alla schermata) che descrivono le diverse modalità a cui può essere impostata l'area. Opzione:Aptitude::UI::Keybindings Predefinito: Descrizione: Questo è un gruppo i cui membri definiscono i collegamenti tra i tasti e i comandi in aptitude. Per maggiori informazioni vedere sezione chiamata «Personalizzare le associazioni dei tasti». Opzione:Aptitude::UI::Menubar-Autohide Predefinito:false Descrizione: Se questa opzione è impostata a true, allora la barra dei menu viene nascosta quando non è in uso. Opzione:Aptitude::UI::Minibuf-Download-Bar Predefinito:false Descrizione: Se questa opzione è impostata a true, aptitude usa un meccanismo meno invasivo per visualizzare il progresso degli scaricamenti: compare una barra in fondo alla schermata che mostra l'attuale stato degli scaricamenti. Quando lo scaricamento è attivo, premendo q lo si termina. Opzione:Aptitude::UI::Minibuf-Prompts Predefinito:false Descrizione: Se questa opzione è true, alcuni prompt (come i prompt sì/no e quelli a scelta multipla) vengono visualizzati in fondo alla schermata invece che in riquadri di dialogo. Opzione:Aptitude::UI::New-Package-Commands Predefinito:true Descrizione: Se questa opzione è impostata a false, comandi come Pacchetto → Installa (+) hanno lo stesso comportamento deprecato che avevano nelle vecchie versioni di aptitude. Opzione:Aptitude::UI::Package-Display-Format Predefinito:%c%a%M %p %Z %v %V Descrizione: Questa opzione controlla la stringa di formato usata per visualizzare i pacchetti nell'elenco dei pacchetti. Per maggiori informazioni sulle stringhe di formato, vedere sezione chiamata «Personalizzare la visualizzazione dei pacchetti». Opzione:Aptitude::UI::Package-Header-Format Predefinito:%N %n #%B %u %o Descrizione: Questa opzione controlla la stringa di formato usata per visualizzare la riga di intestazione degli elenchi dei pacchetti (cioè la riga che compare tra l'elenco dei pacchetti e la barra dei menu). Per maggiori informazioni sulle stringhe di formato, vedere sezione chiamata «Personalizzare la visualizzazione dei pacchetti». Opzione:Aptitude::UI::Package-Status-Format Predefinito:%d Descrizione: Questa opzione controlla la stringa di formato usata per visualizzare la riga di stato degli elenchi dei pacchetti (cioè la riga che compare tra l'elenco dei pacchetti e l'area delle informazioni). Per maggiori informazioni sulle stringhe di formato, vedere sezione chiamata «Personalizzare la visualizzazione dei pacchetti». Opzione:Aptitude::UI::Pause-After-Download Predefinito:OnlyIfError Descrizione: Se questa opzione è true, aptitude mostra un messaggio una volta finito di scaricare i pacchetti in cui chiede se si desidera continuare con l'installazione. Se è impostata a OnlyIfError, un messaggio viene mostrato solamente se lo scaricamento fallisce. Altrimenti, se l'opzione è impostata a false, aptitude procede immediatamente alla prossima schermata dopo aver completato uno scaricamento. Opzione:Aptitude::UI::Preview-Limit Predefinito: Descrizione: Il filtro predefinito applicato alla schermata di anteprima; per i dettagli sul suo formato vedere sezione chiamata «Modelli di ricerca». Opzione:Aptitude::UI::Prompt-On-Exit Predefinito:true Descrizione: Se questa opzione è true, aptitude mostra un prompt di conferma prima della chiusura. Opzione:Aptitude::UI::Styles Predefinito: Descrizione: Questo è un gruppo di configurazione i cui elementi definiscono gli stili di testo che aptitude usa per visualizzare le informazioni. Per maggiori informazioni, vedere sezione chiamata «Personalizzare il colore e lo stile dei testi». Opzione:Aptitude::UI::ViewTabs Predefinito:true Descrizione: Se questa opzione è impostata a false, aptitude non mostra «schede» che descrivono le viste attualmente attive in cima alla schermata. Opzione:Aptitude::Warn-Not-Root Predefinito:true Descrizione: Se questa opzione è true, aptitude rileva quando sono necessari i privilegi di root per fare qualcosa e chiede se si desidera passare all'account root se non lo si è già. Per maggiori informazioni vedere sezione chiamata «Diventare root». Opzione:DebTags::Vocabulary Predefinito:/usr/share/debtags/vocabulary Descrizione: La posizione del file di vocabolario debtags che è usato per caricare i metadati delle etichette dei pacchetti. Opzione:Dir::Aptitude::state Predefinito:/var/lib/aptitude Descrizione: La directory in cui vengono memorizzate le informazioni persistenti sullo stato di aptitude. Opzione:Quiet Predefinito:0 Descrizione: Controlla la silenziosità della modalità a riga di comando. Più è impostata ad un valore alto e più disabilita gli indicatori di avanzamento. Temi In aptitude un tema è semplicemente una raccolta di impostazioni che «sono raggruppate». I temi funzionano sovrascrivendo i valori predefiniti delle opzioni: se un'opzione non è impostata nel file di configurazione di sistema o nel file di configurazione personale, aptitude usa l'impostazione dal tema attuale, se uno è disponibile, prima di usare il valore standard predefinito. Un tema è semplicemente un gruppo con nome in Aptitude::Themes; ogni opzione di configurazione contenuta nel gruppo sovrascrive l'opzione corrispondente nella configurazione globale. Per esempio, se il tema Dselect è selezionato, l'opzione Aptitude::Themes::Dselect::Aptitude::UI::Package-Display-Format sovrascrive il valore predefinito dell'opzione Aptitude::UI::Package-Display-Format. Per selezionare un tema, impostare l'opzione di configurazione Aptitude::Theme al nome del tema; ad esempio: Aptitude::Theme Vertical-Split; Con aptitude vengono forniti i seguenti temi in /usr/share/aptitude/aptitude- defaults. Dselect Questo tema fa sì che aptitude abbia l'aspetto e si comporti in modo simile al vecchio gestore dei pacchetti dselect: Actions Undo Package Search Options Views Help f10: Menu ?: Help q: Quit u: Update g: Download/Install/Remove Pkgs --\ Installed Packages --\ Priority required --\ base - The Debian base system c base base-file 3.0.16 3.0.16 Debian base system miscellaneous fil c base base-pass 3.5.7 3.5.7 Debian base system master password a c base bash 2.05b-15 2.05b-15 The GNU Bourne Again SHell c base bsdutils 1:2.12-7 1:2.12-7 Basic utilities from 4.4BSD- Lite c base coreutils 5.0.91-2 5.0.91-2 The GNU core utilities c base debianuti 2.8.3 2.8.3 Miscellaneous utilities specific to c base diff 2.8.1-6 2.8.1-6 File comparison utilities base-files installed ; none required This package contains the basic filesystem hierarchy of a Debian system, and several important miscellaneous files, such as /etc/debian_version, /etc/host.conf, /etc/issue, /etc/motd, /etc/profile, /etc/nsswitch.conf, and others, and the text of several common licenses in use on Debian systems. Vertical-Split Questo tema riorganizza la visualizzazione: la descrizione del pacchetto attuale invece di essere mostrata sotto all'elenco dei pacchetti, è mostrata alla sua destra. Questo tema è utile con terminali molto larghi forse anche quando si modifica la gerarchia dei pacchetti incorporata. Actions Undo Package Search Options Views Help f10: Menu ?: Help q: Quit u: Update g: Download/Install/Remove Pkgs aptitude 0.2.14.1 --\ Installed Packages Modern computers support the Advanced # --\ admin - Administrative utilities Configuration and Power Interface --\ main - The main Debian archive (ACPI) to allow intelligent power i acpid 1.0.3-19 1.0.3-19 management on your system and to query i alien 8.44 8.44 battery and configuration status. i anacron 2.3-9 2.3-9 i apt-show-vers 0.07 0.07 ACPID is a completely flexible, totally i A apt-utils 0.5.25 0.5.25 extensible daemon for delivering ACPI i apt-watch 0.3.2-2 0.3.2-2 events. It listens on a file i aptitude 0.2.14.1-2 0.2.14.1-2 (/proc/acpi/event) and when an event i at 3.1.8-11 3.1.8-11 occurs, executes programs to handle the i auto-apt 0.3.20 0.3.20 event. The programs it executes are i cron 3.0pl1-83 3.0pl1-83 configured through a set of i debconf 1.4.29 1.4.29 configuration files, which can be i debconf-i18n 1.4.29 1.4.29 dropped into place by packages or by i A debootstrap 0.2.39 0.2.39 the admin. i A deborphan 1.7.3 1.7.3 i debtags 0.16 0.16 In order to use this package you need a i A defoma 0.11.8 0.11.8 recent Kernel (=>2.4.7). This can be i discover 2.0.4-5 2.0.4-5 one including the patches on Utilities for using ACPI power management Giocare a Campo minato In caso ci si stufi di installare e rimuovere pacchetti, aptitude include una versione del classico gioco «Campo minato». Per avviarlo, selezionare Azioni → Gioca a campo minato; compare così il tabellone iniziale di Campo minato: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Campo minato Campo minato 10/10 mine 8 secondi +--------+ | | | | | | | | | | | | | | | | +--------+ All'interno del rettangolo che appare sullo schermo sono nascoste dieci mine. Lo scopo del gioco è determinare, usando l'intuizione, la logica e la fortuna, dove sono le mine senza farne scoppiare nessuna! Per farlo, è necessario scoprire tutte le caselle che non contengono mine; nel farlo si scoprono informazioni importanti sulle caselle che contengono le mine. Fare però attenzione: se si scopre una casella che contiene una mina, la si fa esplodere facendo finire il gioco immediatamente! Per scoprire una casella (e scoprire se nasconda una mina), selezionare la casella con i tasti freccia e premere Invio: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Campo minato Campo minato 10/10 mine 20 secondi +--------+ | | | 2122111| | 1......| | 2221...| | 1111| | | | | | | +--------+ Come si può vedere, alcune della parti nascoste (vuote) dell'area di gioco sono state scoperte in questa schermata. Le caselle contenenti un . sono caselle che non sono vicine ad alcuna mina; i numeri nelle altre caselle indicano a quante mine esse sono vicine. Se si pensa di sapere dove sia una mina, vi si può posizionare una «bandiera». Per farlo, selezionare la casella sospetta e premere f. Per esempio, nella schermata sottostante, si è deciso che la casella al centro del campo di gioco avesse un aspetto sospetto... Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Campo minato Campo minato 9/10 mine 33 secondi +--------+ | | | 2122111| | 1......| | 2221...| | F1111| | | | | | | +--------+ Come si può vedere, è comparsa una F nella casella selezionata. Non è più possibile scoprire questa casella, neanche per sbaglio, fino a che non sia rimossa la bandiera (premendo di nuovo f). Una volta posizionate le bandiere su tutte le mine che sono vicine ad una casella (per esempio le caselle contrassegnate da un 1 vicino alla bandiera descritta prima), si può «sminare» tutto intorno alla casella. Questa è solo una comoda scorciatoia per scoprire tutte le caselle intorno ad essa (tranne quelle che contengono una bandiera, ovviamente). Per esempio, sminando intorno alla casella 1 detta prima: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Campo minato Campo minato 9/10 mine 47 secondi +--------+ | | | 2122111| | 1......| | 2221...| | F1111| | 212 | | | | | +--------+ Per fortuna (ma è stata fortuna?), l'intuizione sulla posizione di quella mina era corretta. Se fosse stata sbagliata la partita sarebbe stata immediatamente persa: Azioni Annulla Pacchetto Risolutore Cerca Opzioni Viste Aiuto C-T: menu ?: Aiuto q: Esci u: Aggiorna g: Scarica/Installa/Rimuovi Pacchetti Campo minato Campo minato Perso in 56 secondi +--------+ |^11^^11^| |22122111| |^1......| |12221...| |.1^^1111| |.12212*2| |....13^2| |....1^21| +--------+ Quando si perde, vengono rivelate le posizioni di tutte le mine: le mine inesplose sono indicate da un simbolo di accento circonflesso (^) e quella che è stata «calpestata» è indicata da un asterisco (*). -------------------------------------------------------------------------------- [7]L'autore di questo documento è felice di poter dire che il numero di richieste di questo tipo è fortemente diminuito dopo la prima pubblicazione di questa Guida. Sarebbe una bella cosa se ci fosse una connessione tra i due eventi. [8]A volte ci si riferisce a questo come a un «giro di installazioni», anche se, oltre ad installarli, potrebbero essere aggiornati o rimossi pacchetti. [9]Come detto in precedenza, non indica che i pacchetti nell'archivio siano sicuri o persino non pericolosi; dimostra solamente che siano originali. [10] Più precisamente: vengono rimossi quando non c'è più alcun percorso di relazioni Dipende, Pre-dipende o Raccomanda che arrivi a loro partendo da un pacchetto installato manualmente. Se Apt::AutoRemove::SuggestsImportant è impostata a vero, anche una relazione Suggerisce è sufficiente a mantenere installato un pacchetto. [11]Oppure quando la risoluzione immediata è disabilitata. [12]Il pacchetto con la più alta priorità di dpkg, non quello con la più alta priorità di pin di apt. [13]Questo limite è stato imposto perché strutture di costo più complesse avrebbero potuto rendere difficile l'ottimizzazione del risolutore. Le versioni future del programma potrebbero eliminare alcune delle limitazioni se si rivelassero non necessarie. [14] aptitude tratta la virgola in modo speciale solamente se c'è un secondo argomento, perciò (ad esempio) «?name(apt,itude)» ricerca la stringa «apt,itude» nel campo Namedei pacchetti. Benché questo comportamento sia ben definito, può sorprendere; è raccomandato l'uso di stringhe racchiuse tra virgolette per qualsiasi modello che contenga caratteri che potrebbero avere un significato speciale. [15] I caratteri con un significato speciale includono: «+», «-», «.», «(», «)», «|», «[», «]», «^», «$» e «?». Notare che alcuni di questi sono anche metacaratteri per aptitude, perciò se si desidera (ad esempio) digitare una «|» in modo letterale, questa deve essere protetta due volte: «?description(\~|)» trova corrispondenza con i pacchetti la cui descrizione contiene un carattere di barra verticale («|»). [16] È possibile usare la barra inversa per annullare il significato speciale di un carattere anche in \\, \n e \t. [17] I lettori attenti avranno notato che questo è essenzialmente un modo per indicare esplicitamente la variabile nei λ-termini corrispondenti al termine. Un termine tipico ha la forma «λ x . name-equals(x, modello)»; fornirgli un bersaglio esplicito rende x visibile nel linguaggio di ricerca. [18] Questo è fornito principalmente per analogia con ?true. [19]Attualmente l'etichettatura non è gestita; questo codice verrà usato in futuro. [20] In alcuni terminali, uno sfondo «giallo» viene in realtà visualizzato come marrone. Capitolo 3. Domande fatte di frequente su aptitude   «Qual ... è il tuo nome?»   «Io sono Artù, Re dei Britanni.» «Qual ... è la tua missione?» «Io cerco il Santo Graal!» «Qual... è la velocità di crociera di una rondine?» «Beh, dipende. Una rondine africana o europea?» «Boh? Io... Io non lo s---AAAAAAAAAAAAHH!»   -- Monty Python e il Sacro Graal 3.1. Come è possibile trovare esattamente un pacchetto sapendone il nome? 3.2. Come trovare i pacchetti difettosi? 3.3. Si vuole selezionare del testo, perché aptitude non permette di disabilitare il mouse? 3.1. Come è possibile trovare esattamente un pacchetto sapendone il nome? Come detto in sezione chiamata «Modelli di ricerca», quando si cerca un pacchetto in base al nome, il testo che viene inserito è di fatto un'espressione regolare. Perciò il modello di ricerca «^nome$» trova corrispondenza solo con un pacchetto chiamato nome. Per esempio, si può trovare apt (ma non aptitude o synaptic) se si inserisce ^apt$; inserendo ^g\+\+$ si può trovare g++ (ma non g++-2.95 o g++-3.0). 3.2. Come trovare i pacchetti difettosi? Usare il comando Cerca → Trova difettosi (b). 3.3. Si vuole selezionare del testo, perché aptitude non permette di disabilitare il mouse? Normalmente, non si può selezionare del testo in un xterm quando un programma in esecuzione in quel terminale (come aptitude) sta usando il mouse. Tuttavia si può sovrascrivere questo comportamento e fare una selezione premendo il tasto Maiusc mentre si fa clic nel terminale. Capitolo 4. Riconoscimenti   Nessuno si ricorda il cantante. La canzone resta.     -- Terry Pratchett, The Last Hero Questa sezione ricorda alcune delle persone che hanno contribuito ad aptitude nel corso degli anni. IMG.alt.suffix Nota = \[Nota]] Questa sezione è per il momento piuttosto incompleta e verrà probabilmente aggiornata ed espansa con il tempo (in particolare mancano i ringraziamenti a molti traduttori a causa del grande numero di fonti delle traduzioni ( [21]). Se si pensa che il proprio nome dovrebbe essere presente in questo elenco, mandare un messaggio di posta elettronica a con una spiegazione del perché. Traduzioni e internazionalizzazione Traduzione in brasiliano Andre Luis Lopes, Gustavo Silva Traduzione in cinese Carlos Z.F. Liu Traduzione in ceco Miroslav Kure Traduzione in danese Morten Brix Pedersen, Morten Bo Johansen Traduzione in olandese Luk Claes Traduzione in finlandese Jaakko Kangasharju Traduzione in francese Martin Quinson, Jean-Luc Coulon Traduzione in tedesco Sebastian Schaffert, Erich Schubert, Sebastian Kapfer, Jens Seidel Traduzione in italiano Danilo Piazzalunga Traduzione in giapponese Yasuo Eto, Noritada Kobayashi Traduzione in lituano Darius Zitkevicius Traduzione in polacco Michal Politowski Traduzione in portoghese Nuno Sénica, Miguel Figueiredo Traduzione in norvegese Håvard Korsvoll Traduzione in spagnolo Jordi Malloch, Ruben Porras Traduzione in svedese Daniel Nylander Patch di i18n iniziale Masato Taruishi Triage e manutenzione dell'i18n Christian Perrier Documentazione Manuale dell'utente Daniel Burrows Programmazione Progettazione e implementazione del programma Daniel Burrows Supporto per il campo Breaks di dpkg Ian Jackson, Michael Vogt -------------------------------------------------------------------------------- [21] Dovrebbe essere possibile compilare un elenco piuttosto completo di chi ha contribuito all'internazionalizzazione (i18n) basandosi sul ChangeLog, i suoi riferimenti al sistema di tracciamento dei bug di Debian e alla cronologia delle revisioni di aptitude, ma per farlo sarebbe necessario un investimento in termini di tempo che attualmente non è possibile. Guida di riferimento per la riga di comando -------------------------------------------------------------------------------- Indice aptitude — interfaccia di alto livello per il gestore di pacchetti aptitude-create-state-bundle — crea un archivio con lo stato attuale di aptitude aptitude-run-state-bundle — spacchetta un archivio dello stato di aptitude e invoca il comando aptitude su di esso Nome aptitude — interfaccia di alto livello per il gestore di pacchetti Sinossi aptitude [opzioni...] { autoclean | clean | forget-new | keep-all | update } aptitude [opzioni...] { full-upgrade | safe-upgrade } [pacchetti...] aptitude [opzioni...] { build-dep | build-depends | changelog | download | forbid-version | hold | install | markauto | purge | reinstall | remove | show | unhold | unmarkauto | versions } pacchetti... aptitude extract-cache-subset directory-di-output pacchetti... aptitude [opzioni...] search modelli... aptitude [opzioni...] { add-user-tag | remove-user-tag } tag pacchetti... aptitude [opzioni...] { why | why-not } [modelli...] pacchetti aptitude [-S nomefile] [ --autoclean-on-startup | --clean-on-startup | -i | -u ] aptitude help Descrizione aptitude è un'interfaccia testuale al sistema di gestione dei pacchetti di Debian GNU/Linux. Permette all'utente di visualizzare l'elenco dei pacchetti e di effettuare operazioni di gestione quali l'installazione, l'aggiornamento o la rimozione dei pacchetti. È possibile compiere tali azioni da un'interfaccia visuale o dalla riga di comando. Azioni disponibili dalla riga di comando Il primo argomento che non inizia con un trattino («-») viene interpretato come un'azione che il programma deve compiere. Se nella riga di comando non viene specificata alcuna azione, aptitude si avvia in modalità visuale. Sono disponibili le seguenti azioni: install Installa uno o più pacchetti. I pacchetti devono essere elencati dopo il comando «install»; se un nome di pacchetto contiene un carattere tilde («~») o un punto interrogativo («?») viene interpretato come un modello di ricerca e viene quindi installato ogni pacchetto che corrisponde al modello (vedere la sezione «Modelli di ricerca» nel manuale di riferimento di aptitude). Per selezionare una specifica versione di un pacchetto, aggiungere «=versione» al nome del pacchetto: ad esempio, «aptitude install apt=0.3.1». Analogamente, per selezionare un pacchetto da un archivio specifico, aggiungere «/archivio» al nome del pacchetto: ad esempio, «aptitude install apt/experimental». Non è possibile specificare sia un archivio sia una versione per un pacchetto. Non tutti i pacchetti elencati nella riga di comando devono essere installati; si può dire ad aptitude di fare qualcosa di diverso con un pacchetto aggiungendo un «indicatore di azione» al nome del pacchetto. Per esempio, aptitude remove wesnoth+ non rimuove wesnoth ma lo installa. È possibile usare i seguenti indicatori di azione: pacchetto+ Installa pacchetto. pacchetto+M Installa pacchetto e lo marca immediatamente come automaticamente installato (notare che se nulla dipende da pacchetto, questo fa sì che venga immediatamente rimosso). pacchetto- Rimuove pacchetto. pacchetto_ Elimina pacchetto: lo rimuove insieme a tutti i file di dati e di configurazione associati ad esso. pacchetto= Blocca pacchetto: annulla ogni installazione, aggiornamento o rimozione attivi e impedisce che questo pacchetto venga aggiornato automaticamente in futuro. pacchetto: Mantiene pacchetto alla sua versione attuale: annulla ogni installazione, rimozione o aggiornamento. A differenza del «blocco» (descritto sopra) non impedisce aggiornamenti automatici in futuro. pacchetto&M Contrassegna pacchetto come installato automaticamente. pacchetto&m Contrassegna pacchetto come installato manualmente. Come caso particolare, «install» senza alcun argomento effettua tutte le azioni memorizzate/in sospeso. IMG.alt.suffix Nota = \[Nota]] Una volta inserito Y al prompt di conferma finale, il comando «install» modifica le informazioni memorizzate da aptitude sulle azioni da effettuare. Perciò, se si inserisce (ad esempio) il comando «aptitude install pippo pluto» e poi si interrompe l'installazione una volta che aptitude ha già avviato lo scaricamento e l'installazione dei pacchetti, è necessario eseguire «aptitude remove pippo pluto» per annullare quell'ordine. remove, purge, hold, unhold, keep, reinstall Questi comandi sono simili a «install», ma applicano l'azione indicata a tutti i pacchetti elencati nella riga di comando per i quali non è presente un altro indicatore d'azione. La differenza tra hold e keep è che hold fa sì che un pacchetto venga ignorato dai comandi safe-upgrade o full-upgrade futuri, mentre keep annulla semplicemente qualsiasi azione pianificata sul pacchetto. unhold permette l'aggiornamento del pacchetto da parte dei comandi safe-upgrade o full-upgrade futuri, senza alterarne in alcun modo lo stato. Per esempio, «aptitude remove '~ndeity'» rimuove tutti i pacchetti il cui nome contiene «deity». markauto, unmarkauto Segna i pacchetti come installati automaticamente o manualmente, rispettivamente. I pacchetti devono essere specificati esattamente nello stesso modo usato con il comando «install». Per esempio, «aptitude markauto '~slibs'» segna tutti i pacchetti nella sezione «libs» come installati automaticamente. Per maggiori informazioni sui pacchetti installati automaticamente, vedere la sezione «Gestire i pacchetti installati automaticamente» nel manuale di riferimento di aptitude. build-depends, build-dep Soddisfa le dipendenze di compilazione di un pacchetto. Ciascun nome di pacchetto può essere un pacchetto sorgente, nel qual caso vengono installate le dipendenze di compilazione di quel pacchetto; altrimenti, i pacchetti binari vengono identificati nello stesso modo usato dal comando «install» e vengono installate le dipendenze di compilazione dei pacchetti sorgente da cui sono stati compilati quei pacchetti binari. Se è presente il parametro per la riga di comando --arch-only, vengono seguite solo le dipendenze di compilazione dipendenti dall'architettura (cioè, nessuna Build-Depends-Indep o Build-Conflicts-Indep). forbid-version Impedisce che un pacchetto venga aggiornato ad una specifica versione; ciò fa sì che aptitude non aggiorni automaticamente a questa versione, ma permette gli aggiornamenti automatici alle versioni future. In modo predefinito aptitude seleziona la versione alla quale il pacchetto verrebbe normalmente aggiornato; si può specificare una selezione diversa aggiungendo «=versione» dopo il nome di pacchetto: per esempio, «aptitude forbid-version vim=1.2.3.broken-4». Questo comando è utile per evitare versioni difettose di pacchetti senza dover impostare e rimuovere blocchi manuali. Se si decide che dopo tutto si vuole comunque la versione proibita, «aptitude install pacchetto» rimuove la proibizione. update Aggiorna l'elenco dei pacchetti disponibili dalle sorgenti apt (è equivalente a «apt-get update»). safe-upgrade Aggiorna i pacchetti installati alla loro versione più recente. I pacchetti installati non vengono rimossi a meno che non siano inutilizzati (vedere la sezione «Gestire i pacchetti installati automaticamente» nel manuale di riferimento di aptitude). È possibile che pacchetti che non sono attualmente installati vengano installati per risolvere delle dipendenze, a meno che non venga usata nella riga di comando l'opzione -- no-new-installs. Se nella riga di comando non è elencato alcun pacchetto, aptitude cerca di aggiornare ogni pacchetto aggiornabile. Altrimenti, aptitude cerca di aggiornare solo i pacchetti specificati. I nomi di pacchetto specificati possono essere estesi con suffissi, in modo simile agli argomenti di aptitude install, perciò possono essere fornite istruzioni ulteriori ad aptitude; per esempio, aptitude safe-upgrade bash dash- cerca di aggiornare il pacchetto bash e di rimuovere il pacchetto dash. È a volte necessario rimuovere un pacchetto per poterne aggiornare un altro; questo comando non è in grado di aggiornare pacchetti in situazioni come questa. Usare il comando full-upgrade per aggiornare il maggior numero di pacchetti possibile. full-upgrade Aggiorna i pacchetti installati alla loro versione più recente, se necessario rimuovendo o installando pacchetti. Questo comando è meno conservativo di safe-upgrade e perciò è più probabile che effettui azioni non desiderate. Tuttavia è in grado di aggiornare pacchetti che safe- upgrade non può aggiornare. Se nella riga di comando non è elencato alcun pacchetto, aptitude cerca di aggiornare ogni pacchetto aggiornabile. Altrimenti, aptitude cerca di aggiornare solo i pacchetti specificati. I nomi di pacchetto specificati possono essere estesi con suffissi, in modo simile agli argomenti di aptitude install, perciò possono essere fornite istruzioni ulteriori ad aptitude; per esempio, aptitude full-upgrade bash dash- cerca di aggiornare il pacchetto bash e di rimuovere il pacchetto dash. IMG.alt.suffix = \[Nota]] Nota Questo comando in origine si chiamava dist- upgrade per ragioni storiche, e aptitude riconosce ancora dist-upgrade come un sinonimo di full-upgrade. keep-all Annulla tutte le azioni pianificate su tutti i pacchetti; ad ogni pacchetto il cui contrassegno di stato indica un'installazione, rimozione o aggiornamento viene cancellato tale contrassegno. forget-new Dimentica tutte le informazioni interne su quali pacchetti siano «nuovi» (è equivalente a premere «f» nella modalità visuale). search Cerca i pacchetti che corrispondono ad uno dei modelli specificati nella riga di comando. Vengono mostrati tutti i pacchetti che corrispondono ad uno qualsiasi dei modelli specificati; ad esempio «aptitude search '~N' edit» elenca tutti i pacchetti «nuovi» e tutti i pacchetti il cui nome contiene «edit». Per maggiori informazioni sui modelli di ricerca, vedere la sezione «Modelli di ricerca» nel manuale di riferimento di aptitude. IMG.alt.suffix Nota = \[Nota]] Nell'esempio precedente, «aptitude search '~N' edit» ha due argomenti dopo search e perciò ricerca due modelli: «~N» e «edit». Come descritto nella Guida di riferimento per i modelli di ricerca, un modello singolo composto di due sottomodelli separati da uno spazio (come «~N edit») trova corrispondenza solo se c'è corrispondenza con entrambi i modelli. Perciò, il comando «aptitude search '~N edit'» mostra solo i pacchetti «nuovi» il cui nome contiene «edit». A meno che non si usi l'opzione -F, l'output di aptitude search ha un aspetto simile a questo: ihA apt - interfaccia avanzata per dpkg pi apt-cacher - proxy con cache per file di pacchetto e so p apt-cacher-ng - server proxy con cache per repository soft p kraptor - classico gioco sparatutto a scorrimento Ogni risultato della ricerca è elencato su una riga distinta. Il primo carattere in ciascuna riga indica lo stato attuale del pacchetto: gli stati più comuni sono p che significa che nel sistema non c'è traccia dell'esistenza del pacchetto, c, che significa che il pacchetto è stato rimosso ma i suoi file di configurazione sono rimasti nel sistema, i che indica che il pacchetto è installato e v che significa che il pacchetto è virtuale. Il secondo carattere indica l'azione salvata (se ce n'è una; altrimenti viene visualizzato uno spazio bianco) da effettuare sul pacchetto; le azioni più comuni sono i che indica che il pacchetto verrà installato, d che indica che il pacchetto verrà rimosso e p che indica che verranno rimossi il pacchetto e i suoi file di configurazione. Se il terzo carattere è A il pacchetto è stato installato automaticamente. Per un elenco completo dei possibili indicatori di stato e di azione, vedere la sezione «Accedere alle informazioni sui pacchetti» nella guida di riferimento di aptitude. Per personalizzare l'output di search, vedere le opzioni -F e --sort per la riga di comando. show Mostra informazioni dettagliate su uno o più pacchetti elencati dopo il comando di ricerca. Se un nome di pacchetto contiene un carattere tilde («~») o un punto interrogativo («?») viene interpretato come un modello di ricerca e vengono quindi mostrati tutti i pacchetti che corrispondono (vedere la sezione «Modelli di ricerca» nel manuale di riferimento di aptitude. Se il livello di prolissità è uguale o maggiore a 1 (cioè nella riga di comando è presente almeno una volta -v), vengono mostrate le informazioni su tutte le versioni del pacchetto. Altrimenti, vengono mostrate le informazioni sulla «versione candidata» (la versione che verrebbe scaricata da «aptitude install». Si possono visualizzare informazioni su una versione diversa del pacchetto aggiungendo =versione al nome del pacchetto; si può visualizzare la versione da uno specifico archivio o rilascio aggiungendo in fondo al nome del pacchetto /archivio o /rilascio: per esempio, /unstable o /sid. Se è presente una di queste due aggiunte, allora viene mostrata solo la versione richiesta indipendentemente dal livello di prolissità. Se il livello di prolissità è uguale o maggiore a 1, vengono mostrati i campi relativi all'architettura del pacchetto, alla dimensione da compresso, al nome file e al md5sum. Se il livello di prolissità è uguale o maggiore di 2, la versione o le versioni selezionate vengono mostrate una volta per ciascun archivio in cui vengono trovate. versions Visualizza le versioni dei pacchetti elencati nella riga di comando. $ aptitude versions wesnoth p 1:1.4.5- 1 100 p 1:1.6.5-1 unstable 500 p 1:1.7.14-1 experimental 1 Ogni versione è elencata in una riga distinta. I tre caratteri a sinistra indicano lo stato attuale, lo stato pianificato (se c'è) e se il pacchetto è stato installato automaticamente; per maggiori informazioni sul loro significato, vedere la documentazione di aptitude search. Alla destra del numero di versione si possono trovare i rilasci da cui è disponibile la versione e la priorità di pin della versione. Se un nome di pacchetto contiene un carattere tilde («~») o un punto interrogativo («?») viene trattato come un modello di ricerca e vengono visualizzate tutte le versioni che corrispondono (vedere la sezione «Modelli di ricerca» nel manuale di riferimento di aptitude). Ciò significa che, ad esempio, aptitude versions '~i' mostra tutte le versioni che sono attualmente installate sul sistema e nient'altro, nemmeno altre versioni degli stessi pacchetti. $ aptitude versions '~nexim4-daemon-light' Package exim4-daemon-light: i 4.71- 3 100 p 4.71-4 unstable 500 Package exim4-daemon-light-dbg: p 4.71-4 unstable 500 Se l'input è un modello di ricerca o se devono essere visualizzate le versioni di più di un pacchetto, aptitude raggruppa automaticamente l'output per pacchetto, come mostrato sopra. Questo comportamento può essere disabilitato usando --group-by=none, nel qual caso aptitude mostra un unico elenco di tutte le versioni trovate e include automaticamente il nome di pacchetto in ogni riga di output: $ aptitude versions --group-by=none '~nexim4-daemon-light' i exim4-daemon-light 4.71- 3 100 p exim4-daemon-light 4.71-4 unstable 500 p exim4-daemon-light-dbg 4.71-4 unstable 500 Per disabilitare la visualizzazione del nome del pacchetto usare l'opzione --show-package-names=never: $ aptitude versions --show-package-names=never --group-by=none '~nexim4- daemon-light' i 4.71- 3 100 p 4.71-4 unstable 500 p 4.71-4 unstable 500 In aggiunta alle opzioni descritte sopra, le informazioni stampate per ciascuna versione possono essere controllate dall'opzione -F della riga di comando. L'ordine in cui sono visualizzate le versioni può essere controllato dall'opzione --sort per la riga di comando. Per evitare che aptitude formatti l'output in colonne, usare --disable-columns. add-user-tag, remove-user-tag Aggiunge o rimuove un'etichetta utente dal gruppo di pacchetti selezionato. Se un nome di pacchetto contiene un carattere tilde («~») o un punto interrogativo («?») viene trattato come un modello di ricerca e l'etichetta viene rimossa o aggiunta da tutti i pacchetti che corrispondono al modello (vedere la sezione «Modelli di ricerca» nel manuale di riferimento di aptitude). Le etichette utente sono stringhe arbitrarie associate con un pacchetto. Possono essere usate con il termine di ricerca ?user-tag(etichetta), che seleziona tutti i pacchetti che hanno un'etichetta utente che corrisponde a etichetta. why, why-not Spiega le ragioni per cui un particolare pacchetto dovrebbe essere o non può essere installato sul sistema. Questo comando cerca i pacchetti che richiedono o vanno in conflitto con il pacchetto specificato. Visualizza una sequenza di dipendenze che arriva al pacchetto obiettivo, insieme con una nota che indica lo stato di installazione di ciascun pacchetto nella catena di dipendenze: aptitude why file-roller i wmppp.app Consiglia wmaker p wmaker Consiglia desktop-base p desktop-base Consiglia gnome | kde-standard | xfce4 | wmaker p gnome Dipende file-roller (>= 3.0) Il comando why trova una catena di dipendenze che installa il pacchetto specificato nella riga di comando, come nell'esempio sopra. Notare che la dipendenza che aptitude ha prodotto in questo caso è solo un suggerimento. Ciò è dovuto al fatto che nessun pacchetto attualmente installato sul computer dipende o raccomanda il pacchetto file-roller; se fosse disponibile una dipendenza più forte, aptitude l'avrebbe mostrata. Al contrario, why-not trova una catena di dipendenze che porta ad un conflitto con il pacchetto obiettivo: aptitude why-not python-deb822 i reportbug Dipende python-reportbug (= 6.3.1) i A python-reportbug Dipende python-debian i A python-debian Va in conflitto python-deb822 Se sono presenti uno o più modelli, allora aptitude inizia la sua ricerca da questi modelli; cioè il primo pacchetto nella catena visualizzata è un pacchetto che corrisponde al modello in questione. I modelli vengono trattati come nomi di pacchetti a meno che non contengano un carattere tilde («~») o un punto interrogativo («?»), nel qual caso vengono trattati come modelli di ricerca (vedere la sezione «Modelli di ricerca» nel manuale di riferimento di aptitude). Se non è presente alcun modello, allora aptitude cerca catene di dipendenze che iniziano dai pacchetti installati manualmente. Questo mostra effettivamente i pacchetti che hanno causato o causerebbero l'installazione di un pacchetto. IMG.alt.suffix Nota = \[Nota]] aptitude why non effettua la completa risoluzione delle dipendenze; mostra solamente le relazioni dirette tra i pacchetti. Per esempio, se A richiede B, C richiede D, e B e C sono in conflitto, «aptitude why-not D» non produce la risposta «A dipende da B, B va in conflitto con C, e D dipende da C». In modo predefinito aptitude produce in output solo la catena di dipendenze «più installata, forte, stringente e corta.» Cioè cerca una catena che contenga solo pacchetti che sono installati o che verranno installati; con questa limitazione cerca le dipendenze più forti possibili; cerca catene che evitino dipendenze e relazioni Fornisce che contengano OR; cerca poi la catena di dipendenza più corta che soddisfi questi criteri. Queste regole vengono progressivamente rese meno stringenti fino a che non viene trovata una corrispondenza. Se il livello di prolissità è uguale o superiore ad 1, allora vengono mostrate tutte le spiegazioni che aptitude riesce a trovare, in ordine inverso per importanza. Se il livello di prolissità è uguale a superiore a 2, allora viene mostrata sullo standard output una quantità di informazioni di debug veramente eccessiva. Questo comando restituisce 0 se ha successo, 1 se non può essere creata alcuna spiegazione e -1 in caso di errore. clean Rimuove tutti i file .deb precedentemente scaricati dalla directory della cache dei pacchetti (solitamente /var/cache/apt/archives). autoclean Rimuove dalla cache tutti i pacchetti che non si possono più scaricare. In tal modo è possibile evitare che una cache cresca in maniera incontrollata con il passare del tempo senza doverla svuotare completamente. changelog Scarica e visualizza il changelog Debian per ciascuno dei pacchetti sorgente o binari specificati. In modo predefinito viene scaricato il changelog per la versione che verrebbe installata da «aptitude install». Si può selezionare una specifica versione di un pacchetto aggiungendo =versione dopo il nome di pacchetto; si può selezionare la versione da uno specifico archivio o rilascio aggiungendo /archivio o /rilascio dopo il nome di pacchetto (ad esempio, /unstable o /sid). download Scarica nella directory attuale il file .deb per il pacchetto specificato. Se un nome di pacchetto contiene un carattere tilde («~») o un punto interrogativo («?») viene interpretato come un modello di ricerca e vengono quindi scaricati tutti i pacchetti che corrispondono (vedere la sezione «Modelli di ricerca» nel manuale di riferimento di aptitude. In modo predefinito viene scaricata la versione che verrebbe installata da «aptitude install». Si può selezionare una specifica versione di un pacchetto aggiungendo =versione dopo il nome di pacchetto; si può selezionare la versione da uno specifico archivio o rilascio aggiungendo / archivio o /rilascio dopo il nome di pacchetto (ad esempio, /unstable o / sid). extract-cache-subset Copia la directory di configurazione di apt (/etc/apt) e un sottoinsieme del database dei pacchetti nella directory specificata. Se non viene elencato alcun pacchetto, viene copiato l'intero database dei pacchetti; altrimenti vengono copiate solo le voci che corrispondono ai pacchetti specificati. Ogni nome di pacchetto può essere un modello di ricerca e in quel caso vengono selezionati tutti i pacchetti che corrispondono a quel modello (vedere la sezione «Modelli di ricerca» nel manuale di riferimento di aptitude). Ogni file di database di pacchetti nella directory di output viene sovrascritto. Le dipendenze nelle corrispondenti sezioni dei pacchetti binari vengono riscritte per rimuovere i riferimenti ai pacchetti non compresi nell'insieme selezionato. help Visualizza un breve riassunto dei comandi e delle opzioni disponibili. Opzioni Per modificare il comportamento delle azioni spiegate in precedenza possono essere usate le seguenti opzioni. Notare che, benché tutte le opzioni vengano accettate per tutti i comandi, alcuni opzioni non si applicano ad alcuni comandi e vengono ignorate da tali comandi. --add-user-tag etichetta Per full-upgrade, safe-upgrade, forbid-version, hold, install, keep-all, markauto, unmarkauto, purge, reinstall, remove, unhold e unmarkauto: aggiunge l'etichetta utente etichetta a tutti i pacchetti che vengono installati, rimossi o aggiornati dal comando, come se si fosse usato il comando add-user-tag. --add-user-tag-to etichetta,modello Per full-upgrade, safe-upgrade forbid-version, hold, install, keep-all, markauto, unmarkauto, purge, reinstall, remove, unhold e unmarkauto: aggiunge l'etichetta utente etichetta a tutti i pacchetti che corrispondono al modello come se si fosse usato il comando add-user-tag. Il modello è un modello di ricerca, così come descritto nella sezione «Modelli di ricerca» nel manuale di riferimento di aptitude. As esempio, aptitude safe-upgrade --add-user-tag-to "new-installs,?action (install)" aggiunge l'etichetta new-installs a tutti i pacchetti installati dal comando safe-upgrade. --allow-new-upgrades Quando viene usato il risolutore sicuro (cioè se è stata usata l'opzione - -safe-resolver, l'azione è safe-upgrade o Aptitude::Always-Use-Safe- Resolver è impostata a true), permette al risolutore di dipendenze di installare aggiornamenti per i pacchetti indipendentemente dal valore di Aptitude::Safe-Resolver::No-New-Upgrades. --allow-new-installs Permette al comando safe-upgrade di installare nuovi pacchetti; quando viene usato il risolutore sicuro (cioè se è stata usata l'opzione --safe- resolver, l'azione è safe-upgrade o Aptitude::Always-Use-Safe-Resolver è impostata a true), permette al risolutore di dipendenze di installare nuovi pacchetti. Questa opzione ha effetto indipendentemente dal valore di Aptitude::Safe-Resolver::No-New-Installs. --allow-untrusted Installa i pacchetti da fonti non fidate, senza chiedere conferma. Questa opzione andrebbe usata solo se si ha ben chiaro quel che si sta facendo, dato che potrebbe facilmente compromettere la sicurezza del sistema. --disable-columns This option causes aptitude search and aptitude versions to output their results without any special formatting. In particular: normally aptitude will add whitespace or truncate search results in an attempt to fit its results into vertical «columns». With this flag, each line will be formed by replacing any format escapes in the format string with the corresponding text; column widths will be ignored. Per esempio, le prime righe di output di «aptitude search -F '%p %V' -- disable-columns moon» potrebbero essere: gkrellmoon 0.6-5 moon-buggy 1.0.51-9 moon-buggy-esd 1.0.51-9 moon-lander 1:1.0-4.1 moon-lander-data 1:1.0-4.1 pd-moonlib 0.2-2 Come in questo esempio, --disable-columns è spesso utile in combinazione con un formato di visualizzazione personalizzato, impostato usando l'opzione per la riga di comando -F. Questo corrisponde all'opzione di configurazione Aptitude::CmdLine:: Disable-Columns. -D, --show-deps Per i comandi che installano o rimuovono pacchetti (install, full-upgrade, ecc.), mostra delle brevi spiegazioni delle installazioni e rimozioni automatiche. Corrisponde all'opzione di configurazione Aptitude::CmdLine::Show-Deps. -d, --download-only Scarica i pacchetti nella cache dei pacchetti, a seconda delle necessità, ma non installa o rimuove nulla. In modo predefinito, la cache dei pacchetti è memorizzata in /var/cache/apt/archives. Corrisponde all'opzione di configurazione Aptitude::CmdLine::Download- Only. -F formato, --display-format formato Specify the format which should be used to display output from the search and versions commands. For instance, passing «%p %V %v» for format will display a package's name, followed by its currently installed version and its available version (see the section «Customizing how packages are displayed» in the aptitude reference manual for more information). L'opzione da riga di comando --disable-columns è spesso utile in combinazione con -F. Per search, corrisponde all'opzione di configurazione Aptitude::CmdLine:: Package-Display-Format; per versions, corrisponde all'opzione di configurazione Aptitude::CmdLine::Version-Display-Format. -f Cerca in modo molto determinato di risolvere le dipendenze dei pacchetti difettosi, anche se ciò significa ignorare le azioni richieste nella riga di comando. Corrisponde alla voce di configurazione Aptitude::CmdLine::Fix-Broken. --full-resolver Quando si verificano problemi di dipendenze dei pacchetti, usa il risolutore «completo» predefinito per risolverli. A differenza del risolutore «sicuro» attivato da --safe-resolver, il risolutore completo rimuove tranquillamente pacchetti per risolvere le dipendenze. Può risolvere più situazioni rispetto all'algoritmo sicuro, ma è più probabile che le sue soluzioni non siano ciò che si desidera. Questa opzione può essere utilizzata per forzare l'uso del risolutore completo anche quando Aptitude::Always-Use-Safe-Resolver è impostata a vero. Il comando safe-upgrade non usa mai il risolutore completo e non accetta l'opzione --full-resolver. --group-by modalità-di-raggruppamento Controlla il modo in cui viene raggruppato l'output di versions. Sono riconosciuti i seguenti valori: * archive per raggruppare i pacchetti in base all'archivio in cui sono contenuti («stable», «unstable», ecc.). Se un pacchetto è presente in diversi archivi, viene mostrato in ciascuno di essi. * auto per raggruppare le versioni in base al loro pacchetto, a meno che non ci sia esattamente un solo argomento che non è un modello di ricerca. * none per visualizzare tutte le versioni in un unico elenco senza alcun raggruppamento. * package per raggruppare le versioni in base al loro pacchetto. * source-package per raggruppare le versioni in base al loro pacchetto sorgente. * source-version per raggruppare le versioni in base al loro pacchetto sorgente e alla sua versione. Corrisponde all'opzione di configurazione Aptitude::CmdLine::Versions- Group-By. -h, --help Visualizza un breve messaggio di aiuto. Identica all'azione help. --log-file=file Se file è una stringa non vuota, i messaggi di registro verrano scritti in tale file, a meno che file non sia «-» nel qual caso sono invece scritti sullo standard output. Se questa opzione è usata più volte, ha effetto quella che appare per ultima. Non ha effetto sul registro delle installazioni che aptitude ha effettuato (/var/log/aptitude); i messaggi di registro scritti usando questa configurazione includono eventi interni del programma, errori e messaggi di debug. Vedere l'opzione da riga di comando --log-level per un controllo maggiore su cosa venga registrato. Corrisponde all'opzione di configurazione Aptitude::Logging::File. --log-level=livello, --log-level=categoria:livello --log-level=livello fa sì che aptitude registri solo i messaggi il cui livello è uguale o superiore a livello. Per esempio, se si imposta il livello di registrazione a error vengono visualizzati solo i messaggi ai livelli error e fatal; tutti gli altri vengono nascosti. I livelli di registrazione validi (in ordine discendente) sono: off, fatal, error, warn, info, debug e trace. Il livello predefinito di registrazione è warn. --log-level=categoria:livello fa sì che i messaggi nella categoria siano registrati solo se il loro livello è uguale o superiore a livello. --log-level può essere presente più volte nella riga di comando; l'impostazione che ha effetto è quella più specifica, perciò se si usa -- log-level=aptitude.resolver:fatal e --log- level=aptitude.resolver.hints.match:trace, allora i messaggi in aptitude.resolver.hints.parse vengono visualizzati solo se il loro livello è fatal, ma vengono visualizzati tutti i messaggi in aptitude.resolver.hints.match. Se si imposta il livello della stessa categoria due volte o più, l'ultima impostazione è quella che viene usata. Non ha effetto sul registro delle installazioni che aptitude ha effettuato (/var/log/aptitude); i messaggi di registro scritti usando questa configurazione includono eventi interni del programma, errori e messaggi di debug. Vedere l'opzione da riga di comando --log-level per cambiare la destinazione dei messaggi di registro. Corrisponde al gruppo di configurazione Aptitude::Logging::Levels. --log-resolver Imposta alcuni livelli di registrazione standard relativi al risolutore, per produrre un output di registro adatto per l'elaborazione con strumenti automatici. È equivalente alle opzioni --log- level=aptitude.resolver.search:trace --log- level=aptitude.resolver.search.tiers:info per la riga di comando. --no-new-installs Impedisce che safe-upgrade installi nuovi pacchetti; quando viene usato il risolutore sicuro (cioè se è stata usata l'opzione --safe-resolver o Aptitude::Always-Use-Safe-Resolver è impostata a true), impedisce al risolutore di dipendenze di installare nuovi pacchetti. Questa opzione ha effetto indipendentemente dal valore di Aptitude::Safe-Resolver::No-New- Installs. Imita il comportamento che storicamente aveva apt-get upgrade. --no-new-upgrades Quando viene usato il risolutore sicuro (cioè se è usata l'opzione --safe- resolver o Aptitude::Always-Use-Safe-Resolver è impostata a true), impedisce al risolutore di dipendenze di installare aggiornamenti per i pacchetti indipendentemente dal valore di Aptitude::Safe-Resolver::No-New- Upgrades. --no-show-resolver-actions Non mostra le azioni effettuate dal risolutore «sicuro», ignorando qualsiasi opzione di configurazione o --show-resolver-actions precedente. -O ordine, --sort ordine Specifica l'ordine in cui deve essere visualizzato l'output dei comandi search e versions. Per esempio, se si usa «installsize» come ordine, i pacchetti vengono elencati in ordine della loro dimensione una volta installati (per maggiori informazioni vedere la sezione «Personalizzare l'ordinamento dei pacchetti» nel manuale di riferimento di aptitude). Il criterio di ordinamento predefinito è name,version. -o chiave=valore Imposta direttamente un'opzione del file di configurazione; per esempio, si può usare -o Aptitude::Log=/tmp/mio-log per registrare le azioni di aptitude in /tmp/mio-log. Per maggiori informazioni sulle opzioni del file di configurazione, vedere la sezione «Guida di riferimento del file di configurazione» nel manuale di riferimento di aptitude. -P, --prompt Visualizza sempre una richiesta di conferma prima di scaricare, installare o rimuovere pacchetti, anche quando le uniche azioni effettuate sono quelle esplicitamente richieste dall'utente. Corrisponde all'opzione di configurazione Aptitude::CmdLine::Always- Prompt. --purge-unused Se Aptitude::Delete-Unused è impostata a «true» (il suo valore predefinito), allora i pacchetti che non sono più richiesti da alcun pacchetto installato oltre a venire rimossi, vengono anche eliminati da aptitude che rimuove i loro file di configurazione e forse altri dati importanti. Per maggiori informazioni su quali pacchetti siano considerati «inutilizzati», vedere la sezione «Gestire i pacchetti installati automaticamente» nel manuale di riferimento di aptitude. QUESTA OPZIONE PUÒ CAUSARE LA PERDITA DI DATI! NON USARLA A MENO DI NON SAPERE ESATTAMENTE CIÒ CHE SI STA FACENDO! Corrisponde all'opzione di configurazione Aptitude::Purge-Unused. -q[=n], --quiet[=n] Elimina tutti gli indicatori incrementali di avanzamento, rendendo perciò l'output registrabile. Può essere usata più volte per rendere il programma più silenzioso ma, a differenza di apt-get, aptitude non abilita -y quando -q viene usato più di una volta. L'indicazione =n opzionale può essere usata per impostare direttamente il valore di silenziosità (per esempio, per scavalcare un'impostazione in / etc/apt/apt.conf); fa sì che il programma si comporti come se fosse stato usato -q esattamente n volte. -R, --without-recommends Non tratta le raccomandazioni come se fossero dipendenze quando installa nuovi pacchetti (questa impostazione sovrascrive quelle in /etc/apt/ apt.conf e ~/.aptitude/config). I pacchetti già installati a causa di raccomandazioni non vengono rimossi. Corrisponde alla coppia di opzioni di configurazione Apt::Install- Recommends e Apt::AutoRemove::InstallRecommends. -r, --with-recommends Tratta le raccomandazioni come dipendenze quando installa nuovi pacchetti (questa configurazione sovrascrive quelle in /etc/apt/apt.conf e ~/.aptitude/config). Corrisponde all'opzione di configurazione Apt::Install-Recommends. --remove-user-tag etichetta Per full-upgrade, safe-upgrade forbid-version, hold, install, keep-all, markauto, unmarkauto, purge, reinstall, remove, unhold e unmarkauto: rimuove l'etichetta utente etichetta da tutti i pacchetti che sono installati, rimossi o aggiornati da questo comando, come se si fosse usato il comando add-user-tag. --remove-user-tag-from etichetta,modello Per full-upgrade, safe-upgrade forbid-version, hold, install, keep-all, markauto, unmarkauto, purge, reinstall, remove, unhold e unmarkauto: rimuove l'etichetta utente etichetta da tutti i pacchetti che corrispondono a modello come se si fosse usato il comando remove-user-tag. Il modello è un modello di ricerca, così come descritto nella sezione «Modelli di ricerca» nel manuale di riferimento di aptitude. Per esempio, aptitude safe-upgrade --remove-user-tag-from "not- upgraded,?action(upgrade)" rimuove l'etichetta not-upgraded da tutti i pacchetti che il comando safe-upgrade è in grado di aggiornare. -s, --simulate Nella modalità a riga di comando, stampa le azioni che verrebbero normalmente effettuate, ma non le effettua veramente. Non richiede i privilegi di root. Nell'interfaccia visuale, apre sempre la cache in modalità in sola lettura indipendentemente dal fatto di essere root o meno. Corrisponde all'opzione di configurazione Aptitude::Simulate. --safe-resolver Quando si verificano problemi di dipendenze dei pacchetti, usa un algoritmo «sicuro» per risolverli. Questo risolutore cerca di preservare il maggior numero possibile delle scelte dell'utente; non rimuove mai un pacchetto e non installa mai una versione di un pacchetto che non sia la versione candidata predefinita. È lo stesso algoritmo usato in safe- upgrade; di fatti, aptitude --safe-resolver full-upgrade è equivalente a aptitude safe-upgrade. Dato che safe-upgrade usa sempre il risolutore sicuro, non accetta l'opzione --safe-resolver. Questa opzione equivale a impostare la variabile di configurazione Aptitude::Always-Use-Safe-Resolver a true. --schedule-only Per i comandi che modificano lo stato dei pacchetti, pianifica le operazioni da effettuare in futuro, ma non le effettua. Si possono eseguire le azioni in attesa eseguendo aptitude install senza argomenti. È equivalente a fare le selezioni corrispondenti nella modalità visuale e poi uscire dal programma normalmente. Per esempio, aptitude --schedule-only install evolution pianifica l'installazione del pacchetto evolution per un momento successivo. --show-package-names quando Controlla quando il comando versions mostri il nome dei pacchetti. Sono permesse le seguenti impostazioni: * always: visualizza i nomi dei pacchetti ogni volta che viene eseguito aptitude versions. * auto: visualizza i nomi dei pacchetti quando viene eseguito aptitude versions se l'output non è raggruppato per pacchetto e, o c'è un argomento di corrispondenza ad un modello o c'è più di un argomento. * never: non visualizza mai i nomi dei pacchetti nell'output di aptitude versions. Questa opzione corrisponde alla voce di configurazione Aptitude::CmdLine:: Versions-Show-Package-Names. --show-resolver-actions Visualizza le azioni effettuate dal risolutore «sicuro» e da safe-upgrade. Quando si esegue il comando safe-upgrade o quando è presente l'opzione -- safe-resolver, aptitude visualizza un riassunto delle azioni effettuate dal risolutore, prima di visualizzare l'anteprima di installazione. È equivalente all'opzione di configurazione Aptitude::Safe-Resolver::Show- Resolver-Actions. --show-summary[=MODO] Cambia il comportamento di «aptitude why» in modo che riassuma ogni catena di dipendenze che produce in output, invece di visualizzarla in forma lunga. Se è presente questa opzione e MODO non è «no-summary», le catene che contengono dipendenze di tipo Suggerisce non vengono visualizzate: combinare --show-summary con -v per vedere un riassunto delle ragioni per installare il pacchetto in oggetto. MODO può essere uno dei seguenti: 1. no-summary: non mostra un riassunto (il comportamento predefinito se non è presente --show-summary). 2. first-package: visualizza il primo pacchetto in ciascuna catena. Questo è il valore predefinito di MODO se non è specificato. 3. first-package-and-type: visualizza il primo pacchetto in ciascuna catena, insieme alla forza della dipendenza più debole nella catena. 4. all-packages: visualizza brevemente ogni catena di dipendenze che porta al pacchetto in oggetto. 5. all-packages-with-dep-versions: visualizza brevemente ogni catena di dipendenze che porta al pacchetto in oggetto, includendo la versione in oggetto di ciascuna dipendenza. Questa opzione corrisponde alla voce di configurazione Aptitude::CmdLine:: Show-Summary; se nella riga di comando è presente --show-summary, questo scavalca Aptitude::CmdLine::Show-Summary. Esempio 10. Uso di --show-summary --show-summary usato con -v per visualizzare tutte le ragioni per cui un pacchetto è installato. $ aptitude -v --show-summary why po-debconf Packages requiring po-debconf: debhelper debiandoc-sgml docbook-utils xserver-xorg $ aptitude -v --show-summary=first-package-and-type why po-debconf Packages requiring po-debconf: [Dipende] debhelper [Dipende] debiandoc-sgml [Dipende] docbook-utils [Dipende] xserver-xorg $ aptitude -v --show-summary=all-packages why po-debconf Packages requiring po-debconf: debiandoc-sgml R: texlive-latex-extra D: texlive-binaries R: texlive- base D: po-debconf xserver-xorg D: xorg-driver-video F<- xorg-driver-video R: device3dfx- source R: kernel-package D: po-debconf debhelper D: po-debconf docbook-utils D: jadetex D: texlive-latex-base D: texlive-base D: po- debconf $ aptitude -v --show-summary=all-packages-with-dep-versions why po-debconf Packages requiring po-debconf: debiandoc-sgml R: texlive-latex-extra D: texlive-binaries (>= 2009-1) R: texlive-base D: po-debconf xserver-xorg D: xorg-driver-video F<- xorg-driver-video R: device3dfx- source R: kernel-package D: po-debconf debhelper D: po-debconf docbook-utils D: jadetex D: texlive-latex-base D: texlive-base (>= 2009- 1) D: po-debconf --show-summary usato per elencare una catena in un'unica riga: $ aptitude --show-summary=all-packages why consolekit libglib2.0-data Packages requiring libglib2.0-data: consolekit D: libglib2.0-0 R: libglib2.0-data -t rilascio, --target-release rilascio Imposta il rilascio da cui devono essere installati i pacchetti. Per esempio, «aptitude -t experimental ...» installa i pacchetti dalla distribuzione experimental a meno di non specificare altrimenti. Per le azioni da riga di comando «changelog», «download» e «show», è equivalente ad aggiungere /rilascio dopo il nome di ciascun pacchetto indicato nella riga di comando; per altri comandi, questo ha effetto sulla versione candidata predefinita dei pacchetti in base alle regole descritte in apt_preferences(5). Corrisponde alla voce di configurazione APT::Default-Release. -V, --show-versions Mostra quali versioni dei pacchetti verranno installate. Corrisponde all'opzione di configurazione Aptitude::CmdLine::Show- Versions. -v, --verbose Fa sì che alcuni comandi (ad esempio, show) mostrino informazioni aggiuntive. Può essere specificato più volte per ottenere una quantità sempre maggiore di informazioni. Corrisponde all'opzione di configurazione Aptitude::CmdLine::Verbose. --version Mostra la versione di aptitude e alcune informazioni sul modo in cui è stata compilata. --visual-preview Quando si installano o rimuovono pacchetti dalla riga di comando, invece di mostrare il prompt usuale, avvia l'interfaccia visuale e mostra la sua schermata d'anteprima. -W, --show-why Nell'anteprima mostrata prima che i pacchetti vengano installati o rimossi, per ogni pacchetto installato automaticamente mostra quale pacchetto installato manualmente li richieda. Per esempio: $ aptitude --show-why install lilypond I seguenti pacchetti NUOVI (NEW) saranno installati: guile-1.8{a} (for lilypond) lilypond lilypond-data{a} (for lilypond) lilypond-doc{a} (for lilypond) Quando usato insieme a -v o ad un valore diverso da zero per Aptitude:: CmdLine::Verbose, mostra l'intera catena di dipendenze che porta all'installazione di ciascun pacchetto. Ad esempio: $ aptitude -v --show-why install libdb4.2-dev I seguenti pacchetti NUOVI (NEW) saranno installati: libdb4.2{a} (libdb4.2-dev D: libdb4.2) libdb4.2-dev I seguenti pacchetti saranno RIMOSSI: libdb4.4-dev{a} (libdb4.2-dev C: libdb-dev P<- libdb-dev) Questa opzione descrive anche perché i pacchetti vengano rimossi, come nell'esempio precedente. In questo esempio, libdb4.2-dev va in conflitto con libdb-dev, che è fornito da libdb-dev. Questa opzione corrisponde all'opzione di configurazione Aptitude:: CmdLine::Show-Why e mostra le stesse informazioni che sono elaborate da aptitude why e aptitude why-not. -w larghezza, --width larghezza Specifica la larghezza da usare per visualizzare l'output del comando search (la larghezza del terminale viene usata come valore predefinito). Corrisponde all'opzione di configurazione Aptitude::CmdLine::Package- Display-Width. -y, --assume-yes Ogni volta che dovrebbe essere mostrata una domanda "sì/no", suppone che la risposta inserita dall'utente sia "«sì». In particolare elimina la domanda di conferma che appare quando si installano, rimuovono o aggiornano pacchetti. Le domande di conferma per azioni «pericolose», come la rimozione di pacchetti essenziali, vengono mostrate comunque. Questa opzione ha la precedenza su -P. Corrisponde all'opzione di configurazione Aptitude::CmdLine::Assume-Yes. -Z Mostra quanto spazio verrebbe occupato, o liberato, dall'installazione, aggiornamento o rimozione di ciascun pacchetto. Corrisponde all'opzione di configurazione Aptitude::CmdLine::Show-Size- Changes. Le opzioni che seguono hanno effetto sulla modalità visuale del programma, ma sono pensate principalmente per un uso interno; generalmente non c'è motivo di utilizzarle. --autoclean-on-startup Cancella i vecchi pacchetti scaricati all'avvio del programma (equivalente all'avviare il programma e selezionare immediatamente Azioni → Cancella i file vecchi). Non è permesso usare questa opzione insieme a «--autoclean- on-startup», «-i» o «-u». --clean-on-startup Pulisce la cache dei pacchetti all'avvio del programma (equivalente all'avviare il programma e selezionare immediatamente Azioni → Pulisci la cache dei pacchetti). Non è permesso usare questa opzione insieme a «-- autoclean-on-startup», «-i» o «-u». -i Mostra un'anteprima degli scaricamenti all'avvio del programma (equivalente all'avviare il programma e premere immediatamente «g»). Non è permesso usare questa opzione insieme a «--autoclean-on-startup», «-- clean-on-startup» o «-u». -S nomefile Carica le informazioni sullo stato esteso da nomefile invece che dal file di stato standard. -u Inizia l'aggiornamento dell'elenco dei pacchetti non appena il programma viene avviato. Non è possibile usare questa opzione insieme a «-- autoclean-on-startup», «--clean-on-startup» o «-i». Ambiente HOME Se esiste la directory $HOME/.aptitude, aptitude salva il suo file di configurazione come $HOME/.aptitude/config. Altrimenti cerca la directory home dell'utente attuale usando getpwuid(2) e mette lì il suo file di configurazione. PAGER Se questa variabile d'ambiente è impostata, aptitude la usa per mostrare i changelog quando viene usato il comando «aptitude changelog». Se non è impostata, viene usato il valore predefinito more. TMP Se TMPDIR non è impostata, aptitude memorizza i suoi file temporanei in TMP, ammesso che tale variabile sia impostata. Altrimenti li memorizza in /tmp. TMPDIR aptitude memorizza i suoi file temporanei nella directory indicata da questa variabile d'ambiente. Se TMPDIR non è impostata, allora viene usata TMP; se anche TMP non è impostata, allora aptitude usa /tmp. File /var/lib/aptitude/pkgstates Il file in cui sono memorizzati gli stati dei pacchetti ed alcuni contrassegni dei pacchetti. /etc/apt/apt.conf, /etc/apt/apt.conf.d/*, ~/.aptitude/config I file di configurazione di aptitude. ~/.aptitude/config ha la precedenza su /etc/apt/apt.conf. Per la documentazione sul formato e il contenuto di questi file vedere apt.conf(5). Vedere anche apt-get(8), apt(8), /usr/share/doc/aptitude/html/lingua/index.html dal pacchetto aptitude-doc-lingua -------------------------------------------------------------------------------- Nome aptitude-create-state-bundle — crea un archivio con lo stato attuale di aptitude Sinossi aptitude-create-state-bundle [opzioni...] file-di-output Descrizione aptitude-create-state-bundle produce un archivio compresso in cui sono contenuti i file necessari per replicare lo stato attuale dell'archivio dei pacchetti. Nell'archivio sono contenuti i seguenti file e directory: * $HOME/.aptitude * /var/lib/aptitude * /var/lib/apt * /var/cache/apt/*.bin * /etc/apt * /var/lib/dpkg/status L'output di questo programma può essere usato come argomento per aptitude-run- state-bundle(1). Opzioni --force-bzip2 Ha la precedenza sulla rilevazione automatica di quale algoritmo di compressione utilizzare. In modo predefinito aptitude-create-state-bundle usa bzip2(1), se questo è disponibile, e gzip(1) in caso contrario. Se si specifica questa opzione si forza l'uso di bzip2 anche se questo non sembra essere disponibile. --force-gzip Ha la precedenza sulla rilevazione automatica di quale algoritmo di compressione utilizzare. In modo predefinito aptitude-create-state-bundle usa bzip2(1), se questo è disponibile, e gzip(1) in caso contrario. Se si specifica questa opzione si forza l'uso di gzip anche se è disponibile bzip2. --help Stampa un breve messaggio sull'uso del comando ed esce. --print-inputs Invece di creare un archivio, visualizza un elenco dei file e delle directory che verrebbero incluse se ne venisse generato uno. Formato del file Il file archivio è semplicemente un file tar(1) compresso con bzip2(1) o gzip (1), con ciascun albero di directory di input che ha radice in «.». Vedere anche aptitude-run-state-bundle(1), aptitude(8), apt(8) -------------------------------------------------------------------------------- Nome aptitude-run-state-bundle — spacchetta un archivio dello stato di aptitude e invoca il comando aptitude su di esso Sinossi aptitude-run-state-bundle [opzioni...] file-di-input [ programma [argomenti...]] Descrizione aptitude-run-state-bundle spacchetta l'archivio dello stato di aptitude specificato, creato con aptitude-create-state-bundle(1), in una directory temporanea, invoca programma su di esso con gli argomenti specificati e rimuove successivamente la directory temporanea. Se programma non è specificato, viene usato il valore predefinito aptitude(8). Opzioni Nella riga di comando possono essere usate le seguenti opzioni prima del file di input. Le opzioni che seguono il file di input sono considerate come argomenti di aptitude. --append-args Mette le opzioni che indicano la posizione dell'archivio dello stato alla fine della riga di comando usata per invocare programma, invece che all'inizio (il comportamento predefinito è quello di mettere le opzioni all'inizio). --help Visualizza un breve riassunto dell'uso. --prepend-args Mette le opzioni che indicano la posizione dell'archivio dello stato all'inizio della riga di comando usata per invocare programma, ignorando qualsiasi opzione --append-args precedente (il comportamento predefinito è quello di mettere le opzioni all'inizio). --no-clean Non rimuove la directory in cui viene spacchettato lo stato dopo aver eseguito aptitude. Si può volere usare questa opzione se, ad esempio, si sta facendo il debug di un problema che sembra verificarsi quando viene modificato il file di stato di aptitude. Quando l'esecuzione di aptitude è terminata, viene mostrato il nome della directory di stato in modo da potervi accedere in futuro. Questa opzione viene automaticamente abilitata da --statedir. --really-clean Elimina la directory di stato dopo l'esecuzione di aptitude, anche se è stato specificato --no-clean o --statedir. --statedir Invece di trattare il file di input come un archivio di stato, lo tratta come un archivio di stato spacchettato. Può essere usata, per esempio, per accedere alla directory di stato che è stata creata in un'esecuzione precedente con --no-clean. --unpack Spacchetta il file di input in una directory temporanea, ma non esegue veramente aptitude. Vedere anche aptitude-create-state-bundle(1), aptitude(8), apt(8)