Bygg ditt eget Pkg-lager med Poudriere

Siden versjon 9.2 har FreeBSD introdusert et nytt verktøy for å erstatte de gamle pkg_*-kommandoene - pkg, også kjent som pkgng. Det er veldig likt Debians apteller Fedoras, yummen har noen veldig kule funksjoner. En av disse er muligheten for enkelt å bruke ditt eget private arkiv med pakker.

Hvorfor vil du gjøre det? De offisielle pkg-repositoriene er bygget ut av FreeBSDs port-tre med et svært begrenset sett med alternativer. For eksempel mangler den offisielle pakken for PHP støtte for MySQL. En annen grunn kan være at du vil ha to arkiver, ett med X11 aktivert - for skrivebordet ditt - og ett med X11 deaktivert - for serverne dine. Det er mange alternativer og muligheter, og denne opplæringen vil vise deg hvordan du bygger ditt eget depot med Poudriere , et verktøy for massebygging av pakker.

Jeg antar at du har en fersk VPS med FreeBSD 10 x64 installert. Først av alt trenger du port-treet på systemet ditt:

cd /usr
portsnap fetch extract

Deretter må du installere Poudriere fra kilden (Standardalternativene er fine!):

cd /usr/ports/ports-mgmt/poudriere
make install clean

Deretter oppretter du en grunnleggende konfigurasjonsfil:

cp /usr/local/etc/poudriere.conf.sample /usr/local/etc/poudriere.conf

... og rediger den i henhold til dine behov. Følgende er en god start:

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

I stedet for å bruke den vanlige portstreen til systemet ditt, bruker Poudriere sin egen kopi. Du må få den med følgende kommando:

poudriere ports -c

Opprett nå et fengsel for byggherren å kjøre innenfor:

poudriere jail -c -j testjail -v 10.0-RELEASE -a amd64

Før du kan begynne å bygge pakker, må du faktisk fortelle Poudriere hva den skal bygge. Åpne favoritttekstredigeringsprogrammet ditt og legg til noen pakker:

www/firefox
im/pidgin
sysutils/tmux
editors/vim

... og lagre filen under /usr/local/etc/buildlist. Hvis du ikke vil ha standardalternativene, kan du konfigurere alternativene for hver pakke i den filen. Dette gjøres ved å gi følgende kommando:

poudriere options -cf /usr/local/etc/buildlist

Ellers kan du begynne å bygge:

poudriere bulk -f /usr/local/etc/buildlist -j testjail

Hvor lang tid denne operasjonen tar vil variere basert på CPU-hastigheten til VPS-en din. Etter at prosessen er fullført, kan de ferske pakkene dine bli funnet, sortert etter build-jail, i /usr/local/poudriere/data/packages/.

Nå trenger du en webserver for å faktisk betjene disse pakkene til de andre maskinene dine. Jeg valgte Nginx siden den er effektiv og lett. Installer den via porter (Standardalternativene er fine!):

cd /usr/ports/www/nginx
make install clean

Etter at installasjonsprosessen er fullført, må du konfigurere Nginx til å betjene pakkekatalogen. For å gjøre det, rediger /usr/local/etc/nginx/nginx.confmed din favoritt tekstredigerer:

server {
    listen       80;
    server_name  localhost;
    root /usr/local/poudriere/data/packages/testjail-default;
    location / {
            autoindex on;
    }
}

Til slutt, sørg for at webserveren starter ved oppstart:

echo "nginx_enable=YES" >> /etc/rc.conf

... og start serveren:

/usr/local/etc/rc.d/nginx start

Mulighetene med Poudriere er enorme. Du kan lære mer om Poudriere ved å lese manpage-oppføringen. Hvis du planlegger å bruke et slikt oppsett i et produksjonsmiljø, vil det være i din interesse å også lese om pakkesignering, og vurdere å sikre tilkoblingen til webserveren din med TLS. Men foreløpig er du klar til å rocke!

For å aktivere depotet på klienten, kjør disse kommandoene på klientmaskinen:

mkdir -p /usr/local/etc/repos
vi /usr/local/etc/repos/myrepo.conf

Fyll myrepo.confmed følgende innhold. Du kan bruke hvilket som helst navn for denne filen, forutsatt at den har .confsuffikset.

poudriere: {
  url: "http://yoururl"
  mirror_type: "http",
  enabled: yes
}

Deretter oppdaterer du pakkedatabasen med kommandoen:

pkg update

Du kan nå installere pakker fra ditt nye depot!

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer