HowTo Jak ściągać paczki on-line na maszynę off-line

Pomogło?

nie
19
76%
nie
6
24%
 
Liczba głosów: 25
Woowas
Piegowaty Guziec
Piegowaty Guziec
Posty: 2
Rejestracja: 08 gru 2006, 12:43
Płeć: Mężczyzna
Wersja Ubuntu: 6.06
Środowisko graficzne: GNOME

HowTo Jak ściągać paczki on-line na maszynę off-line

Post autor: Woowas »

Czyli jak korzystać z internetowych repozytoriów na komputerze bez internetu :)

Uzupełniono 4.07.2007

Do całej operacji będzie potrzebny pendrive (im większy tym lepszy) i komputer podłączony do internetu na którym działa apt. Może to być maszyna kolegi z zainstalowaną dystrybucją linuksa z aptem, komputer z uruchomionym Ubuntu z CD i skonfigurowanym połączeniem do internetu lub obraz iso Ubuntu odpalony na maszynie wirtualnej w Windowsie.

Na początek należy stworzyć na pendrivie hierarchie katalogów:

apt-off
==>archives ==>partial
==>cache
==>lists ==>partial

Zamontowac pena na własnym komputerze i skopiować do /apt-off pliki status (zawiera informacje o zainstalowanych paczkach) i sources.list (zawiera repozytoria) oraz apt.conf

Kod: Zaznacz cały

cd /media/usbdisk/apt-off
cp /etc/apt/sources.list ./
cp /var/lib/dpkg/status ./
cp /etc/apt/apt.conf ./
Plik sources .list edytujemy tak aby znajdowały się w nim repozytoria z których chcemy skorzystać np. te z forum.
Następnie edytujemy apt.conf by wyglądał w ten sposób:

Kod: Zaznacz cały

Acquire::http::Proxy "false";
APT
{
Architecture "i386";
Get::Download-Only "true";
};
Dir
{
State "./";
State::status "status";
  Cache "./cache/" {
     Archives "./archives/";   
  };
Etc "./";
};
Debug
{
  NoLocking "true";
}
Montujemy teraz pena na komputerze z połączeniem do internetu i możemy rozpocząć ściąganie niezbędnych pakietów.

Kod: Zaznacz cały

cd /media/usbdisk/apt-off
Uaktualniamy listy pakietów:

Kod: Zaznacz cały

sudo apt-get -c=./apt.conf update
Symulujemy uaktualnienie pakietów:

Kod: Zaznacz cały

sudo apt-get -s -c=./apt.conf upgrade
Jeśli mamy wystarczająco dużo miejsca na penie to możemy ściągnąć paczki które trafią do archives

Kod: Zaznacz cały

sudo apt-get -d -c=./apt.conf upgrade
Jeśli nie mamy tyle miejsca możemy zapisać ścieżki do pakietów do pliku który później po obróbce wrzucimy do jakiegoś download menadżera.

Kod: Zaznacz cały

sudo apt-get --print-uris -c=./apt.conf upgrade > uris
Możemy też przeszukać repozytoria w poszukiwaniu konkretnych pakietów

Kod: Zaznacz cały

apt-cache -c=./apt.conf search paczka
i ściągnąć je na pena

Kod: Zaznacz cały

sudo apt-get -d -c=./apt.conf install paczka
Na swoim komputerze kopiujemy ściągnięte paczki z katalogu archives do domowego repozytorium, generujemy plik packages.gz i instalujemy przy pomocy synaptica czy apta.
Przepis jak założyć domowe repozytorium podaje za @suncez
Zrób katalog np. /home/debs:

Kod: Zaznacz cały

sudo mkdir /home/debs
sudo chown 0:0 /home/debs
sudo chmod 755 /home/debs
Umieść tam pakiety, dalej:

Kod: Zaznacz cały

cd /home/debs
sudo dpkg-scanpackages ./ /dev/null | gzip -9c > Packages.gz
sudo echo "deb file:///home/debs/ ./" >> /etc/apt/sources.list 
dpkg-scanpackages jest częścią paczki dpkg-dev.

Będę wdzięczny za wszystkie uwagi o dostrzeżonych błędach i nieścisłościach.
Pozdrawiam.


Edit:
W razie problemów proszę pisać na PW, postaram się pomóc w miarę możliwości.


Jak ściągać paczki z poziomu Windowsa.


Można korzystać z repozytoriów pod Windowsem przy pomocy małej, 50-cio megowej dystrybucji Damn Small Linux w wersji embedded.
Plik dsl-3.4-embedded.zip (najnowsza wersja) ściągamy z któregoś z mirrorów podanych w dziale download strony http://www.damnsmalllinux.org i rozpakowujemy zipem do dowolnego katalogu.
Linuksa uruchamiamy klikajac na dsl-base.bat. Domyślnie DSL przydziela sobie 128 MB RAM ale jeśli możemy poświęcić więcej to należy w pliku uruchamiającym zmienić parametr –m 128 na np. –m 256 lub więcej. Po załadowaniu systemu i sprawdzeniu czy działa internet załadowujemy dodatkowe moduły z repozytorium DSL. Klikamy na MyDSL i z zakładki SYSTEM wybieramy dsl-dpkg.dsl oraz z NET samba.dsl
W Windows musimy udostępnić jakiś katalog przez który będziemy wymieniać pliki z DSL.

Uruchamiamy z pulpitu sambę, przez ADD dodajemy naszą maszynę (grupa robocza, nazwa komputera, IP), klikamy na nią prawym klawiszem myszy i wybieramy scan as user ( grupa robocza, login i hasło użytkownika z Windowsa). Powinien się pojawić udostępniany katalog z Windowsa , który klikamy PKM i wybieramy mount. Zamontowany katalog pojawi się w /home/dsl/mnt/nazwa_komputera/nazwa_katalogu. Uruchamiamy menadżer plików Emelfm i przy jego pomocy kopiujemy do /home/dsl uprzednio wgrany do udostępnianego katalogu apt-off. Teraz otwieramy konsolę i przechodzimy do apt-off

Kod: Zaznacz cały

cd /home/dsl/apt-off
i rozpoczynamy ściąganie paczek wg. przepisu podanego wyżej. Ściągane pakiety trafiają do /home/dsl/apt-off/archive skąd można je przenieść na zamontowany katalog Windowsa.
Po zakończeniu ściągania warto skopiować cały apt-off żeby przy kolejnym updatowaniu uniknąć ponownego ściągania list pakietów.
Można też zachować rozszerzenia dsl-dpkg.dsl i samba.dsl ( domyślnie są ściągane do /tmp) które można ponownie skopiować do DSL przez PKM -> Apps-> Net ->SMBclient

Kod: Zaznacz cały

get samba.dsl 
get dsl-dpkg.dsl
exit
i załadować z /home/dsl przez MyDSL Load Local.
ODPOWIEDZ

Wróć do „Instalacja i konfiguracja systemu”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 27 gości