Pkgsrc su slackware

Da Slacky.eu.

Premessa & Prerequisiti

La seguente guida descrive come installare pkgsrc sulla slackware e farli convivere serenamente. Purtroppo l' unico modo per evitare delle ridondaze ed altre amenità a circolo vizioso è quella di installare una slack minimale per poi passare la palla al pkgsrc. Bisogna tener presente anche la versione dei pacchetti che siasimilmodo dello stesso periodo del pkgsrc. Questi, sono esclusivamente, dei miei consigli.

Esempio: Per riuscire a non avere grossi problemi nella slack 12.2 (32bit ovvio, a gennaio 2009) ho utilizzato con discreto successo, ma non con pochi insuccessi, il pkgsrc 2008q3

Cosa e' Pkgsrc

Pkgsrc e' una collezione di pacchetti creata inizialmente Netbsd ma con l'obbiettivo di portabilita' per altre piattaforme.

Con pkgsrc e' possibile avere una customizzazione dei pacchetti oltre che del processore es:

PKG_OPTIONS.perl= -threads

dira' al apccehtto perl che non verra' inserito il supporto per i thread

inoltre il suo sistema e' pensato per scaricare il sorgente scaricare le patch patcharlo e compilarlo risolvendo tutte le dipendenze del caso

per maggiore info e documentazione potete visitare http://www.netbsd.org/docs/software/packages.html

Prerequisiti

Un sistema linux funzionante;

Una connessione a internet;

Opzionale: pacchetto cvs installato;

Procurarsi e installare Pkgsrc

Installazione Pkgsrc

Diventate root

Andare su: ftp://ftp.netbsd.org/pub/pkgsrc/

e procuratevi l'ultimo tarball, di solito hanno questa nomeclatura: pkgsrc-2008Q2, dove pkgsrc- 2008 = anno Q2 = release

per chi si ritiene un cvssaro esperto vi e' anche la possibilita' di ottenere un cvs

portatevi in /usr (va bene qualsiasi dir) e date

# cd /usr
# wget ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.xz
# tar xzf pkgsrc.tar.gz

o

# env CVS_RSH=ssh cvs -q -z2 -d anoncvs@anoncvs3.de.NetBSD.org:/cvsroot checkout -P pkgsrc

ben fatto! avete appena installato il vostro pkgsrc! ora e' tempo di configurarlo!

Bootstrap

una volta che avete estratto il vostro pkgsrc entrate dentro bootstrap

# cd /usr/pkgsrc/bootstrap

e diamo

# ./bootstrap -h 

per vedere tutte le opzioni

ora che siamo pronti diamo

# ./bootstrap

ora ci mettera' un po' per compilare i suoi tools essenziali

una volta terminato avrete completato il 90% del lavoro ;).

Configurazione mk.conf

Ora possiamo configurare il nostro file di config (dal quale dipendera' pkgsrc)

dalla cartella /usr/pkgsrc/bootstrap/ date

# cp work/mk.conf /usr/pkg/etc/mk.conf

editiamo

# nano /usr/pkg/etc/mk.conf

come potete vedere vi troverete di fronte a un file di questo genere:

# Example /usr/pkg/etc/mk.conf file produced by bootstrap-pkgsrc
# ven 24 ago 2018, 00.46.32, +02

.ifdef BSD_PKG_MK       # begin pkgsrc settings

ABI=                    64

PKG_DBDIR=              /usr/pkg/pkgdb
LOCALBASE=              /usr/pkg
VARBASE=                /var
PKG_TOOLS_BIN=          /usr/pkg/sbin
PKGINFODIR=             info
PKGMANDIR=              man

PKG_ADD_CMD?=                   /usr/pkgsrc/bootstrap/work/sbin/pkg_add
PKG_ADMIN_CMD?=                 /usr/pkgsrc/bootstrap/work/sbin/pkg_admin
PKG_CREATE_CMD?=                /usr/pkgsrc/bootstrap/work/sbin/pkg_create
PKG_INFO_CMD?=                  /usr/pkgsrc/bootstrap/work/sbin/pkg_info
WRKOBJDIR=                      /usr/pkgsrc/bootstrap/work/wrk
MAKE_jobs=                       4

#Script rc.d
PKG_RCD_SCRIPTS=yes              #<--qui dico "si" agli script d'avvio
RCD_SCRIPTS_DIR=/etc/rc.d        #<--nel nostro caso dove li mette slackware
ACCEPTABLE_LICENSES+=vim-license #<--questa variabile e' per accettare le licenze dei pacchetti che non sono pienamente liberi
ALLOW_VULNERABLE_PACKAGES=vim    #<--questa variabile permette ai pacchetti con delle vullerabilita' di venire installati comunque

.endif                  # end pkgsrc settings

Capita spesso che la root sia una partizione piccola, quindi la directory di compilazione può essere spostata su un altro disco o partizione, esempio banale è la /home. Basta rettificare la variabile preposta:

WRKOBJDIR=              /usr/pkgsrc/bootstrap/work/wrk

In questa:

WRKOBJDIR=              /home/bootstrap/work/wrk

Anche la directory dei sorgenti può essere spostata /usr/pkgsrc/distfiles

DIST_PATH=               /home/distfiles

oppure

DIST_PATH=               ${HOME}/distfiles

Il ramo dovrebbe crearla da sola, verificare, altrimenti crearla da se.

per la spiegazione e la lista di tutte le varibili potete consultare /usr/pkgsrc/mk/defaults/mk.conf o la documentazione online -> http://www.netbsd.org/docs/

Modifiche al sistema linux

Non spaventatevi si tratta di 4 cavolatine ;) Ma bisogna intervenire adesso o altrimenti non funzionerà qualcosa

