GNU/Linux >> Linux Esercitazione >  >> Linux

Come usare pkgsrc su Linux

NetBSD è famoso per funzionare praticamente su qualsiasi cosa, ma sapevi che è il suo secondo rivendicare la fama è il pkgsrc gestore di pacchetti? Come NetBSD, pkgsrc funziona praticamente su qualsiasi cosa, o almeno su qualsiasi cosa Unix e simile a Unix. Puoi installare pkgsrc su BSD, Linux, Illumos, Solaris e Mac. Nel complesso, sono supportati oltre 20 sistemi operativi.

Perché usare pkgsrc?

Ad eccezione di MacOS, tutti i sistemi operativi Unix vengono forniti con un gestore di pacchetti incluso. Non sei necessariamente necessario pkgsrc, ma ecco tre ottimi motivi per provare:

  • Imballaggio. Se sei curioso di pacchettizzare ma devi ancora provare a creare un pacchetto da solo, pkgsrc è un sistema relativamente semplice da usare, specialmente se hai già familiarità con Makefiles e sistemi di build come GNU Autotools.
  • Generico. Se utilizzi più sistemi operativi o distribuzioni, probabilmente incontri un gestore di pacchetti per ogni sistema. Puoi utilizzare pkgsrc su sistemi disparati in modo che quando impacchetta un'applicazione per uno, l'abbia impacchettata per tutti.
  • Flessibile. In molti sistemi di packaging, non è sempre ovvio come scegliere un pacchetto binario o un pacchetto sorgente. Con pkgsrc, la distinzione è chiara, entrambi i metodi di installazione sono altrettanto facili ed entrambi risolvono le dipendenze per te.

Come installare pkgsrc

Che tu sia su BSD, Linux, Illumos, Solaris o MacOS, il processo di installazione è sostanzialmente lo stesso:

  1. Usa CVS per controllare l'albero di pkgsrc
  2. Avvia il sistema pkgsrc
  3. Installa pacchetti

Usa CVS per controllare l'albero pkgsrc

Prima di Git, prima di Subversion, c'era CVS . Non devi sapere molto su CVS per fare un checkout del suo codice:se sei abituato a Git, allora pensa a checkout come clonare . Quando esegui un checkout CVS di pkgsrc, stai scaricando "ricette" che descrivono in dettaglio come deve essere compilato ogni pacchetto. Sono molti file, ma sono piccoli perché in realtà non stai estraendo il codice sorgente per ogni pacchetto, ma solo l'infrastruttura di compilazione e i Makefile necessari per creare su di essa. L'utilizzo di CVS semplifica l'aggiornamento del checkout di pkgsrc quando ne viene rilasciato uno nuovo.

I documenti di pkgsrc consigliano di mantenere il tuo albero in /usr directory, quindi devi usare sudo (o diventa root) per usare questo comando:

$ cd /usr
$ sudo cvs -q -z2 \
  -d [email protected]:/cvsroot \
  checkout -r pkgsrc-2019Q3 -P pkgsrc

Mentre scrivo, l'ultima versione è 2019Q3. Controlla la sezione delle notizie della home page di pkgsrc.org o la documentazione di NetBSD per determinare l'ultima versione di rilascio.

Bootstrap pkgsrc

Dopo che l'albero pkgsrc è stato copiato sul tuo computer, hai un /usr/pkgsrc directory piena di script di compilazione. Prima di poterli utilizzare, è necessario eseguire il bootstrap di pkgsrc in modo da avere facile accesso ai comandi pertinenti necessari per creare e installare il software.

Il modo in cui esegui il bootstrap di pkgsrc dipende dal sistema operativo in uso.

Per NetBSD, puoi semplicemente utilizzare il bootstrapper in bundle:

# cd pkgsrc/bootstrap
# ./bootstrap

Su altri sistemi, ci sono modi migliori con alcune funzionalità personalizzate incluse, fornite da Joyent. Per scoprire il comando esatto da eseguire, visitare pkgsrc.joyent.com. Ad esempio, su Linux (Fedora, Debian, Slackware e così via):

$ curl -O \
  https://pkgsrc.joyent.com/packages/Linux/el7/bootstrap/bootstrap-trunk-x86_64-20170127.tar.gz
$ BOOTSTRAP_SHA="eb0d6911489579ca893f67f8a528ecd02137d43a"

Anche se il percorso suggerisce che i file inclusi sono per RHEL 7, i binari tendono ad essere compatibili con tutte le distribuzioni Linux tranne le più all'avanguardia. E se dovessi trovare un file binario incompatibile con la distribuzione in cui ti trovi, hai la possibilità di compilare dal sorgente.

Verifica il checksum SHA1:

$ echo "${BOOTSTRAP_SHA}" bootstrap-trunk*gz > check-shasum
sha1sum -c check-shasum

Puoi anche verificare la firma PGP:

