Repozytoria kieszonkowe
W związku z moim poprzednim wpisem podniosło się parę głosów, które słusznie zauważyły – ‘wszystko fajnie, tylko po co za każdym razem ściągać z internetu pakiety, które chcemy hurtowo instalować na kilku komputerach’. Przez głowę przeleciało mi parę oczywistych rozwiązań, począwszy od mojego ulubionego partyzanckiego przenoszenia katalogu /var/cache/apt/archives, przez użycie apt-move (co zostało już dobrze udokumentowane) aż do ręcznego tworzenia lokalnego repozytorium. Wszystkie te sposoby są ciekawe i mają wspólną zaletę – działają. Ale ponieważ mamy XXI wiek (mamy, prawda?), czas na nieco bardziej efektowne rozwiązania bez dotykania konsoli tekstowej. Ponieważ od dziecka lubiłem gry i łamigłówki logiczne, dlatego postanowiłem przy okazji obalić mit niemożliwości instalowania oprogramowania na Linuksie bez dostępu do internetu. A było to tak…
Założenia
Przypomnijmy sobie o co toczy się gra. Chcemy stworzyć na CD/DVD/USB przenośne repozytorium lub archiwum pakietów, które będziemy mogli dowolnie instalować na komputerach bez dostępu do internetu. Będą się one instalowały z zależnościami, poprzez zwyczajowego menadżera pakietów, bez kombinacji w terminalu, który zwykłemu użytkownikowi kojarzy się z egzorcyzmami. Całość rozwiązania opiera się o środowisko Gnome.
Jak to działa
Aby przenieść programy z komputera podłączonego do internetu na inną maszynę, która tego dostępu nie ma, najzwyczajniej w świecie musimy ściągnąć pakiety które nas interesują. Wiadomym jest, że instalowane/ściągnięte przez Synaptica/apt-get programy przechowywane są na dysku w /var/cache/apt/archives i fakt ten wykorzystamy. Stworzymy obraz .iso (lub nagrywamy od razu na CD/DVD) lokalnego repozytorium z zawartością /var/cache/apt/archives.
APTonCD czy Keryx
Do tego celu będziemy potrzebowali paru programów. Na początek, APTonCD lub Keryx. APTonCD zna chyba niemal każdy, natomiast Keryx to program który trzeba zainstalować ręcznie. Obywa nadają się do wykonania naszej misji, jednak skupimy się na APTonCD – z prostej przyczyny – jest w repozytorium. Oprócz tego programu zainstalujmy jeszcze program gmountiso – graficzny skrypt do montowania obrazów .iso (dlaczego i po co – o tym później).
Zaczynamy
Będę rozpatrywał przypadek instalowania oprogramowania i aktualizacji na ‘świeżym’ systemie. Czyli po postawieniu systemu, dokonujemy aktualizacji i przystępujemy do instalowania programów, które lubimy i chcemy mieć gdzie indziej. Instalujemy przez Synaptica (pamiętajcie – bez konsoli, choć wiem, że kusi), a wszystko co zostanie pobrane zostanie nam w /var/cache/apt/archives. Instalujemy również niezbędne APTonCD i gmountiso. Gdy już mamy komplet wymarzonych aplikacji, uruchamiamy APTonCD, wybieramy Stwórz, zaznaczamy co chcemy przenieść na drugi system (wszystko), klikamy Wypal. Podajemy miejsce, gdzie ma zostać utworzony obraz .iso. Program się zapyta, czy od razu wypalić ten obraz na DVD. Ci, którzy to zrobią, mogą ominąć kolejny etap.
Przenosiny
Do przeniesienia naszego kieszonkowego repozytorium stworzonego przez APTonCD użyję najzwyklejszego pendrive’a. Tutaj też pójdę na skróty – na rzeczonego pendrive’a skopiuję po prostu w całości plik .iso (wiem, że ambitni pomyślą o użyciu dd – nie tym razem).
Biorca
Na komputerze bez dostępu do internetu po wrzuceniu płyty CD/DVD z repozytorium musimy w Synapticu dodać ją do źródeł oprogramowania. Wybieramy zatem Edycja->Dodaj CDROM.
Jeżeli jednak przyszliśmy do tego komputera z obrazem .iso na pendrive’ie, musimy pokombinować inaczej. Wpinamy pamięć USB, otwieramy menadżera plików, wyświetlamy sobie zawartość podmontowanego woluminu i klikamy prawym przyciskiem na .iso. Wybieramy Otwórz za pomocą-> Menedżer Archiwów. Znajdujemy katalog Packages, po wejściu do którego wypakowujemy gdzieś na dysk program gmountiso*.deb. Instalujemy programik dwuklikiem i ponownie prawym przyciskiem klikamy na .iso, ponownie Otwórz za pomocą->Gmount-iso.
W gustownym okienku wybieramy miejsce, gdzie chcemy podmontować obraz .iso. Niech będzie to przykładowo katalog /home/userek/cdrom (katalog ‘cdrom’ sobie musimy stworzyć). Udajemy się do Synaptica i dodajemy tę lokalizację jako repozytorium. Robimy to w ten sposób – Ustawienia->Repozytoria->Inne oprogramowanie. Klikamy Dodaj i zgodnie ze wskazówkami w opisie tworzymy nieco magii linuksowej – w okienku wpisujemy deb file:/home/userek cdrom/. Klikamy Dodaj źródło.
Odprężenie
Teraz pozostaje kliknąć w Synapticu przycisk Odśwież. Jeżeli nie popełniliśmy błędu na którymś etapie, lista pakietów się odświeży, pojawi się nam, co może zostać zaktualizowane, a oprócz tego będziemy mogli zainstalować programy dodatkowe, przeniesione na pamięci USB.
Istotne – takie przenoszenie pakietów najlepiej robić dla tej samej wersji dystrybucji i tej samej wersji bitowej (x86 lub x64). Po zamontowaniu obrazu .iso z pendrive’a nie wypinamy go (chyba, że ktoś sobie ten plik skopiuje gdzieś na dysk i wtedy zamontuje). Kolejne aktualizacje komputera można przeprowadzać po wpięciu i zamontowaniu .iso w ten sam katalog, który ustawiliśmy w Synapticu. Jeżeli maszynka uzyska dostęp do internetu – wpis deb cdrom:(…) należy wykasować (Ustawienia->Repozytoria->Inne Oprogramowanie->Usuń).