Differenze tra le versioni di "Pkgsrc su Slackware"

Da GolemWiki.
(Configurazione mk.conf)
Riga 28: Riga 28:
  
 
* [http://www.pkgsrc.org/ pkgsrc]: ''(package source)'', framework per compilare ed installare software di terze parti su NetBSD ed altri sistemi di tipo UNIX.
 
* [http://www.pkgsrc.org/ pkgsrc]: ''(package source)'', framework per compilare ed installare software di terze parti su NetBSD ed altri sistemi di tipo UNIX.
 +
  
 
=pkgsrc=
 
=pkgsrc=
 
 
== Introduzione ==
 
== 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 del software (es.: X11, KDE, Libreoffice).
 
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 del software (es.: X11, KDE, Libreoffice).
  
== Installazione pkgsrc ==
 
 
Si consiglia di installare pkgsrc nella directory /usr/pkg, che non esiste ed andrà perciò creata.
 
  
 +
== Installare pkgsrc ==
 +
Si consiglia utilizzare la directory /usr/pkg, se non dovesse esistere andrà creata
 
  # mkdir /usr/pkg
 
  # mkdir /usr/pkg
  
 
Scaricare l'ultimo tarball disponibile
 
Scaricare l'ultimo tarball disponibile
 
 
  # cd /usr/pkg
 
  # cd /usr/pkg
 
  # wget [ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.xz ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.xz]
 
  # wget [ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.xz ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.xz]
  
 
Oppure tramite cvs
 
Oppure tramite cvs
 +
# env CVS_RSH=ssh cvs -q -z2 -d anoncvs@anoncvs3.de.NetBSD.org:/cvsroot checkout -P pkgsrc
  
# env CVS_RSH=ssh cvs -q -z2 -d anoncvs@anoncvs3.de.NetBSD.org:/cvsroot checkout -P pkgsrc
 
  
 
== Bootstrap ==
 
== Bootstrap ==
Una volta scaricato pkgsrc è necessario effettuare il bootstrap
+
Dipendenze per Debian/Ubuntu e derivate:
 +
cvs libncurses5-dev gcc g++ zlib1g-dev zlib1g libssl-dev libudev-dev
  
 +
Eseguire il bootstrap
 
  # cd /usr/pkgsrc/bootstrap
 
  # cd /usr/pkgsrc/bootstrap
 
  # ./bootstrap
 
  # ./bootstrap
Riga 57: Riga 57:
 
== Configurazione mk.conf ==
 
== Configurazione mk.conf ==
 
Adesso è necessario configurare il file di configurazione del pkgsrc
 
Adesso è necessario configurare il file di configurazione del pkgsrc
 
 
  # cp /usr/pkgsrc/bootstrap/work/mk.conf work/mk.conf
 
  # cp /usr/pkgsrc/bootstrap/work/mk.conf work/mk.conf
  
Riga 74: Riga 73:
 
PKG_RESUME_TRANSFERS=YES
 
PKG_RESUME_TRANSFERS=YES
 
</pre>
 
</pre>
 +
  
 
== Pacchetti essenziali ==
 
== Pacchetti essenziali ==
  
* '''Audit:''' lista di pacchetti con licenze non free, pkgsrc darà errori se il pacchetto che si desidera installare non ha una licenza non libera. Per aggiungerlo ugualmente la sua licenza deve essere aggiunta nel file mk.conf
+
* Il subsystem rc.d del NetBSD per avviare eventuali servizi
 +
# cd /usr/pkg/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
 
  # /usr/pkg/sbin/download-vulnerability-list
 
  # /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)''
 
* '''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/pkg/pkgsrc/pkgtools/digest
 
  # cd /usr/pkg/pkgsrc/pkgtools/digest
 
  # bmake install
 
  # bmake install
  
* pax: utility per decomprimere archivi. L'installazione di alcuni pacchetti non potrà essere effettuata se manca questo programma.
 
 
# cd /usr/pkg/pkgsrc/archive/pax
 
# bmake install
 
  
 
== Modifiche su Slackware ==
 
== Modifiche su Slackware ==
  
Editare il file '''/etc/profile''' e aggiungete le seguenti righe nei rispettivi PATH
+
Editare '''/etc/profile''' e aggiungere le seguenti righe ai rispettivi PATH
 +
/usr/pkg/bin:/usr/pkg/sbin ''Eseguibili''
 
  /usr/pkg/man ''Manuali''
 
  /usr/pkg/man ''Manuali''
/usr/pkg/bin ''Eseguibili''
 
/usr/pkg/sbin ''Eseguibili per l'utente root''
 
  
 
Aggiungere le librerie di pkgsrc a quelle Slackware  
 
Aggiungere le librerie di pkgsrc a quelle Slackware  
 +
# echo /usr/pkg/lib >> /etc/ld.so.conf
  
# echo /usr/pkg/lib >> /etc/ld.so.conf
 
  
 
== Mantenere e aggiornare il sistema ==
 
== Mantenere e aggiornare il sistema ==
Riga 109: Riga 107:
 
* Aggiornare i pacchetti
 
* Aggiornare i pacchetti
 
Installare lintpkgsrc per effettuare l'aggiornamento dei pacchetti in maniera automatica
 
Installare lintpkgsrc per effettuare l'aggiornamento dei pacchetti in maniera automatica
 
+
  # cd /usr/pkgsrc/pkgtools/lintpkgsrc && bmake install
  # cd /usr/pkgsrc/pkgtools/lintpkgsrc
 
# bmake install
 
  
 
Per vedere i vari comandi
 
Per vedere i vari comandi
 
  # lintpkgsrc -h
 
  # lintpkgsrc -h
 +
  
 
== Tips ==
 
== Tips ==
 
* Se il software fornito da pkgsrc non è sufficiente è possibile aggiungere [http://pkgsrc-wip.sourceforge.net/ pkgsrc-wip] ''(work in progress)''
 
* Se il software fornito da pkgsrc non è sufficiente è possibile aggiungere [http://pkgsrc-wip.sourceforge.net/ pkgsrc-wip] ''(work in progress)''
 
 
  # env CVS_RSH=ssh
 
  # env CVS_RSH=ssh
 
  # cvs -z3 -d:pserver:anonymous@pkgsrc-wip.cvs.sourceforge.net:/cvsroot/pkgsrc-wip checkout -P wip
 
  # cvs -z3 -d:pserver:anonymous@pkgsrc-wip.cvs.sourceforge.net:/cvsroot/pkgsrc-wip checkout -P wip

Versione delle 14:57, 16 ott 2017

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 è 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

  • 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 del software (es.: X11, KDE, Libreoffice).


Installare pkgsrc

Si consiglia utilizzare la directory /usr/pkg, se non dovesse esistere andrà 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

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


Bootstrap

Dipendenze per Debian/Ubuntu e derivate:

cvs libncurses5-dev gcc g++ zlib1g-dev zlib1g libssl-dev libudev-dev

Eseguire il bootstrap

# cd /usr/pkgsrc/bootstrap
# ./bootstrap

Configurazione mk.conf

Adesso è necessario configurare il file di configurazione del pkgsrc

# cp /usr/pkgsrc/bootstrap/work/mk.conf work/mk.conf

Editare il file /usr/pkg/etc/mk.conf aggiungendo queste righe:

#Per installare anche gli script di avvio
PKG_RCD_SCRIPTS=yes

#Directory dove installare gli script
RCD_SCRIPTS_DIR=/etc/init.d

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


Pacchetti essenziali

  • Il subsystem rc.d del NetBSD per avviare eventuali servizi
# cd /usr/pkg/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
# /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/pkg/pkgsrc/pkgtools/digest
# bmake install


Modifiche su Slackware

Editare /etc/profile e aggiungere le seguenti righe ai rispettivi PATH

/usr/pkg/bin:/usr/pkg/sbin Eseguibili
/usr/pkg/man Manuali

Aggiungere le librerie di pkgsrc a quelle Slackware

# echo /usr/pkg/lib >> /etc/ld.so.conf


Mantenere e aggiornare il sistema

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

Installare lintpkgsrc per effettuare l'aggiornamento dei pacchetti in maniera automatica

# cd /usr/pkgsrc/pkgtools/lintpkgsrc && bmake install

Per vedere i vari comandi

# lintpkgsrc -h


Tips

  • Se il software fornito da pkgsrc non è sufficiente è possibile aggiungere pkgsrc-wip (work in progress)
# env CVS_RSH=ssh
# cvs -z3 -d:pserver:anonymous@pkgsrc-wip.cvs.sourceforge.net:/cvsroot/pkgsrc-wip checkout -P 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