File: a236.html

package info (click to toggle)
appunti-informatica-libera 2001.08.18-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 27,912 kB
  • ctags: 23,734
  • sloc: makefile: 69
file content (761 lines) | stat: -rw-r--r-- 52,536 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"    "http://www.w3.org/TR/html4/strict.dtd">
<HTML LANG="it">
<HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html">
    <META NAME="Generator" CONTENT="Alml">
    <META NAME="Description" CONTENT="GNU/Linux e altro software libero">
    <META NAME="Keywords" CONTENT="Linux, GNU/Linux, Unix, software, software libero, free software">
    <META NAME="Author" CONTENT="Daniele Giacomini &nbsp;&nbsp; &nbsp;daniele&nbsp;@&nbsp;swlibero.org">
    <META NAME="Date" CONTENT="2001.08.18 ">
    <META NAME="Resource-type" LANG="en" CONTENT="Document" >
    <META NAME="Revisit-after" LANG="en" CONTENT="15 days" >
    <META NAME="Robots" CONTENT="ALL" >
    <TITLE> Appunti di informatica libera</TITLE>
    <LINK REL="stylesheet" TYPE="text/css" HREF="a2.css">
    <LINK REL="Start" TITLE="Start" HREF="a2.html">
    <LINK REL="Prev" TITLE="Previous" HREF="a235.html">
    <LINK REL="Next" TITLE="Next" HREF="a237.html">
</HEAD>
<BODY>
<P>
<A HREF="a237.html">[successivo]</A>
<A HREF="a235.html">[precedente]</A>
<A HREF="a2.html">[inizio]</A>
<A HREF="a2506.html">[fine]</A>
<A HREF="a21.html">[indice generale]</A>
<A HREF="a26.html">[violazione GPL]</A>
<A HREF="a2504.html">[licenze]</A>
<A HREF="a2505.html">[indice analitico]</A>
<A HREF="a29.html">[tomo]</A>
<A HREF="a229.html">[parte]</A>
</P>
<HR>
<DIV>
<H1>Capitolo 22. &nbsp; <A NAME="title409"></A><A NAME="anchor490"></A> Pacchetti <A NAME="index1986"></A>Debian: <A NAME="index1987"></A>APT <A NAME="index1988"></A> <A NAME="index1989"></A> <A NAME="index1990"></A> </H1>

<P><A NAME="index1991"></A>APT <SUP><A HREF="#footnote1" NAME="footnote-ref1">(1)</A></SUP> &egrave; un sistema di gestione dei pacchetti <A NAME="index1992"></A>Debian pi&ugrave; evoluto di <A NAME="index1993"></A>DSelect, per il quale sono disponibili diversi <A NAME="index1994"></A>programmi frontali.</P>

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

<TABLE BORDER="3" WIDTH="100%">
<TR><TD>

<P>Quando si utilizzano programmi interattivi che sfruttano la console, se si dispone soltanto di uno schermo monocromatico occorre ricordarsi di intervenire sulla variabile di ambiente <SAMP>TERM</SAMP>, in modo che questa contenga un nome di un terminale monocromatico (potrebbe trattarsi del nome <SAMP>linux-m</SAMP>, basta verificare nella directory <CODE>/usr/share/terminfo/l/</CODE>), altrimenti pu&ograve; essere faticoso interpretare o leggere le informazioni.</P>

</TD></TR>
</TABLE>

<H2>22.1 &nbsp; <A NAME="title410"></A><A NAME="anchor491"></A>
 Configurazione generale <A NAME="index1995"></A> <A NAME="index1996"></A> </H2>

<P>Come gi&agrave; accennato, i file di configurazione pi&ugrave; importanti del sistema <A NAME="index1997"></A>APT sono <CODE>/etc/apt/apt.conf</CODE> e <CODE>/etc/apt/sources.list</CODE>. Per entrambi questi file vengono ignorate le righe bianche e quelle vuote, mentre cambia il modo di rappresentare i commenti: per <CODE>/etc/apt/sources.list</CODE> si rappresentano precedendoli con il simbolo <SAMP>#</SAMP>, mentre <CODE>/etc/apt/apt.conf</CODE> ignora quanto contenuto tra <SAMP>/*</SAMP> e <SAMP>*/</SAMP>, oppure quanto preceduto da <SAMP>//</SAMP>.</P>

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

<P class="syntax"><TT><VAR>gruppo</VAR>::<VAR>sottogruppo</VAR>::<VAR>opzione</VAR><VAR>valore_assegnato</VAR>;
</TT></P>

<P>In pratica, il valore che si assegna alla direttiva complessiva pu&ograve; essere una stringa delimitata da apici doppi, oppure senza delimitazione se questo non &egrave; necessario.</P>

<P>Per evitare di dover riscrivere ogni volta il gruppo e il sottogruppo di un insieme di direttive, si pu&ograve; usare una notazione alternativa:</P>

<P class="syntax"><TT><VAR>gruppo</VAR>{
<BR>
<VAR>sottogruppo</VAR>{
<BR>
<VAR>opzione</VAR><VAR>valore_assegnato</VAR>;
<BR>
<VAR>opzione</VAR><VAR>valore_assegnato</VAR>;
<BR>
...
<BR>
}
<BR>
<VAR>sottogruppo</VAR>{
<BR>
<VAR>opzione</VAR><VAR>valore_assegnato</VAR>;
<BR>
<VAR>opzione</VAR><VAR>valore_assegnato</VAR>;
<BR>
...
<BR>
}
<BR>
...
<BR>
}
</TT></P>

<P>La classificazione in gruppi e sottogruppi serve a definire il contesto a cui riferire le opzioni, permettendo uno sviluppo indipendente della configurazione da parte dei programmi che compongono il sistema <A NAME="index1998"></A>APT.</P>

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

<P>Il file <CODE>/etc/apt/sources.list</CODE> serve a definire come raggiungere i pacchetti della distribuzione. Si distinguono due situazioni: pacchetti <A NAME="index2000"></A>Debian binari e pacchetti <A NAME="index2001"></A>Debian sorgenti.</P>

<P class="syntax"><TT>deb<VAR>uri</VAR><VAR>percorso_distribuzione</VAR><STRONG><BIG>[</BIG></STRONG><VAR>componente</VAR><STRONG><BIG>]</BIG></STRONG>...
</TT></P>

<P class="syntax"><TT>deb-src<VAR>uri</VAR><VAR>percorso_distribuzione</VAR><STRONG><BIG>[</BIG></STRONG><VAR>componente</VAR><STRONG><BIG>]</BIG></STRONG>...
</TT></P>

<P>A seconda che si tratti di pacchetti binari o sorgenti, la direttiva inizier&agrave; con la parola chiave <SAMP>deb</SAMP> oppure <SAMP>deb-src</SAMP>.</P>

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

<PRE><VAR>uri</VAR>/<VAR>percorso_distribuzione</VAR>/<VAR>componente_1</VAR>
<VAR>uri</VAR>/<VAR>percorso_distribuzione</VAR>/<VAR>componente_2</VAR>
<VAR>uri</VAR>/<VAR>percorso_distribuzione</VAR>/<VAR>componente_3</VAR>
...</PRE>

<P>Per esempio, se la distribuzione &egrave; raggiungibile presso <CODE>http://http.it.debian.org/debian/stable/</CODE>, che poi si articola nelle directory <CODE>main/</CODE>, <CODE>contrib/</CODE> e <CODE>non-free/</CODE>, la direttiva potr&agrave; essere espressa nel modo seguente:</P>

<PRE>deb http://http.it.debian.org/debian stable main contrib non-free</PRE>

<P>Nello stesso modo, se ci&ograve; pu&ograve; risultare pi&ugrave; chiaro, si potevano utilizzare tre direttive come nell'esempio seguente, avendo cura di indicare il punto finale che rappresenta la directory corrente:</P>

<PRE>deb http://http.it.debian.org/debian stable/main        .
deb http://http.it.debian.org/debian stable/contrib     .
deb http://http.it.debian.org/debian stable/non-free    .</PRE>

<P>Nell'ambito dei percorsi che si indicano in queste direttive, si pu&ograve; usare la stringa <SAMP>$(ARCH)</SAMP>, che viene rimpiazzata con la sigla della propria architettura.</P>

<P>Gli URI possono essere indicati in diversi modi, che vengono elencati nel seguito.</P>

<UL>

<LI>

<P class="syntax"><TT>file:<VAR>percorso_assoluto</VAR><STRONG><BIG>|</BIG></STRONG>file://<VAR>percorso_assoluto</VAR>
</TT></P>

<P>Permette di fare riferimento a una distribuzione accessibile nell'ambito del <A NAME="index2002"></A>file&nbsp;system. Il percorso assoluto inizia con la barra obliqua, per cui si avranno URI del tipo <SAMP>file:/uno/due</SAMP>, oppure <SAMP>file:///uno/due</SAMP> indifferentemente.</P>
</LI>

<LI>

<P class="syntax"><TT>copy:<VAR>percorso_assoluto</VAR><STRONG><BIG>|</BIG></STRONG>copy://<VAR>percorso_assoluto</VAR>
</TT></P>

<P>Si tratta di una variante del tipo <SAMP>file</SAMP>, in cui si prevede di copiare i file nella memoria di transito, costituita normalmente dalla directory <CODE>/var/cache/apt/archives/</CODE>. Alcuni programmi come <A NAME="index2003"></A>Deity e <A NAME="index2004"></A>Aptitude potrebbero avere difficolt&agrave; ad accedere a un URI del tipo <SAMP>file</SAMP>, preferendo invece questa seconda alternativa.</P>
</LI>

<LI>

<P class="syntax"><TT>http://<VAR>host</VAR><STRONG><BIG>[</BIG></STRONG>:<VAR>porta</VAR><STRONG><BIG>]</BIG></STRONG><STRONG><BIG>[</BIG></STRONG>/<VAR>percorso</VAR><STRONG><BIG>]</BIG></STRONG>
</TT></P>

<P class="syntax"><TT>ftp://<VAR>host</VAR><STRONG><BIG>[</BIG></STRONG>:<VAR>porta</VAR><STRONG><BIG>]</BIG></STRONG><STRONG><BIG>[</BIG></STRONG>/<VAR>percorso</VAR><STRONG><BIG>]</BIG></STRONG>
</TT></P>

<P>Si tratta di un accesso a un servizio HTTP o FTP.</P>
</LI>
</UL>

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

<H2>22.2 &nbsp; <A NAME="title411"></A><A NAME="anchor492"></A>
 <A NAME="index2005"></A>Deity <A NAME="index2006"></A> <A NAME="index2007"></A> <A NAME="index2008"></A> </H2>

<P><A NAME="index2009"></A>Deity, <SUP><A HREF="#footnote2" NAME="footnote-ref2">(2)</A></SUP> ovvero <A NAME="index2010"></A>Console&nbsp;APT, ovvero <A NAME="index2011"></A>Capt, &egrave; un <A NAME="index2012"></A>programma frontale per console della serie che riguarda <A NAME="index2013"></A>APT. Si compone in pratica dell'eseguibile <SAMP>deity</SAMP> (oppure <SAMP>capt</SAMP> o anche <SAMP>console-apt</SAMP>), che pu&ograve; funzionare in modo interattivo e anche non interattivo, attraverso l'uso di opzioni della riga di comando.</P>

<TABLE BORDER="3" WIDTH="100%">
<TR><TD>

<P>Nel caso si intenda accedere agli archivi <A NAME="index2014"></A>Debian collocati nel <A NAME="index2015"></A>file&nbsp;system, &egrave; probabile sia necessario utilizzare la direttiva <SAMP>copy:...</SAMP> nel file <CODE>/etc/apt/sources.list</CODE>, mentre la direttiva <SAMP>file:...</SAMP> potrebbe creare dei problemi a causa dell'indicazione del percorso dei file.</P>

</TD></TR>
</TABLE>

<P>&Egrave; disponibile una scheda riassuntiva dell'uso di <A NAME="index2016"></A>Deity nel capitolo <A HREF="a2463.html#anchor6452">362</A>.</P>

<H3>22.2.1 &nbsp; <A NAME="title412"></A><A NAME="anchor493"></A>
 Uso non interattivo </H3>

<P class="syntax"><TT>deity<STRONG><BIG>[</BIG></STRONG><VAR>opzione</VAR><STRONG><BIG>[</BIG></STRONG><VAR>nome_pacchetto</VAR><STRONG><BIG>]</BIG></STRONG>...<STRONG><BIG>]</BIG></STRONG>...
</TT></P>

<P>Quando si avvia l'eseguibile <SAMP>deity</SAMP> con degli argomenti, questo esegue gli ordini e termina di funzionare, senza avviare l'interfaccia interattiva; diventa interattivo solo se ci sono dei problemi di dipendenze, per cui pu&ograve; chiedere l'intervento dell'utente. Il modello sintattico mostra l'indicazione di un'opzione alla quale pu&ograve; seguire un elenco di nomi di pacchetti <A NAME="index2017"></A>Debian, che pu&ograve; essere seguita da altre opzioni. In questo modo si pu&ograve; indicare una sequenza di operazioni differente, ognuna delle quali pu&ograve; prevedere o meno l'indicazione di pacchetti <A NAME="index2018"></A>Debian.<SUP><A HREF="#footnote3" NAME="footnote-ref3">(3)</A></SUP></P>

<DL>
<DT><STRONG>Alcune opzioni</STRONG></DT>
<DD>

<P class="syntax"><TT>-u<STRONG><BIG>|</BIG></STRONG>-update-lists
</TT></P>

<P>Aggiorna l'elenco dei pacchetti disponibili.</P>

<P class="syntax"><TT>-i<VAR>pacchetto</VAR>...<STRONG><BIG>|</BIG></STRONG>-install<VAR>pacchetto</VAR>...
</TT></P>

<P>Installa i pacchetti indicati, se sono rispettate le dipendenze.</P>

<P class="syntax"><TT>-g<STRONG><BIG>|</BIG></STRONG>-upgrade
</TT></P>

<P>Aggiorna i pacchetti gi&agrave; installati.</P>

<P class="syntax"><TT>-d<STRONG><BIG>|</BIG></STRONG>-dist-upgrade
</TT></P>

<P>Aggiorna cercando di risolvere le dipendenze, arrivando anche a disinstallare dei pacchetti.</P>

<P class="syntax"><TT>-r<VAR>pacchetto</VAR>...<STRONG><BIG>|</BIG></STRONG>-remove<VAR>pacchetto</VAR>...
</TT></P>

<P>Disinstalla i pacchetti indicati, lasciando i file di configurazione.</P>

<P class="syntax"><TT>-p<VAR>pacchetto</VAR>...<STRONG><BIG>|</BIG></STRONG>-purge<VAR>pacchetto</VAR>...
</TT></P>

<P>Elimina completamente i pacchetti indicati, cancellando anche i file di configurazione.</P>
<DT><STRONG>Esempi</STRONG></DT>
<DD>

<P class="command"><CODE>#&nbsp;</CODE><STRONG><CODE>deity -u -i gnome-stones gnome-games-locale&nbsp;<SUB><EM>(segue)</EM></SUB><BR>&nbsp;&nbsp;-p bsdgames bsdgames-nonfree</CODE></STRONG></P>

<P>Esegue tre operazioni in sequenza: aggiorna l'elenco dei pacchetti disponibili; installa i pacchetti <SAMP>gnome-stones</SAMP> e <SAMP>gnome-games-locale</SAMP>; elimina i pacchetti <SAMP>bsdgames</SAMP> e <SAMP>bsdgames-nonfree</SAMP>.</P>

<P class="command"><CODE>#&nbsp;</CODE><STRONG><CODE>deity -u -g</CODE></STRONG></P>

<P>Aggiorna i pacchetti gi&agrave; installati, dopo aver rivisto l'elenco dei pacchetti disponibili.</P>
</DD>
</DL>

<H3>22.2.2 &nbsp; <A NAME="title413"></A><A NAME="anchor494"></A>
 Uso interattivo </H3>

<P>Avviando <A NAME="index2019"></A>Deity in modo interattivo (ovvero senza argomenti di alcun tipo), si ottiene una situazione simile a quanto si vede nella figura <A HREF="a236.html#anchor495">22.1</A>.</P>

<TABLE ID="anchor495" BORDER="0" WIDTH="100%">
<TR><TD>
<HR>

<PRE>&gt; Operation  &gt; Movement   &gt; Toggles    &gt; Alter      &gt; Filters    &gt; Sorting
          &lt;&gt; Pri Package      Section  Target-Ver Instld-Ver PkgSZ  InstSZ  Des
| | |-- admin: Administration packages for super users
| | | |-+ a
| | | |-+ c
| | | |-- d
| | | | |-+ UH opt debconf      admin    0.2.80.17  0.2.80.17  0      352     De
| | | | |-+ UH opt deity        admin    0.8.0.4    0.8.0.4    0      168     Co
| | | | |-+ UH opt deity-curses admin    0.8.0.4    0.8.0.4    0      124     Cu
| | | | |-+ UH opt dpkg-awk     admin    1.0.0      1.0.0      0      36      Ga
| | | | `-+ UH opt dpkg-repack  admin    1.2        1.2        0      23      pu
| | | |-+ g
| | | |-+ m
| | | |-+ v
deity           installed, upgraded; unchanged
 Deity is a next generation package manager that is
 useful for upgrading, installing and removing packages
 from a Debian GNU/Linux system which supports APT.

 Features:

   * progress indicators for downloads,
   * selective upgrading of packages,
   * complete many operations in one swoop,
[sc0, 023%]       Install..2 Delete...123 Keep....0 Broken...0   [deity 0.8.0.4]</PRE>
<HR>

<P class="caption"> Figura <A HREF="a236.html#anchor495">22.1</A>. Esempio di come si potrebbe presentare <A NAME="index2020"></A>Deity all'avvio. In questa situazione il cursore sull'elenco dei pacchetti risulta posizionato su <SAMP>deity</SAMP>. </P>

</TD></TR>
</TABLE>

<P><A NAME="index2021"></A>Deity cerca di recuperare alcune convenzioni di <A NAME="index2022"></A>DSelect, funzionando in un modo un po' pi&ugrave; intuitivo.</P>

<P>Come nel caso di <A NAME="index2023"></A>DSelect si pu&ograve; vedere che lo schermo &egrave; suddiviso in due porzioni: la parte superiore in cui appare l'elenco dei pacchetti, classificato ad albero, con delle informazioni sintetiche; la parte inferiore in cui appare una descrizione del pacchetto corrispondente alla voce su cui si trova il cursore.</P>

<P>La navigazione &egrave; simile a quella di <A NAME="index2024"></A>DSelect e la tabella <A HREF="a236.html#anchor496">22.1</A> riepiloga i tasti pi&ugrave; importanti che possono essere utilizzati per questo scopo. Naturalmente, &egrave; disponibile una guida interna che si ottiene con il tasto [<KBD>?</KBD>] oppure [<KBD>h</KBD>] che &egrave; facile da scorrere. Inoltre, &egrave; bene ricordare che in base al contesto, &egrave; possibile usare il tasto [<KBD>q</KBD>] per tornare indietro, cos&igrave; come &egrave; possibile chiudere il funzionamento del programma quando ci si trova sulla sua maschera principale.</P>

<TABLE ID="anchor496" BORDER="3">

<THEAD>
<TR><TD>Tasto </TD><TD>Effetto </TD></TR>
</THEAD>

<TBODY>
<TR><TD>freccia&nbsp;su, k </TD><TD>Sposta il cursore sulla voce precedente. </TD></TR>
<TR><TD>freccia&nbsp;gi&ugrave;, j </TD><TD>Sposta il cursore sulla voce successiva. </TD></TR>
<TR><TD>Inizio, ^, g </TD><TD>Sposta il cursore sulla prima voce dell'elenco. </TD></TR>
<TR><TD>Fine, $, G </TD><TD>Sposta il cursore sull'ultima voce dell'elenco. </TD></TR>
<TR><TD>pagina&nbsp;su, Ctrl+b </TD><TD>Fa scorrere l'elenco di una schermata indietro. </TD></TR>
<TR><TD>pagina&nbsp;gi&ugrave;, Ctrl+f </TD><TD>Fa scorrere l'elenco di una schermata in avanti. </TD></TR>
<TR><TD>freccia&nbsp;sinistra </TD><TD>Scorrimento orizzontale indietro. </TD></TR>
<TR><TD>freccia&nbsp;destra </TD><TD>Scorrimento orizzontale in avanti. </TD></TR>
<TR><TD>&lt; </TD><TD>Raggiunge la classificazione precedente. </TD></TR>
<TR><TD>&gt; </TD><TD>Raggiunge la classificazione successiva. </TD></TR>
<TR><TD>[ </TD><TD>Scorre all'indietro la descrizione del pacchetto evidenziato. </TD></TR>
<TR><TD>] </TD><TD>Scorre in avanti la descrizione del pacchetto evidenziato. </TD></TR>
<TR><TD>/ </TD><TD>Cerca la stringa nell'elenco. </TD></TR>
<TR><TD>n </TD><TD>Cerca la corrispondenza successiva. </TD></TR>
</TBODY>
</TABLE>

<P><EM> Tabella <A HREF="a236.html#anchor496">22.1</A>. Navigazione con <A NAME="index2025"></A>Console&nbsp;APT. </EM></P>

<P><A NAME="index2026"></A>Deity offre anche l'accesso a un <A NAME="index2027"></A>men&ugrave; a tendina, a cui si accede premendo la lettera maiuscola che appare nei nomi della prima riga dello schermo. Per esempio, per aprire la tendina della voce {<CODE>Operation</CODE>} basta premere il tasto [<KBD>O</KBD>]. Una volta aperta questa o un'altra tendina, si pu&ograve; scorrere nel modo consueto con i tasti freccia e si pu&ograve; selezionare una voce premendo il tasto [<KBD>Invio</KBD>].</P>

<PRE>&gt; Operation  &gt; Movement   &gt; Toggles    &gt; Alter      &gt; Filters    &gt; Sorting</PRE>

<P>La disponibilit&agrave; di questo <A NAME="index2028"></A>men&ugrave; riduce il problema della memorizzazione dei comandi basati sulla pressione di tasti a cui viene attribuito questo o quel significato.</P>

<P>I nomi dei raggruppamenti e dei pacchetti si mostrano normalmente preceduti da un simbolo: <SAMP>+</SAMP> oppure <SAMP>-</SAMP>. Quando il cursore di selezione si trova su una voce che mostra il simbolo <SAMP>+</SAMP>, &egrave; possibile premere il tasto [<KBD>Tab</KBD>], oppure [<KBD>Invio</KBD>] per conoscere l'elenco delle dipendenze di questo. A quel punto il simbolo viene trasformato in <SAMP>-</SAMP>.</P>

<TABLE ID="anchor497" BORDER="0" WIDTH="100%">
<TR><TD>
<HR>

<PRE>&gt; Operation  &gt; Movement   &gt; Toggles    &gt; Alter      &gt; Filters    &gt; Sorting
          &lt;&gt; Pri Package      Section  Target-Ver Instld-Ver PkgSZ  InstSZ  Des
| | |-- admin: Administration packages for super users
| | | |-+ a
| | | |-+ c
| | | |-- d
| | | | |-+ UH opt debconf      admin    0.2.80.17  0.2.80.17  0      352     De
| | | | |-- UH opt deity        admin    0.8.0.4    0.8.0.4    0      168     Co
| | | | | |-- Depends    libapt-pkg-libc6.2-3
| | | | | |-+ Depends    libc6           &gt;= 2.2.3-1
| | | | | |-+ Depends    libstdc++2.10-glibc2
| | | | | |-+ Depends    deity-curses
| | | | | |-- Depends    deityui
| | | | | |-+ Conflicts  console-apt      &lt; 0.8.0
deity           installed, upgraded; unchanged
 Deity is a next generation package manager that is
 useful for upgrading, installing and removing packages
 from a Debian GNU/Linux system which supports APT.

 Features:

   * progress indicators for downloads,
   * selective upgrading of packages,
   * complete many operations in one swoop,
[sc0, 023%]       Install..2 Delete...123 Keep....0 Broken...0   [deity 0.8.0.4]</PRE>
<HR>

<P class="caption"> Figura <A HREF="a236.html#anchor497">22.2</A>. Dipendenze di <A NAME="index2029"></A>Deity, come si vede attraverso il programma stesso. </P>

</TD></TR>
</TABLE>

<P>L'esempio della figura <A HREF="a236.html#anchor497">22.2</A> mostra il caso del pacchetto <SAMP>deity</SAMP>. Naturalmente &egrave; possibile continuare ad &laquo;aprire&raquo; anche altri pacchetti elencati nelle dipendenze. Quando non serve, si possono richiudere questi sottoelenchi premendo nuovamente [<KBD>Tab</KBD>] o [<KBD>Invio</KBD>].</P>

<P>La selezione di un pacchetto avviene in modo molto simile a quello di <A NAME="index2030"></A>DSelect e la tabella <A HREF="a236.html#anchor498">22.2</A> riepiloga i tasti necessari.</P>

<TABLE BORDER="3" WIDTH="100%">
<TR><TD>

<P>Per annullare una richiesta applicata a un pacchetto, &egrave; necessario usare lo stesso tasto selezionato. Per esempio, se si seleziona un pacchetto per l'installazione con il tasto [<KBD>+</KBD>], volendo togliere questa selezione &egrave; necessario intervenire nuovamente con lo stesso tasto [<KBD>+</KBD>], perch&eacute; [<KBD>-</KBD>] oppure [<KBD>_</KBD>] non possono intervenire.</P>

</TD></TR>
</TABLE>

<TABLE ID="anchor498" BORDER="3">

<THEAD>
<TR><TD>Tasto di selezione </TD><TD>Effetto </TD></TR>
</THEAD>

<TBODY>
<TR><TD>+, barra&nbsp;spaziatrice </TD><TD>Richiede l'installazione o l'aggiornamento del pacchetto. </TD></TR>
<TR><TD>- </TD><TD>Richiede la disinstallazione del pacchetto lasciando la configurazione. </TD></TR>
<TR><TD>_ </TD><TD>Richiede l'eliminazione totale del pacchetto. </TD></TR>
<TR><TD>\ </TD><TD>Richiede la reinstallazione. </TD></TR>
<TR><TD>t </TD><TD>Scorre tra le versioni disponibili. </TD></TR>
<TR><TD>U </TD><TD>Aggiorna i pacchetti vecchi. </TD></TR>
<TR><TD>D </TD><TD>Aggiorna la distribuzione. </TD></TR>
<TR><TD>R </TD><TD>Ripristina tutto allo stato iniziale. </TD></TR>
</TBODY>
</TABLE>

<P><EM> Tabella <A HREF="a236.html#anchor498">22.2</A>. Tasti di selezione dei pacchetti. </EM></P>

<P>Oltre alla possibilit&agrave; di cercare i pacchetti con i tasti [<KBD>/</KBD>] e [<KBD>n</KBD>], &egrave; possibile definire un'<A NAME="index2031"></A>espressione regolare con la quale filtrare i nomi dei pacchetti e ridurre cos&igrave; l'elenco. I filtri possono essere definiti attraverso selezioni successive; per esempio, la prima volta si pu&ograve; cercare la corrispondenza con la stringa <SAMP>gnome</SAMP>, mentre la seconda volta si pu&ograve; cercare la corrispondenza con <SAMP>game</SAMP>: si rimarr&agrave; con l'elenco dei nomi che corrispondono sia la prima che la seconda volta. La tabella <A HREF="a236.html#anchor499">22.3</A> riepiloga i comandi relativi alla gestione dei filtri, accessibili anche dal <A NAME="index2032"></A>men&ugrave;.</P>

<TABLE ID="anchor499" BORDER="3">

<THEAD>
<TR><TD>Tasto di selezione </TD><TD>Effetto </TD></TR>
</THEAD>

<TBODY>
<TR><TD>f </TD><TD>Aggiunge un filtro. </TD></TR>
<TR><TD>r </TD><TD>Elimina tutti i filtri ripristinando l'elenco completo. </TD></TR>
<TR><TD>l </TD><TD>Mostra la sequenza di filtri attivi. </TD></TR>
<TR><TD>v </TD><TD>Mostra i pacchetti che non corrispondono alle espressioni selezionate. </TD></TR>
</TBODY>
</TABLE>

<P><EM> Tabella <A HREF="a236.html#anchor499">22.3</A>. Tasti di selezione dei filtri di visualizzazione. </EM></P>

<P>L'elenco dei pacchetti pu&ograve; essere strutturato in maniera differente, specificando l'ordine con cui vanno presentati. Per intervenire in questo modo si preme [<KBD>s</KBD>], per accedere a una maschera particolare, come quella che si vede nella figura <A HREF="a236.html#anchor500">22.3</A>.</P>

<TABLE ID="anchor500" BORDER="0" WIDTH="100%">
<TR><TD>
<HR>

<PRE>.-----------------------Sort Editor------------------------.
|                                                          |
| Please select an option to change your sorting:          |
|                                                          |
|   A  ==  Append new at end of the list                   |
|   I  ==  Insert new before an installed method           |
|   D  ==  Delete installed sort method                    |
|   M  ==  Modify installed sort method                    |
|   Q  ==  Quit back to main list                          |
|                                                          |
|                                                          |
|  You currently have 2 sorting methods installed.         |
|                                                          |
|  ` Method 1 (Packages by installed/upgraded status)      |
|  ` Method 2 (Packages by name, alphabetically)           |
|                                                          |
|                                                          |
|                                                          |
`----------------------------------------------------------'</PRE>
<HR>

