summaryrefslogtreecommitdiff
path: root/doc/guide.it.sgml
blob: 2dc46e2637a165bb45d891d2b3b3b86b7e30fc48 (plain)
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
<!-- -*- mode: sgml; mode: fold -*- -->
<!doctype debiandoc  PUBLIC  "-//DebianDoc//DTD DebianDoc//EN">
<book>
<title>Guida dell'utente di APT</title>

<author>Jason Gunthorpe <email>jgg@debian.org</email></author>
<author>Traduzione di Eugenia Franzoni <email>eugenia@linuxcare.com</email>
</author>
<version>$Id: guide.it.sgml,v 1.5 2003/04/26 23:26:13 doogie Exp $</version>

<abstract>
Guida per l'uso del gestore di pacchetti APT.
</abstract>

<copyright>
Copyright &copy; Jason Gunthorpe, 1998.

<p>Ed. italiana Copyright &copy; Eugenia Franzoni, 2000.

<p>
"APT" e questo documento sono software libero, e li si può ridistribuire 
e/o modificare secondo i termini della Licenza Pubblica Generica GNU
(GPL), pubblicata dalla Free Software Foundation, nella versione 2 o
(se preferite) qualsiasi versione successiva.

<p>"APT" and this document are free software; you can redistribute them and/or
modify them under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

<p>
Per ulteriori dettagli sui sistemi GNU/Linux si veda il testo
completo della licenza nel file
/usr/share/common-licenses/GPL.
</copyright>

<toc sect>

<!-- General		                                               {{{ -->
<!-- ===================================================================== -->
<chapt>Descrizione generale

<p>
Il pacchetto APT al momento contiene due sezioni, il metodo APT 
<prgn>dselect</> e l'interfaccia utente a linea di comando <prgn>apt-get</>;
entrambi danno modo di installare e rimuovere pacchetti, e di scaricarne
altri da Internet.

<sect>Anatomia del sistema di pacchettizzazione
<p>
Il sistema di pacchettizzazione di Debian contiene un gran numero di
informazioni associate a ciascun pacchetto, per assicurarsi che si
integri facilmente ed in maniera pulita nel sistema; la più
importante di esse è il sistema di dipendenze.

<p>
Il sistema di dipendenze permette ai singoli programmi di fare uso
degli elementi condivisi del sistema, quali le librerie; per 
ridurre il numero di elementi che l'utente medio debba installare,
le porzioni di programmi che non vengono usate spesso vengono poste
in pacchetti separati. Inoltre, è possibile avere più di una scelta per
cose quali i programmi di posta elettronica, i server X e così via.

<p>
Il primo passo per capire il sistema di dipendenze è la 
comprensione del concetto di dipendenza semplice: un pacchetto richiede
che un altro sia installato insieme ad esso per poter
funzionare.


<p>
Ad esempio, mail-crypt è un'estensione di emacs che aiuta a criptare le
mail con PGP. Se PGP non è installato, mail-crypt è inutile, quindi
mail-crypt ha una dipendenza semplice da PGP. Inoltre, dato che si tratta
di un'estensione di emacs, mail-crypt dipende anche da emacs, senza il
quale è totalmente inutile.

<p>
L'altro tipo di dipendenza importante da capire è la dipendenza di
conflitto; con questa, un pacchetto che venga installato insieme ad un
altro pacchetto non funziona, e si hanno seri problemi al sistema.
Come esempio, si consideri un programma di trasporto della posta,
quale sendmail, exim o qmail: non è possibile averne due contemporaneamente,
perché entrambi hanno bisogno di restare in ascolto sulla stessa porta di rete 
per ricevere la posta. Tentare di installarne due danneggerebbe seriamente il
sistema, quindi ciascun programma di trasporto della posta ha una
dipendenza di conflitto con tutti gli altri.

<p>
Come ulteriore complicazione, c'è la possibilità che un pacchetto
voglia prendere il posto di un altro; ad esempio, exim e sendmail per molte
cose sono identici, dato che entrambi gestiscono la posta e comprendono
un'interfaccia comune, quindi il sistema di pacchettizzazione deve dichiarare
che sono entrambi agenti di trasporto della posta, e che gli altri
pacchetti a cui serve uno dei due devono dipendere da un pacchetto
fittizio agente-di-trasporto-della-posta. Quando si modificano
a mano i pacchetti, questo può portare a moltissima confusione.

<p>
In ciascun momento una singola dipendenza può essere soddisfatta o meno
dai pacchetti già installati; APT cerca di risolvere i problemi
di dipendenze con un buon numero di algoritmi automatici, che aiutano
a selezionare i pacchetti da installare.
</sect>

</chapt>
                                                                  <!-- }}} -->
<!-- apt-get		                                               {{{ -->
<!-- ===================================================================== -->
<chapt>apt-get

<p>
<prgn>apt-get</> fornisce un modo semplice di installare i pacchetti dalla
linea di comando. Diversamente da <prgn>dpkg</>, <prgn>apt-get</> non 
capisce i nomi dei file .deb, ma utilizza il vero nome dei pacchetti,
e può installare archivi .deb solo da una fonte.

<p>
La prima <footnote>Se state usando un proxy server http, dovete prima ancora
impostare la variabile d'ambiente http_proxy; vedere 
sources.list(5).</footnote>
cosa da fare prima di usare <prgn>apt-get</> è impostare l'elenco dei
pacchetti dalle fonti in modo che il programma sappia quali pacchetti
sono disponibili. Lo si fa con <tt>apt-get update</>. Ad esempio,

<p>
<example>
# apt-get update
Get http://ftp.de.debian.org/debian-non-US/ stable/binary-i386/ Packages
Get http://llug.sep.bnl.gov/debian/ testing/contrib Packages
Reading Package Lists... Done
Building Dependency Tree... Done
</example>

<p>
Dopo aver aggiornato l'elenco si possono usare molti comandi:
<taglist>
<tag>upgrade<item>
Upgrade tenterà di fare un aggiornamento indolore del sistema completo,
senza installare nuovi pacchetti o rimuoverne di esistenti, e senza
aggiornare un pacchetto che possa rovinarne altri. Upgrade farà un elenco
di tutti i pacchetti che non avrà potuto aggiornare, cosa che in genere
significa che questi dipendono da nuovi pacchetti o vanno in conflitto
con altri. Per forzare la loro installazione si può usare 
<prgn>dselect</> o <tt>apt-get install</>.

<tag>install<item>
Install viene usato per installare i singoli pacchetti dando il loro nome. 
Il pacchetto viene automaticamente scaricato ed installato, cosa molto utile
se già se ne conosce il nome e non si vuole entrare in grafica per 
selezionarlo. Al comando si possono passare anche più pacchetti, che saranno
tutti scaricati. L'installazione automatica cerca di risolvere i problemi
di dipendenze con gli altri pacchetti elencati, stampa un riassunto e
chiede conferma se si devono modificare altri pacchetti che non siano quelli
sulla linea di comando.

<tag>dist-upgrade<item>
Dist-upgrade fa un aggiornamento completo, progettato in modo da rendere 
semplici gli aggiornamenti tra versioni di Debian. Usa un algoritmo 
sofisticato per determinare il miglior insieme di pacchetti da installare,
aggiornare e rimuovere per arrivare alla versione più aggiornata
del sistema possibile. In alcune situazioni può essere vantaggioso usare
dist-upgrade invece che sprecare tempo a risolvere manualmente le 
dipendenze con <prgn>dselect</>. Una volta completato dist-upgrade, si può
usare <prgn>dselect</> per installare eventuali pacchetti che sono stati
tralasciati.

<p>
È importante controllare attentamente cosa intende fare dist-upgrade,
dato che le sue decisioni a volte possono essere abbastanza sorprendenti.
</taglist>

<p>
<prgn>apt-get</> ha diverse opzioni a linea di comando, che vengono 
documentate dettagliatamente nella sua pagina man, 
<manref name="apt-get" section="8">. L'opzione più utile è 
<tt>-d</>, che non installa i file scaricati: se il sistema deve
scaricare un gran numero di pacchetti, non è bene farglieli installare
subito, in caso dovesse andare male qualcosa. Dopo aver usato <tt>-d</>,
gli archivi scaricati possono essere installati semplicemente dando di
nuovo lo stesso comando senza l'opzione <tt>-d</>.

</chapt>
                                                                  <!-- }}} -->
<!-- DSelect		                                               {{{ -->
<!-- ===================================================================== -->
<chapt>DSelect
<p>
Il metodo APT di <prgn>dselect</> fornisce tutte le funzionalità di APT
all'interno dell'interfaccia grafica di selezione dei pacchetti 
<prgn>dselect</>. <prgn>dselect</> viene usato per selezionare i pacchetti
da installare o rimuovere, ed APT li installa.

<p>
Per abilitare il metodo APT dovete selezionare [A]ccess in <prgn>dselect</> 
e scegliere il metodo APT; vi verrà chiesto un insieme di fonti
(<em>Sources</>), cioè di posti da cui scaricare gli archivi.
Tali fonti possono essere siti Internet remoti, mirror locali di Debian
o CDROM; ciascuna di esse può fornire una parte dell'archivio Debian,
ed APT le combinerà insieme in un set completo di pacchetti. Se avete un
CDROM è una buona idea indicare quello per primo, e poi i mirror, in modo
da avere accesso alle ultime versioni; APT userà in questo modo automaticamente
i pacchetti sul CDROM prima di scaricarli da Internet.

<p>
<example>
   Set up a list of distribution source locations
	 
 Please give the base URL of the debian distribution.
 The access schemes I know about are: http file
	   
 For example:
      file:/mnt/debian,
      ftp://ftp.debian.org/debian,
      http://ftp.de.debian.org/debian,
      
      
 URL [http://llug.sep.bnl.gov/debian]: 
</example>

<p>
La configurazione delle fonti inizia chiedendo la base dell'archivio Debian,
propone come default un mirror HTTP, e poi chiede la distribuzione
da scaricare.

<p>
<example>
 Please give the distribution tag to get or a path to the
 package file ending in a /. The distribution
 tags are typically something like: stable unstable testing non-US
   
 Distribution [stable]: 
</example>

<p>
La distribuzione (``distribution'') fa riferimento alla versione Debian
dell'archivio: <em>stable</> è l'ultima rilasciata, ed <em>unstable</> 
è quella di sviluppo. <em>non-US</> è disponibile solo su alcuni mirror,
e contiene dei pacchetti in cui viene usata della tecnologia di criptazione
o altre cose che non possano essere esportate dagli Stati Uniti; importare
questi pacchetti negli US è però legale.

<p>
<example>
 Please give the components to get
 The components are typically something like: main contrib non-free
  
 Components [main contrib non-free]:
</example>

<p>
L'elenco dei componenti (``components'') si riferisce alla lista di
sotto-distribuzioni da scaricare. Ciascuna distribuzione viene divisa in
base al copyright del software: la main contiene pacchetti la cui licenza
soddisfa le DFSG, mentre contrib e non-free contengono software che ha
diverse restrizioni sull'uso e sulla distribuzione.

<p>
Si possono inserire un qualsiasi numero di fonti, e lo script di 
configurazione continuerà a chiedere fino a che abbiate specificato tutti gli
elementi che volete.

<p>
Prima di cominciare ad usare <prgn>dselect</> è necessario aggiornare 
l'elenco dei pacchetti disponibili selezionando [U]pdate dal menù:
si tratta di un sovrainsieme di ciò che fa <tt>apt-get update</>,
che rende l'informazione scaricata disponibile a
<prgn>dselect</>. [U]pdate deve essere fatto anche se prima è stato dato 
<tt>apt-get update</>.

<p>
Si può a questo punto continuare selezionando i pacchetti desiderati
usando [S]elect e poi installando con [I]nstall. Se si usa il metodo APT,
i comandi [C]onfig e [R]emove non hanno significato, dato che entrambe le
fasi sono contenute in [I]nstall.

<p>
Per default APT rimuoverà automaticamente i pacchetti che sono stati installati
con successo. Per modificare questo comportamento, si inserisca 
<tt>Dselect::clean "prompt";</> in /etc/apt/apt.conf.

</chapt>
                                                                  <!-- }}} -->
<!-- The Interfaces						       {{{ -->
<!-- ===================================================================== -->
<chapt>L'interfaccia

<p>
Entrambi i metodi,  <prgn>dselect</> APT ed <prgn>apt-get</>, condividono la
stessa interfaccia; si tratta di un sistema semplice che indica in genere
cosa sta per fare, e poi lo fa.
<footnote>
Il metodo <prgn>dselect</> è in realtà un insieme di script di wrapper ad
<prgn>apt-get</>. Il metodo fornisce delle funzionalità maggiori del
solo <prgn>apt-get</>.
</footnote>
Dopo la stampa di un riassunto delle operazioni che saranno fatte,
APT stampa dei messaggi informativi sullo stato del sistema, in modo che
possiate avere davanti agli occhi a quale punto dell'operazione si trova,
e quanto ancora si deve aspettare.

<!-- ===================================================================== -->
<sect>Avvio

<p>
Prima di ciascuna operazione, eccetto l'aggiornamento della lista, APT
compie alcune operazioni per prepararsi, oltre a dei controlli dello
stato del sistema. In qualsiasi momento le stesse operazioni possono essere
fatte con <tt>apt-get check</>
<p>
<example>
# apt-get check
Reading Package Lists... Done
Building Dependancy Tree... Done
</example>

<p>
La prima cosa che fa è leggere tutti i file dei pacchetti in memoria,
usando uno schema di caching in modo da rendere la stessa operazione più
veloce la seconda volta che la si fa. Se alcuni dei file dei pacchetti
non vengono trovati, sono ignorati e viene stampato un avvertimento
all'uscita di apt-get.

<p>
L'operazione finale consiste in un'analisi dettagliata delle
dipendenze del sistema: viene controllato che tutte le dipendenze dei
singoli pacchetti installati o non scompattati siano soddisfatte.
Se vengono individuati dei problemi, viene stampato un resoconto,
ed <prgn>apt-get</> esce senza eseguire alcuna operazione.

<p>
<example>
# apt-get check
Reading Package Lists... Done
Building Dependancy Tree... Done
You might want to run apt-get -f install' to correct these.
Sorry, but the following packages have unmet dependencies:
  9fonts: Depends: xlib6g but it is not installed
  uucp: Depends: mailx but it is not installed
  blast: Depends: xlib6g (>= 3.3-5) but it is not installed
  adduser: Depends: perl-base but it is not installed
  aumix: Depends: libgpmg1 but it is not installed
  debiandoc-sgml: Depends: sgml-base but it is not installed
  bash-builtins: Depends: bash (>= 2.01) but 2.0-3 is installed
  cthugha: Depends: svgalibg1 but it is not installed
           Depends: xlib6g (>= 3.3-5) but it is not installed
  libreadlineg2: Conflicts:libreadline2 (<< 2.1-2.1)
</example>

<p>
In questo esempio il sistema ha molti problemi, tra cui uno piuttosto serio
con la libreadlineg2. Per ciascun pacchetto che ha dipendenze non soddisfatte,
viene stampata una linea che indica il pacchetto che crea il problema e
quali problemi ci sono. Viene inclusa inoltre una breve spiegazione
del perché il pacchetto ha un problema di dipendenze.

<p>
Ci sono due modi in cui un sistema possa arrivare in uno stato problematico
di questo genere: il primo è causato dal fatto che <prgn>dpkg</> possa
mancare alcune relazioni sottili tra pacchetti durante un aggiornamento
del sistema<footnote>APT considera comunque tutte le dipendenze note,
e cerca di prevenire problemi ai pacchetti</footnote>; il secondo è possibile
se l'installazione di un pacchetto fallisce, ed in questo caso è possibile
che un pacchetto venga scompattato senza che tutti quelli da cui dipende
siano stati installati.

<p>
La seconda possibilità è meno seria della prima, dato che APT gestisce
l'ordine di installazione dei pacchetti; in entrambi i casi l'opzione
<tt>-f</> di <prgn>apt-get</> gli farà trovare una soluzione e lo farà
continuare. Il metodo APT di <prgn>dselect</> comprende sempre l'opzione 
<tt>-f</> per permettere di configurare facilmente anche i pacchetti con
script errati.

<p>
Se viene usata però l'opzione <tt>-f</> per correggere un sistema in uno
stato molto problematico, è possibile che anche con l'opzione il programma
fallisca, subito o durante la sequenza di installazione. In entrambi i casi
è necessario usare dpkg a mano (probabilmente usando delle opzioni
di forzatura) per correggere quanto basta per poter fare continuare APT.
</sect>

<!-- ===================================================================== -->
<sect>Il resoconto sullo stato

<p>
Prima di procedere,  <prgn>apt-get</> presenterà un resoconto delle operazioni
che sta per fare. In genere tale resoconto varierà con il tipo di operazioni
da fare, ma ci sono alcuni elementi comuni: in tutti i casi gli elenchi 
dipendono dallo stato finale delle cose, e tengono conto dell'opzione 
<tt>-f</> e di altre attività rilevanti per il comando da eseguire.

<sect1>L'elenco dei pacchetti Extra
<p>
<example>
The following extra packages will be installed:
  libdbd-mysql-perl xlib6 zlib1 xzx libreadline2 libdbd-msql-perl
  mailpgp xdpkg fileutils pinepgp zlib1g xlib6g perl-base
  bin86 libgdbm1 libgdbmg1 quake-lib gmp2 bcc xbuffy
  squake pgp-i python-base debmake ldso perl libreadlineg2
  ssh
</example>

<p>
L'elenco dei pacchetti Extra mostra tutti i pacchetti che verranno installati
o aggiornati oltre a quelli indicati sulla linea di comando. Viene generato
solo per il comando <tt>install</>. I pacchetti elencati sono spesso il
risultato di un'operazione di auto installazione (Auto Install).
</sect1>

<sect1>I pacchetti da rimuovere
<p>
<example>
The following packages will be REMOVED:
  xlib6-dev xpat2 tk40-dev xkeycaps xbattle xonix
  xdaliclock tk40 tk41 xforms0.86 ghostview xloadimage xcolorsel
  xadmin xboard perl-debug tkined xtetris libreadline2-dev perl-suid
  nas xpilot xfig 
</example>

<p>
L'elenco dei pacchetti da rimuovere (Remove) indica tutti i pacchetti che
verranno rimossi dal sistema. Può essere mostrato per una qualsiasi delle
operazioni, e deve sempre essere esaminato attentamente per assicurarsi
che non venga eliminato qualcosa di importante. Con l'opzione <tt>-f</>
è particolarmente probabile che vengano eliminati dei pacchetti, ed in questo
caso va fatta estrema attenzione. La lista può contenere dei pacchetti
che verranno rimossi perché sono già rimossi parzialmente, forse a causa
di un'installazione non terminata correttamente.
</sect1>

<sect1>L'elenco dei nuovi pacchetti installati
<p>
<example>
The following NEW packages will installed:
  zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base
</example>

<p>
L'elenco dei nuovi pacchetti installati (New) è semplicemente un appunto
su quello che accadrà. I pacchetti nell'elenco non sono al momento installati
nel sistema, ma lo saranno alla fine delle operazioni di APT.
</sect1>

<sect1>L'elenco dei pacchetti trattenuti
<p>
<example>
The following packages have been kept back
  compface man-db tetex-base msql libpaper svgalib1
  gs snmp arena lynx xpat2 groff xscreensaver
</example>

<p>
In ogni caso in cui il sistema viene aggiornato nel suo insieme, c'è la
possibilità che non possano venire installate nuove versioni di alcuni 
pacchetti, dato che potrebbero richiedere l'installazione di pacchetti non
presenti nel sistema, o entrare in conflitto con altri già presenti. 
In questo caso, il pacchetto viene elencato nella lista di quelli
trattenuti (Kept Back). Il miglior modo per convincere i pacchetti 
elencati in questa lista è di installarli con <tt>apt-get install</> o 
usare <prgn>dselect</> per risolvere i problemi.
</sect1>

<sect1>Messaggi di attenzione sui pacchetti trattenuti
<p>
<example>
The following held packages will be changed:
  cvs 
</example>

<p>
A volte si può richiedere ad APT di installare un pacchetto
che è stato trattenuto; in questi casi viene stampato un messaggio di
attenzione, che avverte che il pacchetto verrà modificato. Questo 
dovrebbe accadere solo durante operazioni di dist-upgrade o di install.
</sect1>

<sect1>Resoconto finale
<p>
Infine, APT stamperà un riassunto di tutte le modifiche che accadranno.

<p>
<example>
206 packages upgraded, 8 newly installed, 23 to remove and 51 not upgraded.
12 packages not fully installed or removed.
Need to get 65.7M/66.7M of archives. After unpacking 26.5M will be used. 
</example>

<p>
La prima linea del riassunto è semplicemente una versione ridotta di tutte
le liste, ed include il numero di aggiornamenti -- cioè dei pacchetti
già installati per cui sono disponibili nuove versioni. La seconda
linea indica il numero di pacchetti con problemi di configurazione,
probabilmente in conseguenza di un'installazione non andata a buon fine.
La linea finale indica i requisiti di spazio dell'installazione: i primi
due numeri indicano rispettivamente il numero di byte che devono
essere trasferiti da posizioni remote, ed il secondo la dimensione totale
di tutti gli archivi necessari per l'installazione. Il numero successivo
indica la differenza in dimensione tra i pacchetti già installati
e quelli che lo saranno, ed è approssimativamente equivalente allo spazio
richiesto in /usr dopo l'installazione. Se si stanno rimuovendo dei
pacchetti, il valore può indicare lo spazio che verrà liberato.

<p>
Si possono generare altri resoconti usando l'opzione -u per mostrare
i pacchetti da aggiornare, ma sono simili all'esempio precedente.
</sect>

<!-- ===================================================================== -->
<sect>La visualizzazione dello stato
<p>
Durante il download degli archivi e dei file dei pacchetti, APT
stampa una serie di messaggi di stato.

<p>
<example>
# apt-get update
Get:1 http://ftp.de.debian.org/debian-non-US/ stable/non-US/ Packages
Get:2 http://llug.sep.bnl.gov/debian/ testing/contrib Packages
Hit http://llug.sep.bnl.gov/debian/ testing/main Packages
Get:4 http://ftp.de.debian.org/debian-non-US/ unstable/binary-i386/ Packages
Get:5 http://llug.sep.bnl.gov/debian/ testing/non-free Packages
11% [5 testing/non-free `Waiting for file' 0/32.1k 0%] 2203b/s 1m52s
</example>

<p>
Le linee che cominciano con <em>Get</> vengono stampate quando APT inizia
a scaricare un file, e l'ultima linea indica il progresso dell'operazione.
Il primo valore in percentuale indica la percentuale totale di tutti i file;
dato che la dimensione dei file Package non è nota, purtroppo a volte
<tt>apt-get update</> fa una stima poco accurata.

<p>
La sezione successiva della linea di stato viene ripetuta una volta per 
ciascuna fase del download, ed indica l'operazione in corso, insieme
ad alcune informazioni utili su cosa stia accadendo. A volte questa
sezione contiene solamente <em>Forking</>, che significa che il sistema
operativo sta caricando il modulo. La prima parola dopo la parentesi quadra
aperta è il nome breve dell'oggetto che si sta scaricando, che per gli archivi 
è il nome del pacchetto.

<p>
All'interno delle virgolette c'è una stringa informativa, che indica il 
progresso della fase di negoziazione del download. Tipicamente comincia con
<em>Connecting</>, procede con <em>Waiting for file</> e poi con 
<em>Downloading</> o <em>Resuming</>. Il valore finale è il numero di byte 
che sono stati scaricati dal sito remoto: una volta cominciato il 
download viene rappresentato come <tt>102/10.2k</>, che indica che
sono stati scaricati 102 byte di 10.2 kilobyte. La dimensione totale
viene sempre espressa in notazione a quattro cifre, per risparmiare 
spazio. Dopo la dimensione viene indicato un indicatore
progressivo della percentuale del file. Il penultimo elemento è la velocità
istantanea media, che viene aggiornata ogni 5 secondi, e riflette la
velocità di trasferimento dei dati in quel periodo. Infine, viene 
visualizzato il tempo stimato per il trasferimento, che viene aggiornato
periodicamente e riflette il tempo necessario per completare tutte le
operazioni alla velocità di trasferimento mostrata.

<p> 
La visualizzazione dello stato viene aggiornata ogni mezzo secondo per
fornire un feedback costante del processo di download, e le linee Get
scorrono indietro quando viene cominciato il download di un nuovo file.
Dato che la visualizzazione dello stato viene costantemente
aggiornata, non è adatta per essere registrata in un file; per non 
visualizzarla si può usare l'opzione <tt>-q</>.
</sect>

<!-- ===================================================================== -->
<sect>Dpkg

<p>
APT usa <prgn>dpkg</> per installare gli archivi e passerà all'interfaccia
<prgn>dpkg</> una volta finito il download. 
<prgn>dpkg</> porrà anche alcune domande durante la manipolazione dei
pacchetti, ed i pacchetti stessi 
potranno farne altre. Prima di ciascuna domanda viene
proposta una descrizione di quello che sta per chiedere, e le domande
sono troppo diverse per poter essere discusse in maniera completa in questa
occasione.
</sect>

</chapt>
                                                                  <!-- }}} -->

</book>