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)
- Gestori non ufficiali: slapt-get
Software extra
Uno dei principali problemi di Slackware è la difficoltà di reperimento del software, la quantità di pacchetti ufficiali è decisamente inferiore a quella delle altre principali distribuzioni. Programmi popolari come Libreoffice, GNOME o VLC non sono presenti nei repository ufficiali.
Soluzioni alternative
- slacktrack: 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 o Chrome).
- Sbopkg: script per lo scaricamento, la compilazione e l'installazione degli SlackBuilds.
- Slackpkg+: plugin che permette a Slackpkg di gestire repository non ufficiali come alienbob
- pkgsrc: (package source), framework per compilare ed installare software di terze parti su NetBSD ed altri sistemi di tipo UNIX.
pkgsrc
Introduzione
Se si decidesse 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 del software (es.: X11, KDE, Libreoffice).
Procediamo con la selezione del softwareda installare, nel setup selezionare:
* A * AP * D * L * N
E' possibile, volendo, eliminare anche le selezioni AP ed N, si dovrà poi, reinstallare con il framework tutto il resto
Installare pkgsrc
Scaricare l'ultimo tarball disponibile
# cd /usr # wget ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.gz # tar xzvf pkgsrc.tar.gz
Eseguire il bootstrap
# cd /usr/pkgsrc/bootstrap # ./bootstrap
Modificare il profilo della shell:
export PATH=$PATH:/usr/pkg/bin:/usr/pkg/sbin export MANPATH=$MANPATH:/usr/pkg/man
Per installare un sorgente procedere come segue:
$ cd /usr/pkgsrc/x11/modular-xorg-server # bmake install clean clean-depends
Messa a punto del sistema
mk.conf
Editare il file /usr/pkg/etc/mk.conf aggiungendo le seguenti righe:
# Example /usr/pkg/etc/mk.conf file produced by bootstrap-pkgsrc # Thu Apr 18 21:52:13 UTC 2019 .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_RCD_SCRIPTS= yes RCD_SCRIPTS_DIR= /etc/rc.d ACCEPTABLE_LICENSES+= vim-license ALLOW_VULNERABLE_PACKAGES= vim USE_DESTDIR= NO PKG_RESUME_TRANSFERS= YES 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 .endif # end pkgsrc settings
Aggiungere le librerie di pkgsrc a quelle Slackware
# echo /usr/pkg/lib >> /etc/ld.so.conf # cat /etc/ld.so.conf
verificato che è tutto ok, si può procedere oltre.
Pacchetti essenziali
- Il subsystem rc.d del NetBSD per avviare eventuali servizi
# cd /usr/pkgsrc/pkgtools/rc.subr/ && bmake install
- Audit: lista di pacchetti con licenze non free, pkgsrc darà errori se il pacchetto che si desidera installare ha una licenza non libera. Per aggiungerlo ugualmente la sua licenza deve essere aggiunta nel file mk.conf (es.: ACCEPTABLE_LICENSES+=vim-license)
# /usr/pkg/sbin/download-vulnerability-list
- Digest: contiene la lista delle vulnerabilità dei vari pacchetti. Per far sì che pkgsrc ignori questi errori è necessario installarlo ed aggiungere il pacchetto su mk.conf (es.: ALLOW_VULNERABLE_PACKAGES=vim)
# cd /usr/pkgsrc/pkgtools/digest # bmake install
Aggiornare pkgsrc
Per tenere l' albero aggiornato lo si può fare in diversi modi:
Via anonymous CVS
La versione stabile del 2019 primo quadrimestre
$ cd /usr && cvs -q -z2 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -r pkgsrc-2019Q1 -P pkgsrc
Oppure la versione corrente, denominata per l' appunto current
$ cd /usr && cvs -q -z2 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P pkgsrc
Via CVS
Aggiornare pkgsrc via CVS, dirigersi versola directory /usr/pkgsrc ed far partire cvs:
$ cd /usr/pkgsrc && cvs update -dP
Mantenere e aggiornare il sistema
- Aggiornare i pacchetti
Installare lintpkgsrc per effettuare l'aggiornamento dei pacchetti in maniera automatica
# cd /usr/pkgsrc/pkgtools/lintpkgsrc && bmake install
Far partire lintpkgsrc:
# lintpkgsrc -i
Per vedere i vari comandi
# lintpkgsrc -h
# lintpkgsrc -i # check per update # lintpkgsrc -o # check per la versione vecchia delle distribuzioni dei file # lintpkgsrc -or # rimuove le vecchie distribuzioni dei file
Tips
- Se il software fornito da pkgsrc non è sufficiente è possibile aggiungere pkgsrc-wip (work in progress)
# cd /usr/pkgsrc/ # git clone git://wip.pkgsrc.org/pkgsrc-wip.git wip
- Utilizzate btrfs (magari montato con l'opzione di compressione lzo) per /usr/pkg ed effettuare degli snapshot del filesystem prima di importanti installazioni o aggiornamenti.
- Con i dovuti accorgimenti questa guida è applicabile a qualsiasi distribuzione