editate /etc/profile e aggiungete le path in grassetto alle varie varibili che elenchero'

export MANPATH=/usr/local/man:/usr/man:/usr/pkg/man
if [ "`id -u`" = "0" ]; then
 echo $PATH | grep /usr/local/sbin 1> /dev/null 2> /dev/null
 if [ ! $? = 0 ]; then
   PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/pkg/bin:/usr/pkg/sbin:$PATH
 fi
fi

salvate e uscite

dopo di che aggiungete le lib alle lib di slackware (il riusltato del cat dovrebbe contenere la directory in grassetto)

# echo /usr/pkg/lib >> /etc/ld.so.conf
# cat /etc/ld.so.conf 
/usr/local/lib
/usr/X11R6/lib
/usr/i486-slackware-linux/lib
/usr/pkg/lib

Oppure in 64bit:

/lib64
/usr/lib64
/usr/local/lib64
/usr/x86_64-slackware-linux/lib64
/usr/lib64/seamonkey
/usr/pkg/lib

Fine!

Installare digest e audit

Audit: e' una lista di pacchetti per i quali vi sono licenze non free, infatti pkgsrc si femera' dando un errore del tipo 'il pacchetto ha una licenza non libera' per aggiungerlo lostesso basta inserirlo in

ACCEPTABLE_LICENSES+=vim-license 

e pkgsrc continuera' ad andare

Digest: e' un pacchetto che contiene una lista di vullerabilita' che affliggono i vari pacchetti, anche qui se volete che continui ignorando l'errore che non vi permette di installarlo dovete aggiungere nella variabile

ALLOW_VULNERABLE_PACKAGES=vim 

e il gioco e' fatto


Per installare audit:

/usr/pkg/sbin/download-vulnerability-list

Per installare digest:

#cd /usr/pkgsrc/pkgtools/digest
#bmake

et voila' fatto!

Modifica breve al sistema linux

Netbsd considera migliore il suo gestore ftp, e quindi consiglia di disabilitare il pacchetto ftp di slackware in questo modo

# chmod 0 /bin/ftp

Usare pkgsrc

Prima di tutto bisogna cercare cosa si vuole installare e verificare se è presente, a tal proposito, molti trovano efficace e veloce la visione web.

Tutti i pacchetti e la pagina annessa http://pkgsrc.se

Passiamo a qualche esempio, provate ad usare pkgsrc rimuovendo openssh

# removepkg openssh
 # cd /usr/pkgsrc/security/openssh
 # bmake install
 # bmake clean clean-depends

et voila' facile no?

Ricapitolando i comandi

bmake update
bmake install
bmake reinstall
bmake clean
bmake clean-depends

Mantenere e aggiornare Pkgsrc

semplice basta riandare sul sito e scaricare il nuovo pkgsrc (esce ogni 4 mesi) o se volete la cvs con il metodo con cui avete ottenuto pkgsrc

se non volete fare update a mano per ogni pacchetto vi e' un tools che fa al caso vostro

portatevi in

# cd /usr/pkgsrc/pkgtools/lintpkgsrc

date

# bmake install

i vari comandi sono i seguenti

# lintpkgsrc -i			# check per update
# lintpkgsrc -o			# check per la versione vecchia delle distribuzioni dei file
# lintpkgsrc -or		# rimuove le vecchie distribuzioni dei file


Aggiungere pkgsrc-wip

Pkgsrc-wip è la collezione di software (Work i'n progress) per ampliare il parco a disposizione e colmare le diverse lacune di pkgsrc, ma, come dice lo stesso nome, pecca di stabilità.

Tutti i pacchetti presenti: http://pkgsrc.se/wip%7Cpage=* Se serve potete usare la funzione cerca nel sito in modo da trovare più agevolmente il software necessario.

Installiamolo:

# cd /usr/pkgsrc
# git clone git://wip.pkgsrc.org/pkgsrc-wip.git wip

oppure

# git clone --depth 1 git://wip.pkgsrc.org/pkgsrc-wip.git wip

Per uno snapshot del ramo:

https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=snapshot;h=HEAD;sf=tgz

Tutto il parco software è presente sotto la directory wip

# cd /usr/pkgsrc/wip

Conclusione & Fonti

Proporrei di provarlo almeno una volta ^_^, il tutorial non e' completo ma in 1 ora scarsa che volevate? asd

Fonti: http://users.piuha.net/martti/comp/slackware/slackware.html && http://www.netbsd.org/docs/software/packages.html