Pkgsrc su Slackware
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
Si consiglia di installare pkgsrc nella directory /usr/pkg, che non esiste ed andrà perciò creata.
# mkdir /usr/pkg
Scaricare l'ultimo tarball disponibile
# cd /usr/pkg # wget ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.xz
Oppure tramite cvs
#
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