Që nga versioni 9.2, FreeBSD ka prezantuar një mjet të ri për të zëvendësuar komandat e vjetra pkg_* - pkg, i njohur gjithashtu si pkgng. Është shumë e ngjashme me Debian aptose Fedora, yumpor ka disa veçori shumë interesante. Një prej tyre është mundësia për të përdorur lehtësisht depon tuaj private të paketave.
Pse dëshironi ta bëni këtë? Depot zyrtare pkg janë ndërtuar nga pema e porteve të FreeBSD me një grup shumë të kufizuar opsionesh. Për shembull, paketës zyrtare për PHP i mungon mbështetja për MySQL. Një arsye tjetër mund të jetë se dëshironi të keni dy depo, një me X11 të aktivizuar - për desktopin tuaj - dhe një me X11 të çaktivizuar - për serverët tuaj. Ka shumë opsione dhe mundësi, dhe ky tutorial do t'ju tregojë se si të ndërtoni depon tuaj me Poudriere , një mjet për ndërtimin e paketave në masë.
Unë supozoj se keni një VPS të ri me FreeBSD 10 x64 të instaluar. Para së gjithash, ju nevojitet pema e porteve në sistemin tuaj:
cd /usr
portsnap fetch extract
Më pas, duhet të instaloni Poudriere nga burimi (Opsionet e paracaktuara janë në rregull!):
cd /usr/ports/ports-mgmt/poudriere
make install clean
Tjetra, krijoni një skedar konfigurimi bazë:
cp /usr/local/etc/poudriere.conf.sample /usr/local/etc/poudriere.conf
... dhe modifikojeni sipas nevojave tuaja. Më poshtë është një fillim i mirë:
FREEBSD_HOST=http://ftp.freebsd.org
RESOLV_CONF=/etc/resolv.conf
BASEFS=/usr/local/poudriere
POUDRIERE_DATA=$/data
USE_PORTLINT=no
USE_TMPFS=yes
DISTFILES_CACHE=/usr/ports/distfiles
CHECK_CHANGED_DEPS=yes
# Edit this according to your VPS' CPU.
PARALLEL_JOBS=1
NOLINUX=yes
Në vend të përdorimit të portstree të rregullt të sistemit tuaj, Poudriere përdor kopjen e vet. Ju duhet ta merrni atë me komandën e mëposhtme:
poudriere ports -c
Tani, krijoni një burg për ndërtuesin për të kandiduar brenda:
poudriere jail -c -j testjail -v 10.0-RELEASE -a amd64
Përpara se të filloni të ndërtoni paketa, në fakt do t'ju duhet t'i tregoni Poudriere se çfarë duhet të ndërtojë. Hapni redaktuesin tuaj të preferuar të tekstit dhe shtoni disa paketa:
www/firefox
im/pidgin
sysutils/tmux
editors/vim
... dhe ruani skedarin nën /usr/local/etc/buildlist. Nëse nuk dëshironi opsionet e paracaktuara, atëherë mund të konfiguroni opsionet për secilën paketë në atë skedar. Kjo bëhet duke lëshuar komandën e mëposhtme:
poudriere options -cf /usr/local/etc/buildlist
Përndryshe, mund të filloni të ndërtoni:
poudriere bulk -f /usr/local/etc/buildlist -j testjail
Sasia e kohës që merr ky operacion do të ndryshojë në bazë të shpejtësisë së CPU-së së VPS-së tuaj. Pasi të ketë përfunduar procesi, paketat tuaja të reja mund të gjenden, të renditura sipas build-jail, në /usr/local/poudriere/data/packages/.
Tani, ju duhet një server në internet për t'i shërbyer ato paketa në makinat tuaja të tjera. Zgjodha Nginx pasi është efikas dhe i lehtë. Instaloni atë nëpërmjet porteve (Opsionet e paracaktuara janë të mira!):
cd /usr/ports/www/nginx
make install clean
Pasi të përfundojë procesi i instalimit, duhet të konfiguroni Nginx për të shërbyer direktorinë e paketave. Për ta bërë këtë, modifikoni /usr/local/etc/nginx/nginx.confme redaktuesin tuaj të preferuar të tekstit:
server {
listen 80;
server_name localhost;
root /usr/local/poudriere/data/packages/testjail-default;
location / {
autoindex on;
}
}
Më në fund, sigurohuni që uebserveri të fillojë në nisje:
echo "nginx_enable=YES" >> /etc/rc.conf
... dhe nisni serverin:
/usr/local/etc/rc.d/nginx start
Mundësitë me Poudriere janë të mëdha. Mund të mësoni më shumë rreth Poudriere duke lexuar hyrjen në faqen e menaxhimit. Nëse planifikoni të përdorni një konfigurim të tillë në një mjedis prodhimi, do të ishte në interesin tuaj më të mirë të lexoni gjithashtu rreth nënshkrimit të paketës dhe të konsideroni sigurimin e lidhjes me serverin tuaj të internetit me TLS. Por tani për tani, ju jeni gati për të tronditur!
Për të aktivizuar depon në klient, ekzekutoni këto komanda në makinën e klientit:
mkdir -p /usr/local/etc/repos
vi /usr/local/etc/repos/myrepo.conf
Plotësojeni myrepo.confme përmbajtjen e mëposhtme. Ju mund të përdorni çdo emër për këtë skedar, me kusht që të ketë .confprapashtesën.
poudriere: {
url: "http://yoururl"
mirror_type: "http",
enabled: yes
}
Më pas, përditësoni bazën e të dhënave të paketës me komandën:
pkg update
Tani mund të instaloni paketa nga depoja juaj e re!