offline.pl.sgml 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <!doctype debiandoc PUBLIC "-//DebianDoc//DTD DebianDoc//EN">
  2. <!-- -*- mode: sgml; mode: fold -*- -->
  3. <book>
  4. <title>Używanie APT w trybie offline</title>
  5. <author>Jason Gunthorpe <email>jgg@debian.org</email></author>
  6. <author>Polskie tłumaczenie Krzysztof Fiertek <email>akfedux@megapolis.pl</email></author>
  7. <version>$Id: offline.sgml,v 1.8 2003/02/12 15:06:41 doogie Exp $</version>
  8. <abstract>
  9. Dokument ten opisuje używanie programu APT w środowiskach pozbawionych dostępu,
  10. do sieci, a w szczególności metodę pozwalającą na robienie aktualizacji systemu.
  11. </abstract>
  12. <copyright>
  13. Copyright &copy; Jason Gunthorpe, 1999.
  14. <p>
  15. Copyright &copy; polskiego tłumaczenia Krzysztof Fiertek, 2004.
  16. <p>
  17. "APT" i ten dokument są oprogramowaniem wolnodostępnym; możesz
  18. rozpowszechniać je i/lub zmieniać w zgodzie z postanowieniami
  19. "Ogólnej Licencji Publicznej GNU" (GNU General Public License)
  20. takiej, jak została opublikowana przez "Fundacje Wolnego
  21. Oprogramowania (Free Software Foundation); albo w wersji 2 tejże
  22. licencji, albo (twój wybór) w dowolnej późniejszej.
  23. <p>
  24. Więcej szczegółów można uzyskać, przeglądając plik zawierający pełny tekst
  25. licencji (w systemach Debian jest to plik /usr/share/common-licenses/GPL).
  26. </copyright>
  27. <toc sect>
  28. <chapt>Wstęp
  29. <!-- Overview {{{ -->
  30. <!-- ===================================================================== -->
  31. <sect>Wprowadzenie
  32. <p>
  33. Normalnie APT wymaga bezpośredniego dostępu do archiwów Debiana przez
  34. sieć lokalną albo przez sieć internetową. Kolejną niedogodnością może być
  35. fakt, że nasz komputer, który pracuje na powolnym łączu takim jak modem,
  36. jest znacznie oddalony od innego komputera z szybkim łączem.
  37. <p>
  38. Rozwiązaniem tego problemu jest użycie pojemnych przenośnych nośników
  39. takich jak dyskietka Zip lub dysk SuperDisk. Nośniki te nie są
  40. wystarczająco pojemne, by zgromadzić kompletne archiwum Debiana, ale można
  41. śmiało dopasować podzbiór dużego archiwum wystarczający dla większości
  42. użytkowników. Pomysł polega na tym, by użyć programu APT do wygenerowania
  43. listy pakietów, które są wymagane, a następnie pobraniu ich na dysk, używając
  44. innego komputera z właściwą zwartością. Jest nawet możliwe, by użyć innego
  45. komputera z Debianem z zainstalowanym programem APT lub zupełnie innym
  46. systemem operacyjnym i programem narzędziowym do pobierania plików takim
  47. jak wget.
  48. <p>
  49. Osiągane jest to przez twórcze manipulowanie plikiem konfiguracyjnym
  50. programu APT. Rzeczą niezbędną jest poinformowanie programu APT, aby wskazywał
  51. na dysk z plikami archiwum. Należy zauważyć, że dysk powinien być
  52. sformatowany do obsługi systemu plików pozwalającego posługiwać się długimi
  53. nazwami plików (np. ext2, fat32 albo vfat).
  54. </sect>
  55. <!-- }}} -->
  56. <chapt>Używanie programu APT na obu komputerach
  57. <!-- Overview {{{ -->
  58. <!-- ===================================================================== -->
  59. <sect>Wprowadzenie
  60. <p>
  61. APT będący do dyspozycji na obu komputerach daje najprostszą kombinację.
  62. Zasadniczym pomysłem tej metody jest umieszczenie kopii pliku status na dysku
  63. i użycie odległego komputera, aby uzyskać najnowsze pliki pakietów
  64. i zdecydować, które pakiety trzeba pobrać. Struktura katalogów na dysku
  65. powinna wyglądać następująco:
  66. <example>
  67. /disc/
  68. archives/
  69. partial/
  70. lists/
  71. partial/
  72. status
  73. sources.list
  74. apt.conf
  75. </example>
  76. </sect>
  77. <!-- }}} -->
  78. <!-- The configuration file {{{ -->
  79. <!-- ===================================================================== -->
  80. <sect>Plik konfiguracyjny
  81. <p>
  82. Plik konfiguracyjny powinien informować program APT, aby przechowywał swoje
  83. pliki na dysku, a także używał plików konfiguracyjnych z dysku. Plik
  84. sources.list powinien zawierać prawidłowe odnośniki, których należy
  85. użyć na zdalnym komputerze, a plik status powinien być kopią
  86. <em>/var/lib/dpkg/status</em>. Zauważ, że jeśli używasz lokalnego archiwum
  87. musisz użyć tych samych odnośników o identycznej składni.
  88. <p>
  89. <em>apt.conf</em> musi zawierać niezbędne wpisy, by APT korzystał z dysku:
  90. <example>
  91. APT
  92. {
  93. /* Ten wpis nie jest wymagany, jeśli oba komputery mają tę samą
  94. architekturę; mówi on programowi APT na komputerze pobierającym
  95. pakiety, jaka jest architektura naszego komputera */
  96. Architecture "i386";
  97. Get::Download-Only "true";
  98. };
  99. Dir
  100. {
  101. /* Użyj katalogu disc na informacje stanu i przekieruj plik status
  102. z domyślnego /var/lib/dpkg */
  103. State "/disc/";
  104. State::status "status";
  105. // Katalog lokalnie przechowywanych pakietów binarnych
  106. Cache::archives "/disc/archives/";
  107. Cache "/tmp/";
  108. // Lokalizacja pliku sources.list.
  109. Etc "/disc";
  110. };
  111. </example>
  112. Więcej szczegółów można zobaczyć w stronie podręcznika apt.conf i w przykładowym
  113. pliku konfiguracyjnym <em>/usr/share/doc/apt/examples/apt.conf</em>.
  114. <p>
  115. Pierwszą rzeczą, jaką należy zrobić na oddalonym komputerze z Debianem to
  116. zamontować dysk i przekopiować na niego plik <em>/var/lib/dpkg/status</em>.
  117. Trzeba także utworzyć stukturę katalogów przedstawioną we "Wprowadzeniu":
  118. <em>archives/partial/</em> i <em>lists/partial/</em>. Następnie niesiemy
  119. dysk do oddalonego komputera z szybkim łączem i konfigurujemy plik
  120. sources.list. Na oddalonym komputerze wykonujemy kolejno:
  121. <example>
  122. # export APT_CONFIG="/disc/apt.conf"
  123. # apt-get update
  124. [ APT aktualizuje ustawienia ]
  125. # apt-get dist-upgrade
  126. [ APT pobiera wszystkie pakiety potrzebne do aktualizacji Twojego systemu ]
  127. </example>
  128. Polecenie dist-upgrade można zastąpić każdym innym podstawowym poleceniem
  129. APT, w szczególności dselect-upgrade. Można nawet użyć APT jako metody
  130. dostępu dla <em>dselect</em>. Jednak stworzy to problem w przeniesieniu
  131. Twoich operacji wyborów z powrotem na lokalny komputer.
  132. <p>
  133. W tej chwili katalog disc zawiera wszystkie pliki indeksowe oraz archiwa
  134. niezbędne do aktualizacji maszyny z Debianem. Bierzemy dysk z powrotem do
  135. siebie i wpisujemy:
  136. <example>
  137. # export APT_CONFIG="/disc/apt.conf"
  138. # apt-get check
  139. [ APT tworzy lokalną kopię plików cache ]
  140. # apt-get --no-d -o dir::state::status=/var/lib/dpkg/status dist-upgrade
  141. [ Może też być inne polecenie programu APT ]
  142. </example>
  143. <p>
  144. Do prawidłowego działania koniecznie należy podać plik status z lokalnej
  145. maszyny. To jest bardzo ważne!
  146. <p>
  147. Jeśli używasz dselect, możesz wykonać bardzo ryzykowną operację skopiowania
  148. disc/status do /var/lib/dpkg/status, tak że wszystkie zmiany, których
  149. dokonałeś na odległym komputerze, będą przeniesione. Mocno zalecam, aby
  150. dokonywać doboru pakietów tylko na lokalnym komputerze, ale nie zawsze
  151. jest to możliwe. NIE podmieniaj pliku status, jeśli dpkg lub APT były
  152. uruchamiane w międzyczasie!!
  153. </sect>
  154. <!-- }}} -->
  155. <chapt>Używanie programów APT i wget
  156. <!-- Overview {{{ -->
  157. <!-- ===================================================================== -->
  158. <sect>Wprowadzenie
  159. <p>
  160. <em>wget</em> jest popularnym i przenośnym programem narzędziowym
  161. pobierania plików, który działa prawie na każdym komputerze.
  162. W przeciwieństwie do metody opisanej powyżej ta wymaga, aby na lokalnym komputerze
  163. była aktualna lista dostępnych pakietów.
  164. <p>
  165. Należy stworzyć katalog disc tylko na pakiety do pobrania z innego
  166. komputera. Użyta zostanie do tego opcja --print-uris programu apt-get,
  167. a następnie przygotujemy skrypt dla programu wget, który pobierze właściwe
  168. pakiety.
  169. </sect>
  170. <!-- }}} -->
  171. <!-- Operation {{{ -->
  172. <!-- ===================================================================== -->
  173. <sect>Kolejne kroki
  174. <p>
  175. W odróżnieniu od poprzedniej metody działania ta nie wymaga specjalnych
  176. plików konfiguracyjnych. Używamy jedynie podstawowych poleceń APT, by
  177. wygenerować listę plików.
  178. <example>
  179. # apt-get dist-upgrade
  180. [ Wybierz "no" po znaku zachęty, upewnij się, czy to właściwy wybór ]
  181. # apt-get -qq --print-uris dist-upgrade > uris
  182. # awk '{print "wget -O " $2 " " $1}' < uris > /disc/wget-script
  183. </example>
  184. Także inne opcje niż dist-upgrade mogą tu być użyte, włączając
  185. dselect-upgrade.
  186. <p>
  187. Plik skryptu /disc/wget-script będzie teraz zawierać listę wywołań programu
  188. wget, niezbędnych do pobrania potrzebnych archiwów.
  189. Skrypt ten należy uruchomić w bieżącym katalogu o punkcie montowania disc,
  190. tak aby tu zapisywał dane na dysku.
  191. <p>
  192. Na oddalonym komputerze należy wykonać coś takiego
  193. <example>
  194. # cd /disc
  195. # sh -x ./wget-script
  196. [ czekaj.. ]
  197. </example>
  198. Gdy archiwa zostaną pobrane i dysk wróci do komputera z Debianem,
  199. instalowanie można prowadzić dalej poleceniem:
  200. <example>
  201. # apt-get -o dir::cache::archives="/disc/" dist-upgrade
  202. </example>
  203. które użyje pobranych uprzednio archiwów z dysku.
  204. </sect>
  205. <!-- }}} -->
  206. </book>