This file is indexed.

/usr/share/doc/apt-doc/guide.pl.html/ch4.html is in apt-doc 1.0.1ubuntu2.

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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8">

<title>Podręcznik użytkownika APT - Interfejs</title>

<link href="index.html" rel="start">
<link href="ch3.html" rel="prev">
<link href="index.html" rel="next">
<link href="index.html#contents" rel="contents">
<link href="index.html#copyright" rel="copyright">
<link href="ch1.html" rel="chapter" title="1 Ogólne">
<link href="ch2.html" rel="chapter" title="2 apt-get">
<link href="ch3.html" rel="chapter" title="3 DSelect">
<link href="ch4.html" rel="chapter" title="4 Interfejs">
<link href="ch1.html#s1.1" rel="section" title="1.1 Budowa systemu pakietów">
<link href="ch4.html#s4.1" rel="section" title="4.1 Uruchamianie">
<link href="ch4.html#s4.2" rel="section" title="4.2 Raport stanu">
<link href="ch4.html#s4.3" rel="section" title="4.3 Wyświetlanie stanu przetwarzania">
<link href="ch4.html#s4.4" rel="section" title="4.4 Dpkg">
<link href="ch4.html#s4.2.1" rel="subsection" title="4.2.1 Lista dodatkowych pakietów">
<link href="ch4.html#s4.2.2" rel="subsection" title="4.2.2 Pakiety przeznaczone do usunięcia">
<link href="ch4.html#s4.2.3" rel="subsection" title="4.2.3 Lista nowych pakietów">
<link href="ch4.html#s4.2.4" rel="subsection" title="4.2.4 Lista zatrzymanych pakietów">
<link href="ch4.html#s4.2.5" rel="subsection" title="4.2.5 Ostrzeżenie o zmianie zatrzymanych pakietów">
<link href="ch4.html#s4.2.6" rel="subsection" title="4.2.6 Podsumowanie">

</head>

<body>

<p><a name="ch4"></a></p>
<hr>

<p>
[ <a href="ch3.html">powrót</a> ]
[ <a href="index.html#contents">Spis treści</a> ]
[ <a href="ch1.html">1</a> ]
[ <a href="ch2.html">2</a> ]
[ <a href="ch3.html">3</a> ]
[ 4 ]
[ <a href="index.html">dalej</a> ]
</p>

<hr>

<h1>
Podręcznik użytkownika APT
<br>Część 4 - Interfejs
</h1>

<p>
Metoda APT programu <code>dselect</code> i program <code>apt-get</code> dzielą
wspólny interfejs.  Jest to prosty system, który najpierw informuje
użytkownika, co będzie zrobione, a następnie to robi[<a
href="footnotes.html#f2" name="fr2">2</a>].  Po wyświetleniu podsumowania
informującego o tym, co będzie zrobione, APT wyświetla komunikaty dotyczące
postępu przeprowadzanych operacji, tak żeby można było oszacować czas
pozostały do ich zakończenia.
</p>

<hr>

<h2 id="s4.1">4.1 Uruchamianie</h2>

<p>
Przed każdą operacją, z wyjątkiem update, APT przeprowadza pewne akcje
przygotowujące wewnętrzny stan.  Sprawdza również stan systemu.  Te same
operacje można przeprowadzić w dowolnej chwili, uruchamiając <samp>apt-get
check</samp>.
</p>

<pre>
     # apt-get check
     Czytanie list pakietów... Gotowe
     Budowanie drzewa zależności... Gotowe
</pre>

<p>
Pierwszą rzeczą, którą robi, jest wczytanie wszystkich plików pakietów do
pamięci.  APT używa buforowania, tak żeby przyspieszyć tę operację przy
następnym uruchomieniu.  Jeśli nie znajdzie niektórych plików pakietów, to
wypisze ostrzeżenie, a te pakiety zignoruje.
</p>

<p>
Końcową operacją jest szczegółowa analiza zależności w systemie.
Sprawdzana jest każda zależność każdego pakietu zainstalowanego lub
rozpakowanego.  W razie wykrycia problemów z zależnościami
<code>apt-get</code> wypisze odpowiedni komunikat i odmówi dalszego
działania.
</p>

