/usr/share/doc/apt-doc/guide.it.html/ch4.html is in apt-doc 1.0.9.8.4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Capitolo 4. L'interfaccia</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="home" href="index.html" title="Guida dell'utente di APT"/>
<link rel="up" href="index.html" title="Guida dell'utente di APT"/>
<link rel="prev" href="ch3.html" title="Capitolo 3. DSelect"/>
</head>
<body>
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">Capitolo 4. L'interfaccia</th>
</tr>
<tr>
<td align="left"><a accesskey="p" href="ch3.html">Indietro</a> </td>
<th width="60%" align="center"> </th>
<td align="right"> </td>
</tr>
</table>
<hr/>
</div>
<div class="chapter">
<div class="titlepage">
<div>
<div>
<h1 class="title"><a id="ch4"/>Capitolo 4. L'interfaccia</h1>
</div>
</div>
</div>
<div class="toc">
<p>
<strong>Indice</strong>
</p>
<dl class="toc">
<dt>
<span class="section">
<a href="ch4.html#s4.1">4.1. Avvio</a>
</span>
</dt>
<dt>
<span class="section">
<a href="ch4.html#s4.2">4.2. Il resoconto sullo stato</a>
</span>
</dt>
<dt>
<span class="section">
<a href="ch4.html#s4.3">4.3. La visualizzazione dello stato</a>
</span>
</dt>
<dt>
<span class="section">
<a href="ch4.html#s4.4">4.4. Dpkg</a>
</span>
</dt>
</dl>
</div>
<p>
Both that APT <span class="command"><strong>dselect</strong></span> method and
<span class="command"><strong>apt-get</strong></span> share the same interface. It is a simple system
that generally tells you what it will do and then goes and does
it. <a href="#ftn.idp52530144" class="footnote" id="idp52530144"><sup class="footnote">[2]</sup></a> After printing out a summary of
what will happen APT then will print out some informative status messages so
that you can estimate how far along it is and how much is left to do.
</p>
<div class="section">
<div class="titlepage">
<div>
<div>
<h2 class="title"><a id="s4.1"/>4.1. Avvio</h2>
</div>
</div>
</div>
<p>
Prima di ogni operazione, eccetto update, APT compie alcune operazioni per
preparare il suo stato interno; fa inoltre dei controlli sullo stato del
sistema. In qualsiasi momento le stesse operazioni possono essere fatte con
<code class="literal">apt-get check</code>.
</p>
<pre class="screen">
# apt-get check
Lettura elenco pacchetti... Fatto
Generazione albero delle dipendenze... Fatto
</pre>
<p>
La prima cosa che fa è leggere tutti i file dei pacchetti in memoria; APT
usa un sistema di cache 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>
<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, e <span class="command"><strong>apt-get</strong></span> esce
senza eseguire alcuna operazione.
</p>
<pre class="screen">
# apt-get check
Lettura elenco pacchetti... Fatto
Generazione albero delle dipendenze... Fatto
È utile eseguire "run apt-get -f install" per correggere ciò.
I seguenti pacchetti hanno dipendenze non soddisfatte:
9fonts: Dipende: xlib6g ma non è installato
uucp: Dipende: mailx ma non è installato
blast: Dipende: xlib6g (>= 3.3-5) ma non è installato
adduser: Dipende: perl-base ma non è installato
aumix: Dipende: libgpmg1 ma non è installato
debiandoc-sgml: Dipende: sgml-base ma non è installato
bash-builtins: Dipende: bash (>= 2.01) ma la versione 2.0-3 è installata
cthugha: Dipende: svgalibg1 ma non è installato
Dipende: xlib6g (>= 3.3-5) ma non è installato
libreadlineg2: Va in conflitto: libreadline2 (<< 2.1-2.1)
</pre>
<p>
In questo esempio il sistema ha molti problemi, tra cui uno piuttosto serio
con libreadlineg2. Per ciascun pacchetto che ha dipendenze non soddisfatte,
viene stampata una riga che indica il pacchetto con il problema e quali
dipendenze non sono soddisfatte. Viene inclusa inoltre una breve spiegazione
del perché il pacchetto ha un problema di dipendenze.
</p>
<p>
There are two ways a system can get into a broken state like this. The first
is caused by <span class="command"><strong>dpkg</strong></span> missing some subtle relationships
between packages when performing upgrades. <a href="#ftn.idp52540544" class="footnote" id="idp52540544"><sup class="footnote">[3]</sup></a>. The second is if a package installation fails during an
operation. In this situation a package may have been unpacked without its
dependents being installed.
</p>
<p>
La seconda situazione è molto meno seria della prima, dato che APT pone
alcune restrizioni sull'ordine di installazione dei pacchetti. In entrambi i
casi l'opzione <code class="literal">-f</code> di <span class="command"><strong>apt-get</strong></span> farà sì
che APT trovi una soluzione possibile e possa continuare. Il metodo APT di
<span class="command"><strong>dselect</strong></span> comprende sempre l'opzione <code class="literal">-f</code>
per permettere di continuare facilmente anche in caso di script dei
manutentori errati.
</p>
<p>
Tuttavia, se l'opzione <code class="literal">-f</code> viene usata per correggere un
sistema in uno stato molto problematico causato da una situazione del primo
tipo, è possibile che l'operazione fallisca subito o che fallisca 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.
</p>
</div>
<div class="section">
<div class="titlepage">
<div>
<div>
<h2 class="title"><a id="s4.2"/>4.2. Il resoconto sullo stato</h2>
</div>
</div>
</div>
<p>
Prima di procedere, <span class="command"><strong>apt-get</strong></span> presenterà un resoconto delle
operazioni che sta per fare. In genere tale resoconto varierà con il tipo di
operazione da fare, ma ci sono svariati elementi comuni: in tutti i casi gli
elenchi riflettono lo stato finale delle cose, e tengono conto dell'opzione
<code class="literal">-f</code> e di altre attività rilevanti per il comando da
eseguire.
</p>
<div class="section">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="s4.2.1"/>4.2.1. L'elenco dei pacchetti extra</h3>
</div>
</div>
</div>
<pre class="screen">
I seguenti pacchetti saranno inoltre installati:
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
</pre>
<p>
L'elenco dei pacchetti extra mostra tutti i pacchetti che verranno
installati o aggiornati oltre a quelli indicati sulla riga di comando. Viene
generato solo per il comando <code class="literal">install</code>. I pacchetti
elencati sono spesso il risultato di un'operazione di installazione
automatica.
</p>
</div>
<div class="section">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="s4.2.2"/>4.2.2. I pacchetti da rimuovere</h3>
</div>
</div>
</div>
<pre class="screen">
I seguenti pacchetti saranno RIMOSSI:
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
</pre>
<p>
L'elenco dei pacchetti da rimuovere 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 <code class="literal">-f</code> è
particolarmente probabile che vengano eliminati dei pacchetti, perciò in
questo caso va fatta particolare attenzione. L'elenco può contenere dei
pacchetti che verranno rimossi perché sono solo parzialmente installati,
forse a causa di un'installazione non terminata correttamente.
</p>
</div>
<div class="section">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="s4.2.3"/>4.2.3. L'elenco dei nuovi pacchetti installati</h3>
</div>
</div>
</div>
<pre class="screen">
I seguenti pacchetti NUOVI saranno installati:
zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base
</pre>
<p>
L'elenco dei nuovi pacchetti installati è semplicemente un promemoria su
quello che accadrà. I pacchetti nell'elenco non sono al momento installati
nel sistema, ma lo saranno alla fine delle operazioni di APT.
</p>
</div>
<div class="section">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="s4.2.4"/>4.2.4. L'elenco dei pacchetti bloccati</h3>
</div>
</div>
</div>
<pre class="screen">
I seguenti pacchetti sono stati mantenuti alla versione attuale:
compface man-db tetex-base msql libpaper svgalib1
gs snmp arena lynx xpat2 groff xscreensaver
</pre>
<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 mantenuti
alla versione attuale. Il miglior modo per forzare l'installazione dei
pacchetti elencati in questa lista è installarli con <code class="literal">apt-get
install</code> o usare <span class="command"><strong>dselect</strong></span> per risolvere i
problemi.
</p>
</div>
<div class="section">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="s4.2.5"/>4.2.5. Messaggi di avvertimento sui pacchetti bloccati</h3>
</div>
</div>
</div>
<pre class="screen">
I seguenti pacchetti bloccati saranno cambiati:
cvs
</pre>
<p>
A volte si può richiedere ad APT di installare un pacchetto che è stato
bloccato; in questi casi viene stampato un messaggio che avverte che il
pacchetto verrà modificato. Questo dovrebbe accadere solo durante operazioni
di dist-upgrade o di install.
</p>
</div>
<div class="section">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="s4.2.6"/>4.2.6. Resoconto finale</h3>
</div>
</div>
</div>
<p>
Infine, APT stamperà un riassunto di tutte le modifiche che accadranno.
</p>
<pre class="screen">
206 aggiornati, 8 installati, 23 da rimuovere e 51 non aggiornati.
12 non completamente installati o rimossi..
È necessario scaricare 65.7M/66.7M di archivi. Dopo quest'operazione, verranno occupati 26.5M di spazio su disco.
</pre>
<p>
La prima riga del riassunto è semplicemente una versione ridotta di tutti
gli elenchi ed include il numero di aggiornamenti, cioè dei pacchetti già
installati per cui è disponibile una nuova versione. La seconda riga indica
il numero di pacchetti con problemi di configurazione, probabilmente in
conseguenza di un'installazione non andata a buon fine. La riga finale
indica i requisiti di spazio dell'installazione; i primi due numeri
riguardano la dimensione dei file archivio: indicano rispettivamente il
numero di byte che devono essere trasferiti da posizioni remote e la
dimensione totale di tutti gli archivi necessari. 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 molti pacchetti,
allora il valore può indicare lo spazio che verrà liberato.
</p>
<p>
Si possono generare altri resoconti usando l'opzione -u per mostrare i
pacchetti da aggiornare, ma sono simili all'esempio precedente.
</p>
</div>
</div>
<div class="section">
<div class="titlepage">
<div>
<div>
<h2 class="title"><a id="s4.3"/>4.3. La visualizzazione dello stato</h2>
</div>
</div>
</div>
<p>
Durante lo scaricamento degli archivi e dei file dei pacchetti APT stampa
una serie di messaggi di stato.
</p>
<pre class="screen">
# apt-get update
Scaricamento di:1 http://ftp.de.debian.org/debian-non-US/ stable/non-US/ Packages
Scaricamento di:2 http://llug.sep.bnl.gov/debian/ testing/contrib Packages
Trovato http://llug.sep.bnl.gov/debian/ testing/main Packages
Scaricamento di:4 http://ftp.de.debian.org/debian-non-US/ unstable/binary-i386/ Packages
Scaricamento di: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
</pre>
<p>
Le righe che cominciano con <span class="emphasis"><em>Scaricamento di</em></span> vengono
stampate quando APT inizia a scaricare un file, mentre l'ultima riga indica
il progresso dell'operazione. Il primo valore in percentuale nella riga di
progresso indica la percentuale totale scaricata di tutti i file; dato che
la dimensione dei file Package non è nota, purtroppo a volte
<code class="literal">apt-get update</code> fa una stima poco accurata.
</p>
<p>
La sezione successiva della riga di stato viene ripetuta una volta per
ciascuna istanza di scaricamento, ed indica l'operazione in corso, insieme
ad alcune informazioni utili su cosa stia accadendo. A volte questa sezione
contiene solamente <span class="emphasis"><em>Forking</em></span>, che significa che il
sistema operativo sta caricando il modulo per lo scaricamento. La prima
parola dopo la parentesi quadra aperta è il numero dello scaricamento come
mostrato nelle righe della cronologia. La parola successiva è il nome breve
dell'oggetto che si sta scaricando, che per gli archivi è il nome del
pacchetto.
</p>
<p>
All'interno delle virgolette singole c'è una stringa informativa, che indica
il progresso della fase di negoziazione dello scaricamento. Tipicamente
comincia con <span class="emphasis"><em>Connecting</em></span>, procede con <span class="emphasis"><em>Waiting
for file</em></span> e poi con <span class="emphasis"><em>Downloading</em></span> o
<span class="emphasis"><em>Resuming</em></span>; il valore finale è il numero di byte che sono
stati scaricati dal sito remoto. Una volta cominciato lo scaricamento, viene
rappresentato come <code class="literal">102/10.2k</code>, che indica che sono stati
scaricati 102 byte su 10,2 kilobyte attesi. 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>
<p>
La visualizzazione dello stato viene aggiornata ogni mezzo secondo per
fornire un feedback costante sul processo di scaricamento, e le righe Get
scorrono in alto quando viene avviato lo scaricamento 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 <code class="literal">-q</code>.
</p>
</div>
<div class="section">
<div class="titlepage">
<div>
<div>
<h2 class="title"><a id="s4.4"/>4.4. Dpkg</h2>
</div>
</div>
</div>
<p>
APT usa <span class="command"><strong>dpkg</strong></span> per installare gli archivi e passerà
all'interfaccia di <span class="command"><strong>dpkg</strong></span> una volta completati gli
scaricamenti. <span class="command"><strong>dpkg</strong></span> porrà anche alcune domande durante
l'elaborazione dei pacchetti, ed i pacchetti stessi potranno farne
altre. Prima di ciascuna domanda viene proposta di solito una descrizione di
ciò che viene chiesto, e le domande sono troppo diverse per poter essere
discusse in maniera completa in questa occasione.
</p>
</div>
<div class="footnotes">
<br/>
<hr/>
<div id="ftn.idp52530144" class="footnote">
<p><a href="#idp52530144" class="para"><sup class="para">[2] </sup></a> The <span class="command"><strong>dselect</strong></span> method actually is a set of wrapper scripts
to <span class="command"><strong>apt-get</strong></span>. The method actually provides more
functionality than is present in <span class="command"><strong>apt-get</strong></span> alone. </p>
</div>
<div id="ftn.idp52540544" class="footnote">
<p><a href="#idp52540544" class="para"><sup class="para">[3] </sup></a> APT however considers all known dependencies and attempts to prevent broken
packages </p>
</div>
</div>
</div>
<div class="navfooter">
<hr/>
<table width="100%" summary="Navigation footer">
<tr>
<td align="left"><a accesskey="p" href="ch3.html">Indietro</a> </td>
<td align="center"> </td>
<td align="right"> </td>
</tr>
<tr>
<td align="left" valign="top">Capitolo 3. DSelect </td>
<td align="center">
<a accesskey="h" href="index.html">Partenza</a>
</td>
<td align="right" valign="top"> </td>
</tr>
</table>
</div>
</body>
</html>
|