|
|
@@ -0,0 +1,252 @@
|
|
|
+<!doctype debiandoc PUBLIC "-//DebianDoc//DTD DebianDoc//EN">
|
|
|
+<!-- -*- 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.sgml,v 1.8 2003/02/12 15:06:41 doogie Exp $</version>
|
|
|
+
|
|
|
+<abstract>
|
|
|
+Dokument ten opisuje używanie programu APT w środowiskach pozbawionych dostępu,
|
|
|
+do sieci, 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żna uzyskać, przeglądając plik zawierający pełny tekst
|
|
|
+licencji (w systemach Debian jest to plik /usr/share/common-licenses/GPL).
|
|
|
+</copyright>
|
|
|
+
|
|
|
+<toc sect>
|
|
|
+
|
|
|
+<chapt>Wstęp
|
|
|
+<!-- Overview {{{ -->
|
|
|
+<!-- ===================================================================== -->
|
|
|
+<sect>Wprowadzenie
|
|
|
+
|
|
|
+<p>
|
|
|
+Normalnie APT wymaga bezpośredniego dostępu do archiwów Debiana przez
|
|
|
+sieć lokalną albo przez sieć internetową. Kolejną niedogodnością może być
|
|
|
+fakt, że nasz komputer, który pracuje na powolnym łączu takim jak modem,
|
|
|
+jest znacznie oddalony od innego 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, a 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ągane 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 pozwalającego posługiwać się długimi
|
|
|
+nazwami plików (np. ext2, fat32 albo vfat).
|
|
|
+
|
|
|
+
|
|
|
+</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 umieszczenie kopii pliku status na dysku
|
|
|
+i użycie odległego komputera, aby uzyskać najnowsze pliki pakietów
|
|
|
+i zdecydować, które pakiety trzeba 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 configuration file {{{ -->
|
|
|
+<!-- ===================================================================== -->
|
|
|
+<sect>Plik konfiguracyjny
|
|
|
+
|
|
|
+<p>
|
|
|
+Plik konfiguracyjny powinien informować program APT, aby przechowywał swoje
|
|
|
+pliki na dysku, a także używał plików konfiguracyjnych z dysku. Plik
|
|
|
+sources.list powinien zawierać prawidłowe odnośniki, których należy
|
|
|
+użyć na zdalnym komputerze, 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 mają tę samą
|
|
|
+ architekturę; mówi on programowi APT na komputerze pobierającym
|
|
|
+ pakiety, jaka jest architektura naszego komputera */
|
|
|
+ Architecture "i386";
|
|
|
+
|
|
|
+ Get::Download-Only "true";
|
|
|
+ };
|
|
|
+
|
|
|
+ Dir
|
|
|
+ {
|
|
|
+ /* Użyj katalogu disc na informacje stanu i przekieruj plik status
|
|
|
+ z domyślnego /var/lib/dpkg */
|
|
|
+ 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 stronie podręcznika apt.conf i w przykładowym
|
|
|
+pliku konfiguracyjnym <em>/usr/share/doc/apt/examples/apt.conf</em>.
|
|
|
+
|
|
|
+<p>
|
|
|
+Pierwszą rzeczą, jaką należy zrobić na oddalonym komputerze z Debianem to
|
|
|
+zamontować dysk i przekopiować na niego plik <em>/var/lib/dpkg/status</em>.
|
|
|
+Trzeba 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 pakiety potrzebne 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żna nawet użyć APT jako metody
|
|
|
+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::state::status=/var/lib/dpkg/status dist-upgrade
|
|
|
+ [ Może też być inne polecenie programu APT ]
|
|
|
+</example>
|
|
|
+
|
|
|
+<p>
|
|
|
+Do prawidłowego działania koniecznie należy podać plik status z lokalnej
|
|
|
+maszyny. 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órych
|
|
|
+dokonałeś na odległym komputerze, będą przeniesione. 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 prawie na każdym komputerze.
|
|
|
+W przeciwieństwie do metody opisanej powyżej ta wymaga, aby na lokalnym komputerze
|
|
|
+była aktualna lista 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ę wywołań programu
|
|
|
+wget, niezbędnych do pobrania 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 zostaną 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 pobranych uprzednio archiwów z dysku.
|
|
|
+</sect>
|
|
|
+ <!-- }}} -->
|
|
|
+</book>
|