<pre>
     # apt-get check
     Czytanie list pakietów... Gotowe
     Budowanie drzewa zależności... Gotowe
     Należy uruchomić &quot;apt-get -f install&quot;, aby je naprawić.
     Następujące pakiety mają niespełnione zależności:
       9fonts: Wymaga: xlib6g ale nie jest zainstalowany
       uucp: Wymaga: mailx ale nie jest zainstalowany
       blast: Wymaga: xlib6g (&gt;= 3.3-5) ale nie jest zainstalowany
       adduser: Wymaga: perl-base ale nie jest zainstalowany
       aumix: Wymaga: libgpmg1 but ale nie jest zainstalowany
       debiandoc-sgml: Wymaga: sgml-base ale nie jest zainstalowany
       bash-builtins: Wymaga: bash (&gt;= 2.01) but 2.0-3 is installed
       cthugha: Wymaga: svgalibg1 but it is not installed
                Wymaga: xlib6g (&gt;= 3.3-5) ale nie jest zainstalowany
       libreadlineg2: Jest w konflikcie z: libreadline2 (&lt;&lt; 2.1-2.1)
</pre>

<p>
Powyższy przykład przedstawia system mający wiele problemów, włączając
to poważny problem z libreadlineg2.  Każdy pakiet mający niespełnione
zależności jest wypisywany w osobnej linii razem z niespełnionymi
zależnościami.  Podane jest również krótkie wyjaśnienie dotyczące
przyczyny problemu.
</p>

<p>
Są dwie przyczyny, z których powodu system może być zepsuty w powyższy
sposób.  Pierwszą jest to, że <code>dpkg</code> podczas aktualizacji systemu
nie zauważył jakiejś subtelnej relacji między pakietami[<a
href="footnotes.html#f3" name="fr3">3</a>].  Drugą przyczyną jest
wystąpienie błędu w czasie instalowania pakietu.  W takim przypadku pakiet
może być rozpakowany, mimo że pakiety od niego zależące nie są
zainstalowane.
</p>

<p>
Druga przyczyna jest o wiele mniej poważna niż pierwsza, ponieważ APT
wymusza pewne więzy integralności dotyczące kolejności instalowania
pakietów.  W obu przypadkach przekazanie programowi <code>apt-get</code> opcji
<samp>-f</samp> wymusi na APT znalezienie rozwiązania umożliwiającego mu
kontynuowanie działania.  Metoda APT programu <code>dselect</code> zawsze
przekazuje opcję <samp>-f</samp>, aby móc kontynuować po wystąpieniu
błędu w skryptach opiekunów pakietów.
</p>

<p>
Jednak gdy opcja <samp>-f</samp> jest używana do poprawienia zależności w
poważnie uszkodzonym systemie (pierwsza z opisanych wyżej przyczyn), możliwe
jest że albo od razu zwróci błąd, albo nie powiedzie się sekwencja
instalowania pakietów.  W obu przypadkach należy poprawić zależności
ręcznie, używając do tego dpkg (być może przekazując mu opcje
wymuszające &quot;--force-...&quot;), w takim stopniu, aby umożliwić
działanie systemowi APT.
</p>

<hr>

<h2 id="s4.2">4.2 Raport stanu</h2>

<p>
Przed rozpoczęciem przetwarzania <code>apt-get</code> wyświetli raport
zawierający informacje o tym, co będzie zrobione.  W ogólności raport ten
zależy od typu wykonywanej operacji, jednakże występuje w nim kilka
elementów wspólnych dla wszystkich typów.  We wszystkich wypadkach
wyświetlane są informacje o końcowym stanie, brana jest pod uwagę opcja
<samp>-f</samp>, a także wszystkie istotne działania wykonywanego polecenia.
</p>

<hr>

<h3 id="s4.2.1">4.2.1 Lista dodatkowych pakietów</h3>

<pre>
     Zostaną zainstalowane następujące dodatkowe pakiety:
       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>
Lista dodatkowych pakietów wyświetla wszystkie pakiety, które będą
zainstalowane lub zaktualizowane oprócz tych wymienionych w linii poleceń.
Jest generowana tylko dla polecenia <samp>install</samp>.  Wymienione pakiety
są najczęściej wynikiem automatycznej instalacji.
</p>

<hr>

<h3 id="s4.2.2">4.2.2 Pakiety przeznaczone do usunięcia</h3>

<pre>
     Następujące pakiety zostaną USUNIĘTE:
       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>
Lista pakietów przeznaczonych do usunięcia wyświetla wszystkie pakiety,
które zostaną usunięte z systemu.  Może być pokazana dla każdej operacji
i powinna być szczegółowo przeanalizowana, aby zapewnić, że żaden istotny
pakiet nie będzie usunięty.  W szczególności opcja <samp>-f</samp> może
wygenerować sporo pakietów do usunięcia, także w przypadku jej użycia
należy szczególnie dokładnie przeanalizować wyświetlany raport.  Lista
może zawierać pakiety usuwane z powodu ich tylko częściowego
zainstalowania, wynikającego być może z przerwania wcześniejszej
instalacji.
</p>