<P class="caption"> Figura <A HREF="a236.html#anchor500">22.3</A>. Maschera iniziale per la selezione dell'ordine in cui mostrare i pacchetti nell'elenco. </P>

</TD></TR>
</TABLE>

<P>Quello che si vede nella figura significa che attualmente i nomi dei pacchetti sono suddivisi in base al fatto di essere installati o meno, quindi sono ordinati in modo alfabetico per nome. La maschera mostra in che modo agire per aggiungere, inserire, cancellare o modificare i vari metodi di ordinamento, premendo il tasto corrispondente: [<KBD>a</KBD>], [<KBD>i</KBD>], [<KBD>d</KBD>], [<KBD>m</KBD>] o [<KBD>q</KBD>]. Se si chiede di eliminare un metodo di ordinamento, viene poi richiesto su quale numero intervenire. Se si chiede di inserire un metodo viene richiesto il numero di quello che si dovr&agrave; trovare subito dopo il nuovo aggiunto. L'inserimento e l'aggiunta portano a un <A NAME="index2033"></A>men&ugrave; simile a quello seguente, con il quale si potr&agrave; specificare quale criterio inserire o aggiungere:</P>

<PRE>T  ==  Type / section / area
N  ==  Name (alphabetically)
P  ==  Priority (needworthyness)
S  ==  Status (installed / upgraded)
A  ==  Archive size (download)
I  ==  Installed size (unpacked)
Q  ==  Go back [Exit]</PRE>

<P>Una volta selezionate le azioni da compiere con i pacchetti (installare, aggiornare, disinstallare, eliminare) si pu&ograve; procedere con il tasto [<KBD>c</KBD>], che dovrebbe portare a un elenco speciale, nel quale vengono riassunte le cose che verranno fatte. Se necessario, premendo ancora [<KBD>c</KBD>] si passa all'esecuzione delle richieste; in alternativa, se si preferisce rinunciare basta premere il tasto [<KBD>q</KBD>], come al solito.</P>

<H2>22.3 &nbsp; <A NAME="title414"></A><A NAME="anchor501"></A>
 <A NAME="index2034"></A>Aptitude <A NAME="index2035"></A> </H2>

<P><A NAME="index2036"></A>Aptitude, <SUP><A HREF="#footnote4" NAME="footnote-ref4">(4)</A></SUP> &egrave; un altro programma frontale per il sistema <A NAME="index2037"></A>APT, che si presenta molto sofisticato e altamente configurabile. Qui si vuole mostrare soltanto un uso &laquo;normale&raquo; del programma, trascurando la sua configurazione e facendo riferimento al funzionamento predefinito.</P>

<TABLE BORDER="3" WIDTH="100%">
<TR><TD>

<P>La configurazione di <A NAME="index2038"></A>Aptitude consente di cambiare notevolmente il funzionamento del programma. Anche se non si intende modificare l'impostazione predefinita, &egrave; necessario sapere che i comandi della tastiera, i colori e le informazioni che appaiono sullo schermo possono essere modificati deliberatamente.</P>

</TD></TR>
</TABLE>

<P>Il programma mette a disposizione anche un <A NAME="index2039"></A>men&ugrave; a tendina, a cui si pu&ograve; accedere con il tasto [<KBD>F10</KBD>], all'interno del quale ci si muove come di consueto, con i tasti freccia, selezionando le voci con il tasto [<KBD>Invio</KBD>]. Proprio nel primo di questi <A NAME="index2040"></A>men&ugrave; si pu&ograve; trovare la possibilit&agrave; di accedere ai privilegi dell'utente <SAMP>root</SAMP> inserendo la <A NAME="index2041"></A>parola d'ordine necessaria.</P>

<P>Il programma si avvia generalmente senza argomenti, indicando l'eseguibile <SAMP>aptitude</SAMP>. Se il file di configurazione <CODE>/etc/apt/sources.list</CODE> fa riferimento a una distribuzione accessibile attraverso il <A NAME="index2042"></A>file&nbsp;system, pu&ograve; essere conveniente usare URI di tipo <SAMP>copy</SAMP>, invece di <SAMP>file</SAMP>.</P>

<P>Sono disponibili due schede riassuntive dell'uso di <A NAME="index2043"></A>Aptitude nei capitoli <A HREF="a2464.html#anchor6455">363</A> e <A HREF="a2465.html#anchor6458">364</A>.</P>

<H3>22.3.1 &nbsp; <A NAME="title415"></A><A NAME="anchor502"></A>
 Classificazione e ordinamento dei pacchetti </H3>

