Costruisci il tuo repository Pkg con Poudriere

Dalla versione 9.2, FreeBSD ha introdotto un nuovo strumento per sostituire i vecchi comandi pkg _ * - pkg, noti anche come pkgng. È molto simile a quello di Debian apto Fedora yumma ha alcune caratteristiche molto interessanti. Uno di questi è la possibilità di utilizzare facilmente il proprio repository privato di pacchetti.

Perché vorresti farlo? I repository pkg ufficiali sono costruiti dall'albero delle porte di FreeBSD con un set molto limitato di opzioni. Ad esempio, il pacchetto ufficiale per PHP manca del supporto per MySQL. Un altro motivo potrebbe essere che si desidera avere due repository, uno con X11 abilitato - per il desktop - e uno con X11 disabilitato - per i server. Ci sono molte opzioni e possibilità e questo tutorial ti mostrerà come costruire il tuo repository con Poudriere , uno strumento per pacchetti di costruzione di massa.

Presumo che tu abbia un nuovo VPS con FreeBSD 10 x64 installato. Prima di tutto, hai bisogno dell'albero delle porte sul tuo sistema:

cd /usr
portsnap fetch extract

Quindi, è necessario installare Poudriere dalla fonte (le opzioni predefinite vanno bene!):

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

Quindi, crea un file di configurazione di base:

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

... e modificalo in base alle tue esigenze. Quello che segue è un buon inizio:

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

Invece di usare il normale porttree del tuo sistema, Poudriere usa una sua copia. È necessario ottenerlo con il seguente comando:

poudriere ports -c

Ora, crea una jail per l'esecuzione del builder all'interno di:

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

Prima di poter iniziare a creare pacchetti, dovrai effettivamente dire a Poudriere cosa dovrebbe costruire. Apri il tuo editor di testo preferito e aggiungi alcuni pacchetti:

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

... e salva il file in /usr/local/etc/buildlist. Se non si desidera le opzioni predefinite, è possibile configurare le opzioni per ciascun pacchetto in quel file. Questo viene fatto emettendo il seguente comando:

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

Altrimenti, puoi iniziare a costruire:

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

Il tempo necessario per questa operazione varia in base alla velocità della CPU del VPS. Al termine del processo, è possibile trovare i nuovi pacchetti, ordinati per build-jail, in /usr/local/poudriere/data/packages/.

Ora, hai bisogno di un server web per servire effettivamente quei pacchetti su altre tue macchine. Ho scelto Nginx poiché è efficiente e leggero. Installalo tramite le porte (le opzioni predefinite vanno bene!):

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

Al termine del processo di installazione, è necessario configurare Nginx per servire la directory dei pacchetti. Per farlo, modifica /usr/local/etc/nginx/nginx.confcon il tuo editor di testo preferito:

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

Infine, assicurati che il server web si avvii all'avvio:

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

... e avvia il server:

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

Le possibilità con Poudriere sono enormi. Puoi saperne di più su Poudriere leggendo la voce della manpage. Se si prevede di utilizzare un'impostazione come questa in un ambiente di produzione, sarebbe nel vostro interesse leggere anche la firma del pacchetto e considerare la protezione della connessione al server Web con TLS. Ma per ora, sei pronto per il rock!

Per attivare il repository sul client, eseguire questi comandi sul computer client:

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

Popolare myrepo.confcon il seguente contenuto. È possibile utilizzare qualsiasi nome per questo file, a condizione che abbia il .confsuffisso.

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

Successivamente, aggiorna il database del pacchetto con il comando:

pkg update

Ora puoi installare i pacchetti dal tuo nuovo repository!



Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.