Pakiety binarne w Gentoo

Instalacje oprogramowania w Gentoo można sobie znacząco skrócić używając pakietów binarnych. Ma to większy sens w przypadku gdy posiadamy kilka komputerów z systemem Gentoo. W tym przypadku jeden zwykle najszybszy komputer posłużyć może jako maszyna do kompilacji pakietów oraz serwer. Pozostałe komputery będą pobierały z serwera gotowe, najnowsze pakiety binarne, które bez długotrwałej kompilacji zostaną zainstalowane na dysku. Jest jeden warunek. Flagi USE  oraz zmienne w /etc/portage/make.conf CFLAGS i CXXFLAGS na komputerze „matce” i na „satelitach” muszą być takie same. Flagi ustawiamy w pliku /etc/portage/make.conf i w plikach konfiguracyjnych w folderze /etc/portage/package.use. Gentoo posiada także profile gdzie ustawione są flagi „USE”. Profile podejrzeć możemy poleceniem:

eselect profile list

Profil wybieramy poleceniem:

eselect profile set liczba

Pamiętajmy o tym aby na serwerze i satelitach ustawiony był taki sam profil.

Konfigurujemy serwer (komputer-matka) o adresie IP 192.168.0.1. Edytujemy plik /etc/portage/make.conf.

nano /etc/portage/make.conf
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-O2 -march=i686 -pipe"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="i686-pc-linux-gnu"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
FEATURES="buildpkg"
USE="gd mysqli apache2 gtk php bindist pl jpg jpeg png X gtk policykit gudev thunar qt3support qt4 -gnome"
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
LINGUAS="pl"
INPUT_DEVICES="evdev"
#VIDEO_CARDS="vesa nouveau"
XFCE_PLUGINS="brightness clock trash"
GENTOO_MIRRORS="rsync://mirror.leaseweb.com/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo"

Powyżej na czerwono zaznaczyłem najważniejsze zmienne:

FEATURES=”buildpkg” – automatyczne budowanie pakietów binarnych

PKGDIR=”${PORTDIR}/packages” – ścieżka dostępu do pakietów binarnych. Można ją zmienić na inną np: /home/ftp/packages.

Komputery „satelity” muszą pobrać pakiety binarne z komputera „matki” korzystając z jedego z protokołów: ftp, http, smb, rsync. W tym przykładzie będzie to ftp. Na „matce” musimy zainstalować serwer ftp. Doskonale nada się tu „vsftpd”.

Instalujemy:

emerge vsftpd

Edytujemy plik /etc/vsftpd/vsftpd.conf:

local_enable=YES
anonymous_enable=NO
listen=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
dirmessage_enable=YES

Powyższa konfiguracja uruchomi serwer ftp do zasobów którego użytkownik będzie miał dostęp po podaniu  loginu i hasła.

W systemie tworzymy nowego użytkownika pkgbin, którego katalogiem domowym będzie:

/usr/portage/packages
useradd -c'Uzytkownik binarek' -d /usr/portage/packages -g ftp -s /bin/false pkgbin

Ustalmy hasło dla użytkownika pkgbin. W tym przykładzie hasło to pkgbin. Oczywiście każdy może sobie ustalić swoje hasło.

passwd pkgbin

Budujemy pakiety binarne wraz z ich plikami konfiguracyjnymi:

quickpkg --include-config y "*/*"

Powyższe polecenie stworzy pakiety binarne całego oprogramowania zainstalowanego na komputerze „matce”.

Uruchamiamy serwer:

cd /etc/init.d
./vstftpd start

Konfigurujemy klientów:

W pliku /etc/portage/make.conf dopisujemy zmienne:

FEATURES=”getbinpkg” – automatyczne pobieranie pakietów binarnych.

PORTAGE_BINHOST=”ftp://pkgbin:pkgbin@192.168.0.1/” – adres do pakietów binarnych na komputerze „matce”.

Pakiety na komputerach „satelitach” instalujemy poleceniem emerge. Aktualizacja systemu przebiega też standardowo:

emerge --update --deep --ask world

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *