HowTo Jak ściągać paczki on-line na maszynę off-line
: 21 mar 2007, 14:15
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
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:
Montujemy teraz pena na komputerze z połączeniem do internetu i możemy rozpocząć ściąganie niezbędnych pakietów.
Uaktualniamy listy pakietów:
Symulujemy uaktualnienie pakietów:
Jeśli mamy wystarczająco dużo miejsca na penie to możemy ściągnąć paczki które trafią do archives
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.
Możemy też przeszukać repozytoria w poszukiwaniu konkretnych pakietów
i ściągnąć je na pena
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
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
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
i załadować z /home/dsl przez MyDSL Load Local.
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 ./
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";
}
Kod: Zaznacz cały
cd /media/usbdisk/apt-off
Kod: Zaznacz cały
sudo apt-get -c=./apt.conf update
Kod: Zaznacz cały
sudo apt-get -s -c=./apt.conf upgrade
Kod: Zaznacz cały
sudo apt-get -d -c=./apt.conf upgrade
Kod: Zaznacz cały
sudo apt-get --print-uris -c=./apt.conf upgrade > uris
Kod: Zaznacz cały
apt-cache -c=./apt.conf search paczka
Kod: Zaznacz cały
sudo apt-get -d -c=./apt.conf install paczka
Przepis jak założyć domowe repozytorium podaje za @suncez
dpkg-scanpackages jest częścią paczki dpkg-dev.Zrób katalog np. /home/debs:Umieść tam pakiety, dalej:Kod: Zaznacz cały
sudo mkdir /home/debs sudo chown 0:0 /home/debs sudo chmod 755 /home/debs
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
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
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