Pkgsrc su Slackware

Da GolemWiki.
Jump to navigation Jump to search

Introduzione

Slackware è la distribuzione più longeva tra quelle ancora in auge. Sviluppata con una particolare attenzione riguardo a stabilità e semplicità non possiede però né strumenti di configurazione con interfaccia grafica, né un sistema di gestione dei pacchetti con controllo automatico delle dipendenze.

Gestione dei pacchetti

Comandi

installpkg nomepacchetto (Installa un pacchetto)
removepkg nomepacchetto (Rimuove un pacchetto)
updatepkg nomepacchetto (Aggiorna un pacchetto) 

Gestori di pacchetti

  • Gestore ufficiale: Slackpkg (permette l'installazione di pacchetti da repository online, ma non gestisce le dipendenze)

Software extra

Uno dei principali problemi di Slackware è dato dalla difficoltà di reperimento dei programmi, la quantità di pacchetti ufficiali è molto inferiore a quella di altre distribuzioni. Anche il reperimento di programmi popolari come Libreoffice, GNOME o VLC può creare qualche difficoltà su Slackware.

Soluzioni alternative

  • Checkinstall: utility per la creazione di pacchetti Slackware a partire dal sorgente di un programma.
  • rpm2tgz: programma per convertire pacchetti rpm nel formato tgz (utile per installare grossi pacchetti statici come Libreoffice).
  • SlackBuild: script per lo scaricamento, la compilazione e l'installazione di software per Slackware.
  • Slackyd: Slacky Downloader, permette di scaricare (non installa) automaticamente pacchetti Slackware da mirror ufficiali e non (es. Slacky.eu.
  • pkgsrc: (package source), framework per compilare ed installare software di terze parti su NetBSD ed altri sistemi di tipo UNIX.

pkgsrc

Introduzione

Se si decide di percorrere questa strada è consigliabile effettuare un'installazione minima del sistema Slackware (Base Linux System, Program Development, System libraries, Networking) ed utilizzare pkgsrc per il resto dei pacchetti (es.: X11, KDE, Libreoffice).

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
#tar xzf pkgsrc-2008Q2.tar.gz

o

#cvs -d anoncvs@anoncvs.netbsd.org:/cvsroot co -P pkgsrc

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

Bootstrap

uan 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

ora editiamo /usr/pkg/etc/mk.conf

come potete vedere vi troverete di fronte a un file di questo genere (questo e' il mio)

.ifdef BSD_PKG_MK       # begin pkgsrc settings


PKG_DBDIR=              /var/db/pkg <----------qui e' dove alloca il database di pkg
LOCALBASE=              /usr/pkg <----------la base locale
VARBASE=                /var
PKG_TOOLS_BIN=          /usr/pkg/sbin <----------qui si piazzano gli sbin
PKGMANDIR=              /usr/pkg/man <----------qui le mand dir

TOOLS_PLATFORM.pax?=            /usr/pkg/bin/pax
TOOLS_PLATFORM.tar?=            /usr/pkg/bin/tar
PKG_ADMIN_CMD?=                 /usr/pkgsrc/bootstrap/work/sbin/pkg_admin <----------qui il comando per gestire i pacchetti
PKG_CREATE_CMD?=                        /usr/pkgsrc/bootstrap/work/sbin/pkg_create <---------- qui per creare i pacchetti
PKG_INFO_CMD?=                  /usr/pkgsrc/bootstrap/work/sbin/pkg_info <----------qui per le info dei pkg
WRKOBJDIR=              /usr/pkgsrc/bootstrap/work/wrk <----------la directory di lavoro
#PKGSRC_COMPILER=icc <----------si puo' specificare il compilatore

#Script rc.d
PKG_RCD_SCRIPTS=yes <----------qui dico si algi script per l'avvio
RCD_SCRIPTS_DIR=/etc/rc.d <----------nel mio caso li piazzo dove li mette slackware di solito
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


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/

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!

Modifiche al sistema linux

Non spaventatevi si tratta di 4 cavolatine ;)

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:$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

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

#chmod 0 /sbin/ftp

Fine!

Usare pkgsrc

provate a usare pkgsrc rimuovendo openssh

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

et voila' facile no?

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


/usr/pkg/etc/mk.conf

ACCEPTABLE_LICENSES+=vim-license ALLOW_VULNERABLE_PACKAGES=vim USE_DESTDIR=NO PKG_RESUME_TRANSFERS=YES


Install pax from /pkgsrc/archive/pax


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


http://www.slacky.eu/slacky/Pkgsrc_su_slackware

http://pkgsrc-wip.sourceforge.net/