<hr>

<h3 id="s4.2.3">4.2.3 Lista nowych pakietów</h3>

<pre>
     Zostaną zainstalowane następujące NOWE pakiety:
       zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base
</pre>

<p>
Lista nowych pakietów to proste przypomnienie o tym, co się stanie.  Wypisane
pakiety nie są obecnie zainstalowane w systemie, ale będą, kiedy APT
skończy działanie.
</p>

<hr>

<h3 id="s4.2.4">4.2.4 Lista zatrzymanych pakietów</h3>

<pre>
     Następujące pakiety zostały zatrzymane:
       compface man-db tetex-base msql libpaper svgalib1
       gs snmp arena lynx xpat2 groff xscreensaver
</pre>

<p>
Jeśli aktualizowany jest cały system, to jest możliwe, że nowe wersje
pakietów nie będą mogły być zainstalowane, ponieważ wymagają nowych
pakietów lub są w konflikcie z już zainstalowanymi pakietami.  W takim
wypadku pakiet pojawi się na liście pakietów zatrzymanych.  Najlepszym
sposobem na zainstalowanie takich pakietów jest użycie <samp>apt-get
install</samp> lub rozwiązanie problemów z zależnościami za pomocą
programu <code>dselect</code>.
</p>

<hr>

<h3 id="s4.2.5">4.2.5 Ostrzeżenie o zmianie zatrzymanych pakietów</h3>

<pre>
     Zostaną zmienione następujące zatrzymane pakiety:
       cvs
</pre>

<p>
Czasami można poprosić APT o zainstalowanie pakietu, który jest zatrzymany.
W takim przypadku wypisywane jest ostrzeżenie o zmianie zatrzymanego pakietu.
Może się to zdarzyć tylko podczas dist-upgrade lub install.
</p>

<hr>

<h3 id="s4.2.6">4.2.6 Podsumowanie</h3>

<p>
APT zakończy raport podsumowaniem wszystkich zmian, które przeprowadzi.
</p>

<pre>
     206 aktualizowanych, 8 nowo instalowanych, 25 usuwanych i 51 nieaktualizowanych.
     12 nie w pełni zainstalowanych lub usuniętych.
     Konieczne pobranie 65.7M/66.7M archiwów. Po rozpakowaniu zostanie użyte 26.5M.
</pre>

<p>
Pierwsza linia podsumowania jest uproszczoną wersją powyższych list i
zawiera liczbę aktualizacji - to jest pakietów już zainstalowanych, których
nowsze wersje są dostępne.  W drugiej linii wyświetlono liczbę nie do
końca skonfigurowanych pakietów, prawdopodobnie w wyniku przerwania
poprzedniej instalacji.  Ostatnia linia zawiera dane dotyczące miejsca na
dysku.  Pierwsza para liczb odnosi się do rozmiaru plików archiwum: pierwsza
liczba oznacza liczbę bajtów, które muszą zostać pobrane ze zdalnych
serwerów, a druga - całkowity rozmiar wszystkich żądanych archiwów.
Kolejna liczba oznacza różnicę rozmiarów pomiędzy obecnie zainstalowanymi
pakietami, a nowo instalowanymi pakietami.  W przybliżeniu odpowiada
przestrzeni dysku, która będzie zajęta w /usr po zakończeniu instalacji.
Wartość ta może wskazywać na zwolnienie miejsca na dysku, jeśli usuwana
jest duża liczba pakietów.
</p>

<p>
Używając opcji -u, można wygenerować raport pokazujący pakiety
przeznaczone do aktualizacji, podobny do tego pokazanego w poprzednim
przykładzie.
</p>

<hr>

<h2 id="s4.3">4.3 Wyświetlanie stanu przetwarzania</h2>

<p>
Podczas pobierania archiwów i plików pakietów APT wyświetla serię
komunikatów o stanie.
</p>