<P>L'impatto iniziale con il programma dipende da come &egrave; stato definito il raggruppamento dei pacchetti. Per raggruppamento qui si intende il modo di organizzare la classificazione dei i pacchetti in base a qualche criterio, generando una struttura ad albero. In condizioni normali, la classificazione avviene in base al loro &laquo;stato&raquo;, in cui si distingue tra pacchetti installati, non installati, obsoleti, aggiornabili e virtuali. A titolo di esempio, all'avvio <A NAME="index2044"></A>Aptitude si potrebbe presentare come si vede nella figura <A HREF="a236.html#anchor503">22.4</A>, dove appaiono solo le classificazioni <SAMP>New&nbsp;Packages</SAMP>, <SAMP>Obsolete and Locally Created Packages</SAMP> e <SAMP>Virtual Packages</SAMP>.</P>

<TABLE ID="anchor503" BORDER="0" WIDTH="100%">
<TR><TD>
<HR>

<PRE> Actions  Undo  Options  Views  Help
aptitude 0.2.3                    Will use 225kB of disk space   DL Size: 95,9kB
[-] New Packages
[-] Obsolete and Locally Created Packages
[-] Virtual Packages</PRE>
<HR>

<P class="caption"> Figura <A HREF="a236.html#anchor503">22.4</A>. Parte superiore dello schermo dopo l'avvio di <A NAME="index2045"></A>Aptitude. </P>

</TD></TR>
</TABLE>

<P>Per aprire o per richiudere una classificazione basta portarvi sopra il cursore e premere [<KBD>Invio</KBD>]; lo stesso si pu&ograve; fare per le sottoclassificazioni successive.</P>

<TABLE ID="anchor504" BORDER="0" WIDTH="100%">
<TR><TD>
<HR>

<PRE> Actions  Undo  Options  Views  Help
aptitude 0.2.3                    Will use 225kB of disk space   DL Size: 95,9kB[+] New Packages
  [-] Tasks: Packages which set up your computer to perform a particular task
  [-] Unknown: Packages with no declared section
  [+] admin: Administrative utilities (install software, manage users, etc)
    [-] contrib: Programs which depend on software not in Debian
    [+] main: The main Debian archive
i     anacron                                               2.1-5.1   2.1-5.1
i     aptitude                                              0.2.3-1   0.2.3-1
p     base-config                                           &lt;none&gt;    0.27
p     cfengine                                              &lt;none&gt;    1.5.3-3
c     console-apt                                           &lt;none&gt;    &lt;none&gt;
curses-based apt frontend
aptitude is a curses-based apt frontend with a number of useful extended
features, including: a mutt-like syntax for matching packages in a flexible
manner, dselect-like persistence of user actions, the ability to retrieve and
display the Debian changelog of most packages, and extreme flexibility and
customization.






</PRE>
<HR>

<P class="caption"> Figura <A HREF="a236.html#anchor504">22.5</A>. Accesso all'elenco dei pacchetti attraversando le classificazioni precedenti. In questo caso il cursore si trova sul pacchetto <SAMP>aptitude</SAMP>. </P>

</TD></TR>
</TABLE>

<P>Una volta raggiunto un gruppo di pacchetti che non viene classificato ulteriormente, ne appare l'elenco, come si vede nella figura <A HREF="a236.html#anchor504">22.5</A>, dove si pu&ograve; vedere anche la parte inferiore dello schermo dedicata alla descrizione del pacchetto evidenziato.</P>

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

<P class="syntax"><TT><VAR>politica_di_raggruppamento</VAR><STRONG><BIG>[</BIG></STRONG>,<VAR>politica_di_raggruppamento</VAR><STRONG><BIG>]</BIG></STRONG>...
</TT></P>

<P>Di certo, le prime volte non conviene creare strutture troppo complesse. La tabella <A HREF="a236.html#anchor505">22.4</A> riepiloga brevemente le definizioni principali che si possono usare per ottenere la classificazione preferita, tenendo presente che alcune definizioni prevedono delle opzioni, per le quali &egrave; necessario leggere la documentazione originale.</P>

<TABLE ID="anchor505" BORDER="3">

<THEAD>
<TR><TD>Politica </TD><TD>Raggruppamento corrispondente </TD></TR>
</THEAD>

<TBODY>
<TR><TD>section(topdir) </TD><TD>Sezione principale a cui appartiene il pacchetto. </TD></TR>
<TR><TD>section(subdir) </TD><TD>Sottosezione a cui appartiene il pacchetto. </TD></TR>
<TR><TD>section(none) </TD><TD>Sezione e sottosezione a cui appartiene il pacchetto. </TD></TR>
<TR><TD>priority </TD><TD>Priorit&agrave; del pacchetto. </TD></TR>
<TR><TD>status </TD><TD>Stato: installato, non installato, obsoleto, aggiornabile e virtuale. </TD></TR>
<TR><TD>action </TD><TD>Azione richiesta sui pacchetti e non ancora applicata. </TD></TR>
<TR><TD>firstchar </TD><TD>Classifica in base all'iniziale del nome. </TD></TR>
</TBODY>
</TABLE>

<P><EM> Tabella <A HREF="a236.html#anchor505">22.4</A>. Alcune delle definizioni utilizzabili per cambiare la struttura di classificazione dei pacchetti. </EM></P>

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

<P class="syntax"><TT><STRONG><BIG>{</BIG></STRONG><STRONG><BIG>[</BIG></STRONG>~<STRONG><BIG>]</BIG></STRONG>name<STRONG><BIG>|</BIG></STRONG>installsize<STRONG><BIG>|</BIG></STRONG>priority<STRONG><BIG>}</BIG></STRONG><STRONG><BIG>[</BIG></STRONG>,...<STRONG><BIG>]</BIG></STRONG>
</TT></P>

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

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

<H3>22.3.2 &nbsp; <A NAME="title416"></A><A NAME="anchor506"></A>
 Ricerca e filtro </H3>

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

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

<P class="syntax"><TT>~<VAR>x</VAR><STRONG><BIG>|</BIG></STRONG>~<VAR>x</VAR><VAR>stringa</VAR>
</TT></P>

<P>Le stringhe non vanno delimitate e sono presi in considerazione tutti gli spazi inseriti. Dal momento che gli spazi hanno importanza, quando si abbinano pi&ugrave; espressioni attraverso l'uso di operatori booleani, &egrave; necessario evitare l'inserzione di spazi aggiuntivi. Ci&ograve; &egrave; particolarmente importante in considerazione del fatto che l'operatore booleano AND si ottiene semplicemente mettendo in sequenza due espressioni. Per esempio, <SAMP>~snet~nicq</SAMP> cerca la corrispondenza per i pacchetti appartenenti alla sezione <SAMP>net</SAMP>, contenenti la stringa <SAMP>icq</SAMP> nel nome. La tabella <A HREF="a236.html#anchor507">22.5</A> riepiloga la sintassi delle espressioni elementari principali, compresi gli operatori booleani con cui si possono abbinare o modificare.</P>

<TABLE ID="anchor507" BORDER="3">

<THEAD>
<TR><TD>Espressione </TD><TD>Descrizione </TD></TR>
</THEAD>

<TBODY>
<TR><TD>~v </TD><TD>Pacchetto virtuale. </TD></TR>
<TR><TD>~E </TD><TD>Pacchetto essenziale. </TD></TR>
<TR><TD>~i </TD><TD>Pacchetto installato attualmente. </TD></TR>
<TR><TD>~c </TD><TD>Pacchetto rimosso lasciando i file di configurazione. </TD></TR>
<TR><TD>~a<VAR>azione_richiesta</VAR> </TD><TD>Pacchetto per il quale &egrave; stata richiesta un'azione particolare. </TD></TR>
<TR><TD>~ainstall </TD><TD>Pacchetto da installare. </TD></TR>
<TR><TD>~aupgrade </TD><TD>Pacchetto da aggiornare. </TD></TR>
<TR><TD>~aremove </TD><TD>Pacchetto da disinstallare. </TD></TR>
<TR><TD>~apurge </TD><TD>Pacchetto da eliminare. </TD></TR>
<TR><TD>~ahold </TD><TD>Pacchetto da conservare nella versione installata attualmente. </TD></TR>
<TR><TD>~B<VAR>dipendenza</VAR> </TD><TD>Pacchetto con problemi di dipendenze di qualche tipo. </TD></TR>
<TR><TD>~Bdepends </TD><TD>Pacchetto che dipende da altri per funzionare. </TD></TR>
<TR><TD>~Bpredepends </TD><TD>Pacchetto che dipende da altri per poter essere installato. </TD></TR>
<TR><TD>~Brecommends </TD><TD>Pacchetto che raccomanda la presenza di altri pacchetti. </TD></TR>
<TR><TD>~Bsuggests </TD><TD>Pacchetto che suggerisce la presenza di altri pacchetti. </TD></TR>
<TR><TD>~Bconflics </TD><TD>Pacchetto che va in conflitto con altri pacchetti. </TD></TR>
<TR><TD>~n<VAR>nome</VAR> </TD><TD>Pacchetto contenente la stringa indicata nel nome. </TD></TR>
<TR><TD>~d<VAR>descrizione</VAR> </TD><TD>Pacchetto contenente la stringa indicata nella descrizione. </TD></TR>
<TR><TD>~m<VAR>curatore</VAR> </TD><TD>Pacchetto contenente la stringa indicata nel nome del curatore. </TD></TR>
<TR><TD>~p<VAR>priorit&agrave;</VAR> </TD><TD>Pacchetto appartenente alla priorit&agrave; indicata. </TD></TR>
<TR><TD>~prequired </TD><TD>Pacchetto necessario. </TD></TR>
<TR><TD>~pimportant </TD><TD>Pacchetto importante. </TD></TR>
<TR><TD>~pstandard </TD><TD>Pacchetto standard. </TD></TR>
<TR><TD>~poptional </TD><TD>Pacchetto opzionale. </TD></TR>
<TR><TD>~pextra </TD><TD>Pacchetto extra. </TD></TR>
<TR><TD>~punknown </TD><TD>Pacchetto non classificato per quanto riguarda la priorit&agrave;. </TD></TR>
<TR><TD>~s<VAR>sezione</VAR> </TD><TD>Pacchetto appartenente alla sezione indicata. </TD></TR>
<TR><TD>~V<VAR>versione</VAR> </TD><TD>Pacchetto con la versione indicata. </TD></TR>
<TR><TD><VAR>espr_1</VAR><VAR>espr_2</VAR> </TD><TD>AND: si devono verificare entrambe le condizioni. </TD></TR>
<TR><TD><VAR>espr_1</VAR>|<VAR>espr_2</VAR> </TD><TD>OR: &egrave; sufficiente che si verifichi una sola delle due espressioni. </TD></TR>
<TR><TD>!<VAR>espr_1</VAR> </TD><TD>NOT: inverte il senso dell'espressione. </TD></TR>
<TR><TD>(&nbsp;&nbsp;&nbsp;) </TD><TD>Raggruppa le espressioni. </TD></TR>
</TBODY>
</TABLE>

<P><EM> Tabella <A HREF="a236.html#anchor507">22.5</A>. Alcune delle espressioni di ricerca e di selezione. </EM></P>

<H3>22.3.3 &nbsp; <A NAME="title417"></A><A NAME="anchor508"></A>
 Navigazione e altri comandi affini </H3>

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

<TABLE ID="anchor509" BORDER="3">

<THEAD>
<TR><TD>Tasto </TD><TD>Descrizione </TD></TR>
</THEAD>

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

<P><EM> Tabella <A HREF="a236.html#anchor509">22.6</A>. Navigazione e comandi principali. </EM></P>

<P>A seconda delle circostanze, <A NAME="index2048"></A>Aptitude pu&ograve; entrare in un contesto differente, che si annida di un livello rispetto alla situazione precedente. Per concludere l'attivit&agrave; nel contesto nuovo, basta usare il tasto [<KBD>q</KBD>] (oppure [<KBD>x</KBD>] se opportuno), dopo il quale si raggiunge il livello precedente. Giunti all'ultimo livello, si conclude il funzionamento del programma.</P>

<H3>22.3.4 &nbsp; <A NAME="title418"></A><A NAME="anchor510"></A>
 Informazioni sintetiche sulla situazione dei pacchetti </H3>

<P>In condizioni normali, salvo una configurazione differente, i pacchetti vengono elencati mostrando inizialmente una o due lettere: la prima indica lo stato del pacchetto, la seconda serve a specificare l'azione richiesta sul pacchetto. Oltre a questo, lo stato e le richieste sui pacchetti viene messo in evidenza anche con l'uso del colore di sfondo sulle righe che li riguardano. Le tabelle <A HREF="a236.html#anchor511">22.7</A> e <A HREF="a236.html#anchor512">22.8</A> descrivono brevemente i simboli utilizzati in questo modo.</P>

<TABLE ID="anchor511" BORDER="3">

<THEAD>
<TR><TD>Simbolo </TD><TD>Sfondo </TD><TD>Descrizione </TD></TR>
</THEAD>

<TBODY>
<TR><TD>v </TD><TD> </TD><TD>Pacchetto virtuale. </TD></TR>
<TR><TD>B </TD><TD>rosso </TD><TD>Pacchetto con problemi di qualche tipo. </TD></TR>
<TR><TD>u </TD><TD> </TD><TD>Pacchetto estratto ma non configurato. </TD></TR>
<TR><TD>C </TD><TD> </TD><TD>Pacchetto configurato parzialmente. </TD></TR>
<TR><TD>H </TD><TD> </TD><TD>Pacchetto installato parzialmente. </TD></TR>
<TR><TD>c </TD><TD> </TD><TD>Pacchetto disinstallato lasciando la configurazione. </TD></TR>
<TR><TD>i </TD><TD> </TD><TD>Pacchetto installato regolarmente. </TD></TR>
<TR><TD>E </TD><TD> </TD><TD>Errore interno al programma. </TD></TR>
</TBODY>
</TABLE>

