Difference between revisions of "User:Dracorp/sandbox/Offline upgrade"

From ArchWiki
Jump to: navigation, search
(Jednokrotny proces)
(Jednokrotny proces)
Line 43: Line 43:
 
=== Jednokrotny proces ===
 
=== Jednokrotny proces ===
  
W tym sposobie "aktualizacja" oprogramowania odbędzie się od razu na maszynie '''host_online'''. Bez naprzemiennego zmieniania maszyn.  
+
W tym sposobie "aktualizacja" oprogramowania odbędzie się od razu na maszynie '''host_online''', bez naprzemiennego zmieniania maszyn.  
  
W pierwszym etapie pobieramy listę zainstalowanych pakietów w systemie. Czyli kopiujemy katalog ''/var/lib/pacman/local'' z '''host_offline''' na maszynę '''host_online''' np. do ''~/chroot''.
+
Na początku należy przygotować "środowisko" do pracy. Kopiujemy z '''host_offline''':
 +
* plik ''/etc/pacman.conf''
 +
* katalog /var/lib/pacman
 +
do np. katalogu ~/Arch/host_offline na komputerze '''host_online'''.
 +
 
 +
Na czas aktualizacji warto utworzyć alias i użyć jednej zmienne:
 +
{{bc|1=
 +
alias pacman-off='sudo pacman -b $CHROOT/var/lib/pacman --config $CHROOT/etc/pacman.conf --cachedir $CHROOT/var/cache/pacman/pkg --logfile $CHROOT/var/log/pacman/pacman.log'
 +
CHROOT=/home/piecia/Arch/host_offline
 +
}}
 +
{{Note|Brak lepszego pomysłu, a {{pkg|pacman}} musi być użyty z uprawnieniami roota. Zawsze można użyć {{AUR|yaourt}}.}}
 +
{{Note|Powyższe ustawienia można zweryfikować poprzez dodanie opcji ''-v'' do polecenia ''pacman-off''}}
 +
{{Note|Można jeszcze zmodyfikować ścieżkę do katalogu gpg: {{ic|--gpgdir $CHROOT/etc/pacman.d/gnupg}}.}}
 +
Przystępujemy do aktualizacji systemu:
 +
 
 +
{{bc|
 +
$ pacman-off -Sy
 +
$ pacman-off -Suw
 +
}}
 +
 
 +
Następnie kopiujemy zawartość katalogu ~/Arch/host_offline/var/{cache/pkg,lib/pacman/sync} na komputer '''host_offline''' i wykonujemy polecenie {{ic|pacman -Su}} na '''host_offline'''.
 +
 
 +
== AUR ==
  
 
== Zobacz także ==
 
== Zobacz także ==

Revision as of 14:30, 18 March 2013

Aktualizacja systemu bez dostępu do internetu

Poniższy artykuł opisze proces zaktualizowania systemu na komputerze bez dostępu do internetu. Zostanie opisany proces aktualizacji pakietów dostępnych ze standardowych repozytoriów jak i z AUR.

Dla uproszczenia dalszego procesu zakładamy, że mamy dwie maszyny:

  • host_offline - maszyna bez dostępu do internetu
  • host_online - maszyna z dostępem do internetu

Na przemian

Na początku należy zaktualizować listę dostępnych pakietów, normalnie realizowane przez polecenie pacman -Sy. Pobieramy bazy pakietów z host_online z katalogu /var/lib/pacman/sync lub bezpośrednio z serwerów:

Dla i686:

Dla x86_64:

Note: Zasadniczo wystarczą same pliki *.db

Oczywiście należy powyższą listę dostosować do repozytoriów które są wyszczególnione w /etc/pacman.conf. Pliki *.db kopiujemy do /var/lib/pacman/sync/ na host_offline i nadpisujemy stare. Następnie musimy pobrać adresy URL pakietów do aktualizacji (host_offline):

pacman -Sup --noconfirm > lista_pakietów

Mając powyższą listę, pobieramy pakiety na host_line:

wget -i lista_pakietów

A same pakiety kopiujemy do katalogu /var/cache/pacman/pkg/ na host_offline i wykonujemy polecenie pacman -Su. Ewentualnie można od razu zainstalować pakiety np. z pendrive'a pacman -U ./*.xz.

Jednokrotny proces

W tym sposobie "aktualizacja" oprogramowania odbędzie się od razu na maszynie host_online, bez naprzemiennego zmieniania maszyn.

Na początku należy przygotować "środowisko" do pracy. Kopiujemy z host_offline:

  • plik /etc/pacman.conf
  • katalog /var/lib/pacman

do np. katalogu ~/Arch/host_offline na komputerze host_online.

Na czas aktualizacji warto utworzyć alias i użyć jednej zmienne:

alias pacman-off='sudo pacman -b $CHROOT/var/lib/pacman --config $CHROOT/etc/pacman.conf --cachedir $CHROOT/var/cache/pacman/pkg --logfile $CHROOT/var/log/pacman/pacman.log'
CHROOT=/home/piecia/Arch/host_offline
Note: Brak lepszego pomysłu, a pacman musi być użyty z uprawnieniami roota. Zawsze można użyć yaourtAUR.
Note: Powyższe ustawienia można zweryfikować poprzez dodanie opcji -v do polecenia pacman-off
Note: Można jeszcze zmodyfikować ścieżkę do katalogu gpg: --gpgdir $CHROOT/etc/pacman.d/gnupg.

Przystępujemy do aktualizacji systemu:

$ pacman-off -Sy
$ pacman-off -Suw

Następnie kopiujemy zawartość katalogu ~/Arch/host_offline/var/{cache/pkg,lib/pacman/sync} na komputer host_offline i wykonujemy polecenie pacman -Su na host_offline.

AUR

Zobacz także