<!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>