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
|
<!doctype debiandoc system>
<!-- -*- mode: sgml; mode: fold -*- -->
<book>
<title>Używanie APT w trybie offline</title>
<author>Jason Gunthorpe <email>jgg@debian.org</email></author>
<author>Polskie tłumaczenie Krzysztof Fiertek <email>akfedux@megapolis.pl</email></author>
<version>$Id: offline.pl.sgml,v 1.1 2004/07/29 16:43:13 mdz Exp $</version>
<abstract>
Dokument ten opisuje jak używać programu APT w środowiskach niesieciowych,
a w szczególności metodę pozwalającą na robienie aktualizacji systemu.
</abstract>
<copyright>
Copyright © Jason Gunthorpe, 1999.
<p>
Copyright © polskiego tłumaczenia Krzysztof Fiertek, 2004.
<p>
"APT" i ten dokument są oprogramowaniem wolnodostępnym; możesz
rozpowszechniać je i/lub zmieniać w zgodzie z postanowieniami
"Ogólnej Licencji Publicznej GNU" (GNU General Public License)
takiej, jak została opublikowana przez "Fundacje Wolnego
Oprogramowania (Free Software Foundation); albo w wersji 2 tejże
licencji, albo (twój wybór) w dowolnej późniejszej.
<p>
Więcej szczegółów możesz uzyskać przeglądając plik zawierający pełny tekst
licencji (w systemach Debian jest to plik /usr/doc/copyright/GPL).
</copyright
<toc sect>
<chapt>Wstęp
<!-- Overview {{{ -->
<!-- ===================================================================== -->
<sect>Wprowadzenie
<p>
Normalnie APT wymaga bezpośredniego dostępu do archiwów Debiana poprzez
sieć lokalną albo przez sieć internetową. Kolejną niedogodnością może być
fakt, że nasz komputer, który pracuje na wolnym łączu takim jak modem,
jest znacznie oddalony od innnego komputera z szybkim łączem.
<p>
Rozwiązaniem tego problemu jest użycie pojemnych przenośnych nośników
takich jak dyskietka Zip lub dysk SuperDisk. Nośniki te nie są
wystarczająco pojemne, by zgromadzić kompletne archiwum Debiana, ale można
śmiało dopasować podzbiór dużego archiwum wystarczający dla większości
użytkowników. Pomysł polega na tym, by użyć programu APT do wygenerowania
listy pakietów, które są wymagane, następnie pobraniu ich na dysk używając
innego komputera z właściwą zwartością. Jest nawet możliwe, by użyć innego
komputera z Debianem z zainstalowanym programem APT lub zupełnie innym
systemem operacyjnym i programem narzędziowym do pobierania plików takim
jak wget.
<p>
Osiągnięte jest to przez twórcze manipulowanie plikiem konfiguracyjnym
programu APT. Rzeczą niezbędną jest poinformowanie programu APT, aby wskazywał
na dysk z plikami archiwum. Należy zauważyć, że dysk powinien być
sformatowany do obsługi systemu plików takiego jak ext2, fat32 albo vfat
pozwalających posługiwać się długimi nazwami pliku.
</sect>
<!-- }}} -->
<chapt>Używanie programu APT na obu komputerach
<!-- Overview {{{ -->
<!-- ===================================================================== -->
<sect>Wprowadzenie
<p>
APT będący do dyspozycji na obu komputerach daje najprostszą kombinację.
Zasadniczym pomysłem tej metody jest umieścić kopie pliku status na dysku
i użyć odległego komputera, aby uzyskać najnowsze pliki pakietów
i zdecydować, które pakiety chcemy pobrać. Struktura katalogów na dysku
powinna wyglądać następująco:
<example>
/disc/
archives/
partial/
lists/
partial/
status
sources.list
apt.conf
</example>
</sect>
<!-- }}} -->
<!-- The configuartion file {{{ -->
<!-- ===================================================================== -->
<sect>Plik konfiguracyjny
<p>
Plik konfiguracyjny powinien informować program APT, aby przechowywać jego
pliki na dysku, a także używać plików konfiguracyjnych z dysku. Plik
sources.list powinien zawierać prawidłowe odnośniki, których oczekujesz
użyć od zdalnego komputera, a plik status powinien być kopią
<em>/var/lib/dpkg/status</em>. Zauważ, że jeśli używasz lokalnego archiwum
musisz użyć tych samych odnośników o identycznej składni.
<p>
<em>apt.conf</em> musi zawierać niezbędne wpisy, by APT korzystał z dysku:
<example>
APT
{
/* Ten wpis nie jest wymagany jeśli oba komputery są tej samej
architektury, mówi on APTowi na komputerze pobierającym pakiety
jakiej architektury jest nasz komputer */
Architecture "i386";
Get::Download-Only "true";
};
Dir
{
/* Użyj katalogu disc na informacje stanu i skieruj plik status
z /var/lib/dpkg default */
State "/disc/";
State::status "status";
// Katalog lokalnie przechowywanych pakietów binarnych
Cache::archives "/disc/archives/";
Cache "/tmp/";
// Lokalizacja pliku sources.list.
Etc "/disc
};
</example>
Więcej szczegółów można zobaczyć w manualu apt.conf i w przykładowym pliku
konfiguracyjnym <em>/usr/doc/apt/examples/apt.conf</em>.
<p>
Pierwszą rzeczą jaka należy zrobić na oddalonym komputerze z Debianem to
zamontować dysk i przekopiować na niego plik <em>/var/lib/dpkg/status</em>.
Potrzeba także utworzyć stukturę katalogów przedstawioną we Wprowadzeniu,
<em>archives/partial/</em> i <em>lists/partial/</em>. Następnie niesiemy
dysk do oddalonego komputera z szybkim łączem i konfigurujemy plik
sources.list. Na oddalonym komputerze wykonujemy kolejno:
<example>
# export APT_CONFIG="/disc/apt.conf"
# apt-get update
[ APT aktualizuje ustawienia ]
# apt-get dist-upgrade
[ APT pobiera wszystkie potrzebne pakiety do aktualizacji twojego systemu ]
</example>
Polecenie dist-upgrade można zastąpić każdym innym podstawowym poleceniem
APT, w szczególności dselect-upgrade. Możesz nawet użyć APT jako metodę
dostępu dla <em>dselect</em>. Jednak stworzy to problem w przeniesieniu
twoich operacji wyborów z powrotem na lokalny komputer.
<p>
W tej chwili katalog disc zawiera wszystkie pliki indeksowe oraz archiwa
niezbędne do aktualizacji maszyny z Debianem. Bierzemy dysk z powrotem do
siebie i wpisujemy:
<example>
# export APT_CONFIG="/disc/apt.conf"
# apt-get check
[ APT tworzy lokalną kopię plików cache ]
# apt-get --no-d -o dir::etc::status=/var/lib/dpkg/status dist-upgrade
[ Może też być inne polecenie programu APT ]
</example>
<p>
Koniecznym jest do prawidłowego działania podmienić plik status na lokalnej
maszynie. To jest bardzo ważne!
<p>
Jeśli używasz dselect możesz wykonać bardzo ryzykowną operację skopiowania
disc/status do /var/lib/dpkg/status tak, że wszystkie zmiany które
dokonałeś na odległym komputerze są uaktualnione. Mocno zalecam aby
dokonywać doboru pakietów tylko na lokalnym komputerze, ale nie zawsze
jest to możliwe. NIE podmieniaj pliku status jeśli dpkg lub APT były
uruchamiane w międzyczasie!!
</sect>
<!-- }}} -->
<chapt>Używanie programów APT i wget
<!-- Overview {{{ -->
<!-- ===================================================================== -->
<sect>Wprowadzenie
<p>
<em>wget</em> jest popularnym i przenośnym programem narzędziowym
pobierania plików, który działa na prawie każdym komputerze.
W przeciwieństwie do metody opisanej powyżej ta wymaga komputera z Debianem,
który już posiada listę dostępnych pakietów.
<p>
Należy stworzyć katalog disc tylko na pakiety do pobrania z innego
komputera. Użyta zostanie do tego opcja --print-uris programu apt-get,
a następnie przygotujemy skrypt dla programu wget, który pobierze właściwe
pakiety.
</sect>
<!-- }}} -->
<!-- Operation {{{ -->
<!-- ===================================================================== -->
<sect>Kolejne kroki
<p>
W odróżnieniu od poprzedniej metody działania ta nie wymaga specjalnych
plików konfiguracyjnych. Używamy jedynie podstawowych poleceń APT, by
wygenerować listę plików.
<example>
# apt-get dist-upgrade
[ Wybierz no po znaku zachęty, upewnij się czy to właściwy wybór ]
# apt-get -qq --print-uris dist-upgrade > uris
# awk '{print "wget -O " $2 " " $1}' < uris > /disc/wget-script
</example>
Także inne opcje niż dist-upgrade mogą tu być użyte, włączając
dselect-upgrade.
<p>
Plik skryptu /disc/wget-script będzie teraz zawierać listę poleceń dla
programu wget, który uruchomi w porządku pobieranie potrzebnych archiwów.
Skrypt ten należy uruchomić w bieżącym katalogu o punkcie montowania disc
tak aby tu zapisywał dane na dysku.
<p>
Na oddalonym komputerze należy wykonać coś takiego
<example>
# cd /disc
# sh -x ./wget-script
[ czekaj.. ]
</example>
Gdy archiwa zostały pobrane i dysk wrócił do komputera z Debianem,
instalowanie można prowadzić dalej poleceniem,
<example>
# apt-get -o dir::cache::archives="/disc/" dist-upgrade
</example>
Które użyje pobrane uprzednio archiwa z dysku.
</sect>
<!-- }}} -->
</book>
|