<P><EM> Tabella <A HREF="a236.html#anchor511">22.7</A>. Simbologia relativa allo stato dei pacchetti. </EM></P>

<TABLE ID="anchor512" BORDER="3">

<THEAD>
<TR><TD>Simbolo </TD><TD>Sfondo </TD><TD>Descrizione </TD></TR>
</THEAD>

<TBODY>
<TR><TD>h </TD><TD>bianco </TD><TD>Mantenere la versione attuale. </TD></TR>
<TR><TD>p </TD><TD>magenta </TD><TD>Disinstallare completamente, compresi i file di configurazione. </TD></TR>
<TR><TD>d </TD><TD>magenta </TD><TD>Disinstallare lasciando la configurazione. </TD></TR>
<TR><TD>B </TD><TD>rosso </TD><TD>Problemi di qualche tipo. </TD></TR>
<TR><TD>i </TD><TD>verde </TD><TD>Installare. </TD></TR>
<TR><TD>r </TD><TD> </TD><TD>Reinstallare. </TD></TR>
<TR><TD>u </TD><TD>blu </TD><TD>Aggiornare. </TD></TR>
</TBODY>
</TABLE>

<P><EM> Tabella <A HREF="a236.html#anchor512">22.8</A>. Simbologia relativa alle azioni da applicare ai pacchetti. </EM></P>

<H3>22.3.5 &nbsp; <A NAME="title419"></A><A NAME="anchor513"></A>
 Configurazione interattiva </H3>

<P>La configurazione di <A NAME="index2049"></A>Aptitude pu&ograve; essere estremamente complessa, intervenendo nel file <CODE>/etc/apt/apt.conf</CODE>, come descritto ampiamente nella guida interna del programma. A fianco di quella generale, viene creata automaticamente una configurazione personalizzata, corrispondente al file <CODE>~/.aptitude/config</CODE>. Questo file viene gestito attraverso le voci del <A NAME="index2050"></A>men&ugrave; {<CODE>Options</CODE>} ed &egrave; sufficiente intervenire l&igrave; perch&eacute; questo file venga aggiornato.</P>

<P>Pur non rappresentando un sistema completo di configurazione, dalle voci di questo <A NAME="index2051"></A>men&ugrave; si pu&ograve; modificare notevolmente l'aspetto delle informazioni che vengono mostrate. Fortunatamente, la voce {<CODE>Revert options</CODE>} consente di ripristinare tutto alla configurazione predefinita, che in questo caso &egrave; rappresentata da quanto contenuto (o non contenuto) nel file <CODE>/etc/apt/apt.conf</CODE>.</P>

<H2>22.4 &nbsp; <A NAME="title420"></A><A NAME="anchor514"></A>
 <A NAME="index2052"></A>Gnome&nbsp;APT <A NAME="index2053"></A> </H2>

<P><A NAME="index2054"></A>Gnome&nbsp;APT, <SUP><A HREF="#footnote5" NAME="footnote-ref5">(5)</A></SUP> &egrave; un applicativo grafico per la gestione dei pacchetti secondo il sistema <A NAME="index2055"></A>APT. Il funzionamento del programma &egrave; molto intuitivo e le voci del <A NAME="index2056"></A>men&ugrave; sono organizzate in modo logico. La figura <A HREF="a236.html#anchor515">22.6</A> mostra come potrebbe presentarsi all'avvio (eseguibile <SAMP>gnome-apt</SAMP>).</P>

<TABLE ID="anchor515" BORDER="0" WIDTH="100%">
<TR><TD>

<P><IMG SRC="38.jpg" ALT="figure/a2-apt-gnome-apt" WIDTH="850" ></P>

<P class="caption"> Figura <A HREF="a236.html#anchor515">22.6</A>. <A NAME="index2057"></A>Gnome&nbsp;APT. </P>

</TD></TR>
</TABLE>

<P>La finestra sul lato destro elenca i pacchetti in una struttura ad albero, secondo la classificazione in gruppi e l'ordinamento determinato attraverso le funzioni accessibili dal <A NAME="index2058"></A>men&ugrave; {<CODE>View</CODE>}. Nella figura si vede una struttura a gruppi di tipo alfabetico, che pu&ograve; essere cambiata agevolmente secondo altre caratteristiche dei pacchetti.</P>

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

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

<P>Facendo un clic con il terzo tasto (quello destro) quando si punta su un nome dell'elenco, appare un <A NAME="index2059"></A>men&ugrave; a scomparsa con le azioni che possono essere applicate alla voce relativa. Se si tratta di un pacchetto pu&ograve; essere selezionata l'azione da compiere.</P>

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

<P>Dal <A NAME="index2060"></A>men&ugrave; {<CODE>Action</CODE>} &egrave; possibile accedere a due funzioni molto importanti: l'aggiornamento dell'elenco dei pacchetti, con la voce {<CODE>Update</CODE>}; l'avvio dell'esecuzione delle richieste sull'installazione, aggiornamento e disinstallazione dei pacchetti, attraverso la voce {<CODE>Complete&nbsp;run</CODE>}.</P>
Appunti di informatica libera 2001.08.18  --- <EM>Copyright &copy; 2000-2001 Daniele Giacomini -- &nbsp;daniele&nbsp;@&nbsp;swlibero.org</EM><HR>

<P><A HREF="#footnote-ref1" NAME="footnote1">1)</A> <STRONG>APT</STRONG> &nbsp; GNU GPL</P>

<P><A HREF="#footnote-ref2" NAME="footnote2">2)</A> <STRONG>Deity</STRONG> &nbsp; GNU GPL</P>

<P><A HREF="#footnote-ref3" NAME="footnote3">3)</A> Si fa riferimento a nomi di pacchetto, sia quando si disinstalla, sia quando di installa indifferentemente; il nome dell'archivio che contiene il pacchetto cercato viene determinato autonomamente.</P>

<P><A HREF="#footnote-ref4" NAME="footnote4">4)</A> <STRONG>Aptitude</STRONG> &nbsp; GNU GPL</P>

<P><A HREF="#footnote-ref5" NAME="footnote5">5)</A> <STRONG>Gnome&nbsp;APT</STRONG> &nbsp; GNU GPL</P>
</DIV>
<HR>
<P>Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome  <A HREF="pacchetti_debian_apt.html">pacchetti_debian_apt.html</A></P>
<P>
<A HREF="a237.html">[successivo]</A>
<A HREF="a235.html">[precedente]</A>
<A HREF="a2.html">[inizio]</A>
<A HREF="a2506.html">[fine]</A>
<A HREF="a21.html">[indice generale]</A>
<A HREF="a26.html">[violazione GPL]</A>
<A HREF="a2504.html">[licenze]</A>
<A HREF="a2505.html">[indice analitico]</A>
</P>
</BODY>
</HTML>