Bouw je eigen Pkg-repository met Poudriere

Sinds versie 9.2 heeft FreeBSD een nieuwe tool geïntroduceerd om de oude pkg _ * - commando's - te vervangen pkg, ook wel bekend als pkgng. Het lijkt erg op dat van Debian aptof Fedora, yummaar heeft een aantal erg coole functies. Een daarvan is de mogelijkheid om eenvoudig uw eigen, privé repository van pakketten te gebruiken.

Waarom zou je dat willen doen? De officiële pkg-repositories zijn opgebouwd uit FreeBSD's ports tree met een zeer beperkte set opties. Het officiële pakket voor PHP heeft bijvoorbeeld geen ondersteuning voor MySQL. Een andere reden kan zijn dat u twee opslagplaatsen wilt hebben, één met X11 ingeschakeld - voor uw desktop - en één met X11 uitgeschakeld - voor uw servers. Er zijn veel opties en mogelijkheden, en deze tutorial laat je zien hoe je je eigen repository bouwt met Poudriere , een tool voor het massaal bouwen van pakketten.

Ik neem aan dat je een nieuwe VPS hebt met FreeBSD 10 x64 geïnstalleerd. Allereerst heb je de ports-tree op je systeem nodig:

cd /usr
portsnap fetch extract

Vervolgens moet u Poudriere vanaf de bron installeren (de standaardopties zijn prima!):

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

Maak vervolgens een basisconfiguratiebestand:

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

... en bewerk het volgens uw behoeften. Het volgende is een goed begin:

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

In plaats van de gewone poort van uw systeem te gebruiken, gebruikt Poudriere zijn eigen kopie. Je moet het verkrijgen met de volgende opdracht:

poudriere ports -c

Maak nu een gevangenis waarin de bouwer kan draaien:

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

Voordat u pakketten kunt gaan bouwen, moet u Poudriere eigenlijk vertellen wat het moet bouwen. Open uw favoriete teksteditor en voeg enkele pakketten toe:

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

... en sla het bestand op onder /usr/local/etc/buildlist. Als u de standaardopties niet wilt, kunt u de opties voor elk pakket in dat bestand configureren. Dit doet u door de volgende opdracht te geven:

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

Anders kunt u beginnen met bouwen:

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

De tijd die deze operatie in beslag neemt, is afhankelijk van de CPU-snelheid van je VPS. Nadat het proces is voltooid, kunnen uw nieuwe pakketten worden gevonden, gesorteerd op build-jail, in /usr/local/poudriere/data/packages/.

Nu hebt u een webserver nodig om die pakketten daadwerkelijk op uw andere machines te kunnen aanbieden. Ik koos voor Nginx omdat het efficiënt en lichtgewicht is. Installeer het via poorten (de standaardopties zijn prima!):

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

Nadat het installatieproces is voltooid, moet u Nginx configureren om de pakketdirectory te bedienen. Om dat te doen, bewerkt u /usr/local/etc/nginx/nginx.confmet uw favoriete teksteditor:

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

Zorg er ten slotte voor dat de webserver begint bij het opstarten:

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

... en start de server:

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

De mogelijkheden met Poudriere zijn enorm. U kunt meer over Poudriere leren door het manpage-item te lezen. Als u van plan bent een dergelijke installatie in een productieomgeving te gebruiken, is het in uw belang om ook te lezen over het ondertekenen van pakketten en te overwegen om de verbinding met uw webserver met TLS te beveiligen. Maar voor nu ben je klaar om te rocken!

Voer de volgende opdrachten uit op de clientcomputer om de repository op de client te activeren:

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

Vul myrepo.confde volgende inhoud in. U kunt elke naam voor dit bestand gebruiken, op voorwaarde dat het het .confachtervoegsel heeft.

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

Werk vervolgens de pakketdatabase bij met de opdracht:

pkg update

Je kunt nu pakketten installeren vanuit je nieuwe repository!



Leave a Comment

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.