<pre>
     # apt-get update
     Pob:1 http://ftp.de.debian.org/debian-non-US/ stable/non-US/ Packages
     Pob:2 http://llug.sep.bnl.gov/debian/ testing/contrib Packages
     Traf http://llug.sep.bnl.gov/debian/ testing/main Packages
     Pob:4 http://ftp.de.debian.org/debian-non-US/ unstable/binary-i386/ Packages
     Pob:5 http://llug.sep.bnl.gov/debian/ testing/non-free Packages
     11% [5 testing/non-free `Oczekiwane na nagłówki' 0/32.1k 0%] 2203b/s 1m52s
</pre>

<p>
Linie zaczynające się od <em>Pob:</em> są wypisywane, kiedy APT zaczyna
pobierać plik, a ostatnia linia oznacza postęp pobierania.  Pierwsza
wartość podana w procentach określa całkowity procent pobierania wszystkich
plików.  Niestety rozmiar plików Package nie jest znany, tak więc
<samp>apt-get update</samp> estymuje procent wykonanego pobierania, co powoduje
pewne nieścisłości.
</p>

<p>
Następna sekcja linii statusu powtarza się dla każdego wątku pobierania,
oznacza przeprowadzanie operacji i podaje kilka użytecznych informacji na
temat tego, co się dzieje.  Czasem sekcja ta zawiera komunikat <em>Tworzenie
procesu potomnego</em>, co oznacza, że system operacyjny ładuje moduł
pobierania.  Pierwszym słowem po znaku &quot;[&quot; jest liczba pobrań,
dokładnie taka jaka jest pokazana liczba linii historii pobrań.  Następnie w
skróconej formie wyświetlana jest nazwa pobieranego obiektu.  W przypadku
archiwów nazwa ta będzie zawierać nazwę pobieranego pakietu.
</p>

<p>
W pojedynczych cudzysłowach podawany jest komunikat wskazujący na postęp
tworzenia połączenia pobierania danych.  Zazwyczaj postęp ten jest
sekwencją zdarzeń od <em>Podłączanie</em> przez <em>Oczekiwanie na
nagłówki</em> do <em>Pobieranie</em> lub <em>Wznawianie</em>.  Końcową
wartością jest liczba bajtów pobranych ze zdalnego serwera.  Kiedy tylko
pobieranie się rozpocznie, wartość ta jest wyświetlana jw formacie typu
<samp>102/10.2k</samp>, co oznacza, że pobrano 102 bajty, a oczekuje się
jeszcze pobrania 10.2 kilobajtów.  Aby zaoszczędzić miejsce, całkowity
rozmiar jest zawsze wyświetlany jako w postaci 4-znakowej.  Po rozmiarze
następuje procentowy wskaźnik postępu pobierania danego pliku.
Przedostatnim elementem jest bieżąca średnia prędkość pobierania, która
jest aktualizowane co każde 5 sekund i odzwierciedla tempo pobierania w tym
okresie.  W końcu wyświetlany jest estymowany czas pobierania, regularnie
aktualizowany i odzwierciedlający czas pozostały do zakończenia pobierania
przy założeniu utrzymania się pokazanego tempa pobierania.
</p>

<p>
Linia stanu jest aktualizowana co każde pół sekundy, aby na bieżąco
informować użytkownika o postępie pobierania, podczas gdy linie
&quot;Pob:&quot; są przesuwane w dół, gdy tylko zacznie się pobieranie
nowego pliku.  Ponieważ linia stanu jest ciągle zmieniana, wyjście programu
nie jest odpowiednie do przekierowania do pliku.  Aby usunąć linie stanu,
należy użyć opcji <samp>-q</samp>.
</p>

<hr>

<h2 id="s4.4">4.4 Dpkg</h2>

<p>
APT używa programu <code>dpkg</code> do instalowania archiwów i przełączy
się do interfejsu <code>dpkg</code>, gdy tylko zakończy pobieranie plików.
<code>dpkg</code> może również zadawać pytania podczas przetwarzania
pakietów, a same pakiety także mogą zadawać pytania.  Każde pytanie
zazwyczaj jest poprzedzone opisem, a same pytania są zbyt zróżnicowane, by
je tutaj opisać.
</p>

<hr>

<p>
[ <a href="ch3.html">powrót</a> ]
[ <a href="index.html#contents">Spis treści</a> ]
[ <a href="ch1.html">1</a> ]
[ <a href="ch2.html">2</a> ]
[ <a href="ch3.html">3</a> ]
[ 4 ]
[ <a href="index.html">dalej</a> ]
</p>

<hr>

<p>
Podręcznik użytkownika APT
</p>

<address>
$Id: guide.sgml,v 1.7 2003/04/26 23:26:13 doogie Exp $<br>
<br>
Jason Gunthorpe <code><a href="mailto:jgg@debian.org">mailto:jgg@debian.org</a></code><br>
<br>
</address>
<hr>

</body>

</html>