$ curl -O \
https://pkgsrc.joyent.com/packages/Linux/el7/bootstrap/bootstrap-trunk-x86_64-20170127.tar.gz.asc
curl -sS https://pkgsrc.joyent.com/pgp/56AAACAF.asc | gpg --import
gpg --verify ${BOOTSTRAP_TAR}{.asc,}

Quando sei sicuro di avere il kit di bootstrap giusto, installalo su /usr/pkg :

sudo tar -zxpf ${BOOTSTRAP_TAR} -C /

Questo ti fornisce i soliti comandi pkgsrc. Aggiungi queste posizioni al tuo PERCORSO:

$ echo "PATH=/usr/pkg/sbin:/usr/pkg/bin:$PATH" >> ~/.bashrc
$ echo "MANPATH=/usr/pkg/man:$MANPATH" >> ~/.bashrc

Se preferisci usare pkgsrc senza fare affidamento sulle build di Joyent, puoi semplicemente eseguire il bootstrap script che hai ottenuto con l'albero pkgsrc. Leggi il file README pertinente nel bootstrap directory prima di eseguirla per importanti note specifiche del sistema.

Come installare il software con pkgsrc

Installare un binario precompilato (come faresti con DNF o Apt) con pkgsrc è facile. Il comando per le installazioni binarie è pgkin , che ha un proprio sito dedicato su pkgin.net. Il processo dovrebbe sembrare abbastanza familiare a chiunque abbia usato Linux.

Per cercare il tmux pacchetto:

$ pkgin search tmux

Per installare il pacchetto tmux:

$ sudo pkgin install tmux

Il pkgin lo scopo del comando è imitare il comportamento dei tipici gestori di pacchetti Linux, quindi ci sono opzioni per elencare i pacchetti disponibili, per interrogare i pacchetti disponibili per trovare ciò che fornisce un eseguibile specifico e così via.

Come costruire dal codice sorgente con pkgsrc

Il vero potere di pkgsrc, tuttavia, è la facilità di creare un pacchetto dal sorgente. Hai scaricato tutti gli oltre 20.000 script di build nel primo passaggio di configurazione e puoi accedervi navigando direttamente nel tuo albero pkgsrc.

Ad esempio, per costruire tcsh dal sorgente, prima individua lo script di compilazione:

$ find /usr/pkgsrc -type d -name "tcsh"
/usr/pkgsrc/shells/tcsh

Quindi, passa alla directory di origine:

$ cd /usr/pgksrc/shells/tcsh

La directory dello script di build contiene un numero di file per aiutare l'applicazione a costruire sul tuo sistema, ma in particolare contiene il DESCR file, che contiene una descrizione del software, nonché il Makefile che attiva la build.

$ ls 
CVS    DESCR     Makefile
PLIST  distinfo  patches
$ cat DESCR
TCSH is an extended C-shell with many useful features like
filename completion, history editing, etc.
$

Quando sei pronto, crea e installa:

$ sudo bmake install

Il sistema pkgsrc utilizza bmake comando (fornito dal checkout di pkgsrc nel primo passaggio), quindi assicurati di usare bmake (e non fare per abitudine).

Se stai compilando per diversi sistemi, puoi creare un pacchetto invece di installarlo subito:

$ cd /usr/pgksrc/shells/tcsh
$ sudo bmake package
[...]
=> Creating binary package in /usr/pkgsrc/packages/All/tcsh-X.Y.Z.tgz

I pacchetti creati da pkgsrc sono tarball standard, ma possono essere installati comodamente con pkg_add :

$ sudo pkg_add /usr/pkgsrc/packages/All/tcsh-X.Y.Z.tgz
tcsh-X.Y.Z: adding /usr/pkg/bin/tcsh to /etc/shells
$ tcsh
localhost%

I pkgtools raccolta da pkgsrc fornisce il pkg_add , pkg_info , pkg_admin , pkg_create e pkg_delete comandi per aiutare a gestire i pacchetti che crei e mantieni sul tuo sistema.

Pkgsrc per una facile gestione

Il sistema pkgsrc offre un approccio diretto e pratico alla gestione dei pacchetti. Se stai cercando un gestore di pacchetti che ti tenga alla larga e inviti alla personalizzazione, prova pkgsrc su qualsiasi sistema operativo Unix o simile a Unix che stai utilizzando.


Linux
  1. Come usare Unzip in Linux

  2. Come usare il comando Su in Linux

  3. Come utilizzare XBPS Package Manager su Void Linux

  4. Come usare Pacman su Arch Linux

  5. Come utilizzare Google Drive su Linux

Come usare traceroute su Kali Linux

Come utilizzare lo schermo Linux

Come usare du Command in Linux

Come utilizzare il terminale Linux in Android

Come utilizzare il comando sysctl in Linux

Come utilizzare Yum Package Manager su Rocky Linux 8