To już troszeczkę więcej zabawy. Ale radziłem sobie z tym kawał czasu, nie mając netu.
Można oczywiście ściągnąć paczkę bezpośrednio z repozytorium podanym w /etc/apt/sources.list z odpowiedniego katalogu. Ale nie wiemy, która wersja pasuje do naszej gałęzi Debiana/*ubuntu i, przede wszystkim, czy wystarczy ściągnąć samą tę paczkę, czy jeszcze jakieś zależne.
Dlatego trzeba wykorzystać apt-get lub jakąś nakładkę na niego.
Z konta użytkownika możesz wpisać
apt-get --print-uris install ktouch
O opcji --print-uris poczytaj w man apt-get. Zobacz wynik u mnie (nie mam ktouch, więc dostałem listę zależnych paczek do ściągnięcia).
~ $ apt-get --print-uris install ktouch
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności
Reading state information... Gotowe
The following packages were automatically installed and are no longer required:
pidgin-data
Use 'apt-get autoremove' to remove them.
Zostaną zainstalowane następujące dodatkowe pakiety:
kdeedu-data libkdeedu3
Sugerowane pakiety:
kdeedu-doc-html
Zostaną zainstalowane następujące NOWE pakiety:
kdeedu-data ktouch libkdeedu3
0 aktualizowanych, 3 nowo instalowanych, 0 usuwanych i 1 nieaktualizowanych.
Konieczne pobranie 1542kB archiwów.
Po rozpakowaniu zostanie dodatkowo użyte 3543kB miejsca na dysku.
Czy chcesz kontynuować [T/n]?
'ftp://193.219.28.2/pub/Linux/debian/pool/main/k/kdeedu/kdeedu-data_3.5.5-1_all.deb' kdeedu-data_4%3a3.5.5-1_all.deb 22318 24fae7c8708412dacecd70e0d2d39e10
'ftp://193.219.28.2/pub/Linux/debian/pool/main/k/kdeedu/libkdeedu3_3.5.5-1_i386.deb' libkdeedu3_4%3a3.5.5-1_i386.deb 135986 251784cd974f981f58093a3c329a6b1b
'ftp://193.219.28.2/pub/Linux/debian/pool/main/k/kdeedu/ktouch_3.5.5-1_i386.deb' ktouch_4%3a3.5.5-1_i386.deb 1383232 c54d19e1414fa0007a92d96c0c6d4eb9
Wtedy linijki z adresami paczek skopiuj sobie do pliku, by pociągnąć je sobie z innej maszyny. Polecenie wget -i plik_z_adresami zrobi to zadanie. Program wget możesz sobie również na windowsa znaleźć. Jest to pojedyncza aplikacja, ne trzeba jej instalować i można odpalić spokojnie z bieżącego katalogu.
Jeśli jednak masz graficzną nakładkę na apt-a synaptic, to zaznacz sobie ktouch do instalacji, potem w menu plik wybierasz generowanie skryptu do pobierania i masz gotowy skrypt wymagający wgeta.
Celowo nie pisałem o aktualizacji (update) bez stałego netu. To też nie takie trudne, ale tu byłoby nie na temat.
Jeszcze jedno: apt-get nie wskaże Ci zdalnych adresów paczek, jeśli w /etc/apt/sources.list nie będziesz miał zadeklarowanego choćby jednego z repozytoriów w internecie. Może być początkowo tak, że jeśli instalowałeś z CD, adresów zdalnych tam nie będzie, a CD będzie jedynym źródłem pobierania.
Na APT HOWTO (http://www.debian.org/doc/manuals/apt-howto/index.pl.html) można dowiedzieć się sporo o APT.
Oto zawartość mojego sources.list (cdrom instalacyjny jest już tak stary, że go zakomentowałem).
deb ftp://193.219.28.2/pub/Linux/debian/ testing main non-free contrib
deb ftp://193.219.28.2/pub/Linux/debian/ stable main
deb http://www.debian-multimedia.org/ testing main
Wystarczy jedna z dwóch pierwszych linijek. 193.219.28.2 to IP ftp://sunsite.icm.edu.pl, na miejscu którego możesz dać jakieś repozytorium swojej dystrybucji. Sprawdź w sieci adresy mirrorów takich repozytoriów paczek, najlepiej bliskich.
Gdy już zrobisz odpowiedni wpis, musisz dostarczyć systemowi pliki opisujące dostępne wersje aktualnych paczek (są w /var/lib/apt/lists). Normalnie apt-get update załatwiłoby tę robotę. Ty mógłbyś wpisać z roota "apt-get --print-uris update", które wypisuje adresy sieciowe paczek i nazwy plików przeznaczenia. Ale żeby przerobić to na skrypt z wgetem, trzeba trochę przetworzyć ten wynik, np. przepuścić przez awk i wrzucić do skryptu sciagnij_listy.sh:
apt-get --print-uris update | awk 'BEGIN {print "#!/bin/sh"; print "mkdir listy" } $1 !~ /\\.bz2/ {print "wget -c -O listy/" $2" "$1} $1 ~ /.bz2/ { print "wget -c -O - " $1 " | bzip2 -dc >listy/"$2}'>sciagnij_listy.sh
chmod 755 sciagnij_listy.sh
Po odpaleniu skryptu pliki, które ściągnęły się do katalogu listy przerzucasz u siebie do /var/lib/apt/lists. Zrobisz ręcznie w ten sposób to, co apt-get update. Tak można sobie częściej aktualizować debianopodobną dystrybucję, nie mając netu.
Teraz spróbuj użyć synaptic do znalezienia ktouch i wygenerowania skryptu ściągającego go z zależnościami. Możliwe że z powodu aktualizacji do ściągnięcia zbierze się trochę paczek, od których zależy aktualna wersja ktouch.
W razie jakichś błędów czy niedoskonałości w poleceniu czekam na posty.