Differenze tra le versioni di "Pkgsrc su Slackware"

Da GolemWiki.
Jump to navigation Jump to search
(17 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
'''Grassetto'''[[File:Esempio.jpg]]
+
==Introduzione==
===Introduzione===
 
 
[http://it.wikipedia.org/wiki/Slackware Slackware] è la distribuzione più longeva tra quelle ancora in auge.
 
[http://it.wikipedia.org/wiki/Slackware 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.
 
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===
+
==Gestione dei pacchetti==
==== Comandi ====
+
=== Comandi ===
 
  installpkg ''nomepacchetto'' (Installa un pacchetto)
 
  installpkg ''nomepacchetto'' (Installa un pacchetto)
 
  removepkg ''nomepacchetto'' (Rimuove un pacchetto)
 
  removepkg ''nomepacchetto'' (Rimuove un pacchetto)
 
  updatepkg ''nomepacchetto'' (Aggiorna un pacchetto)  
 
  updatepkg ''nomepacchetto'' (Aggiorna un pacchetto)  
  
==== Gestori di pacchetti====
+
=== Gestori di pacchetti===
 
* Gestore ufficiale: Slackpkg (permette l'installazione di pacchetti da repository online, ma non gestisce le dipendenze)
 
* Gestore ufficiale: Slackpkg (permette l'installazione di pacchetti da repository online, ma non gestisce le dipendenze)
  
 
* Gestori non ufficiali: [http://software.jaos.org/ slapt-get], [http://sourceforge.net/projects/swaret/ Swaret]
 
* Gestori non ufficiali: [http://software.jaos.org/ slapt-get], [http://sourceforge.net/projects/swaret/ Swaret]
  
==== Software extra ====
+
=== 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.
 
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.
 
Programmi popolari come Libreoffice, GNOME o VLC non sono presenti nei repository ufficiali.
  
==== Soluzioni alternative ====
+
=== Soluzioni alternative ===
 
* Checkinstall: utility per la creazione di pacchetti Slackware a partire dal sorgente di un programma.
 
* Checkinstall: utility per la creazione di pacchetti Slackware a partire dal sorgente di un programma.
  
Riga 32: Riga 31:
 
=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 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 ==
 
== Installare pkgsrc ==
Si consiglia utilizzare la directory /usr/pkg, se non dovesse esistere andrà creata
 
# mkdir /usr/pkg
 
 
 
Scaricare l'ultimo tarball disponibile
 
Scaricare l'ultimo tarball disponibile
  # wget [ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.xz ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.xz]
+
# cd /usr
 
+
  # wget [ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.gz ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.gz]
Oppure tramite cvs
+
  # tar xzvf pkgsrc.tar.gz
# env CVS_RSH=ssh cvs -q -z2 -d anoncvs@anoncvs3.de.NetBSD.org:/cvsroot checkout -P pkgsrc
 
 
 
Decomprimere il file
 
  # tar xvfJ pkgsrc.tar.xz -C /usr
 
 
 
== Bootstrap ==
 
Dipendenze per Debian/Ubuntu e derivate:
 
cvs libncurses5-dev gcc g++ zlib1g-dev zlib1g libssl-dev libudev-dev
 
  
 
Eseguire il bootstrap
 
Eseguire il bootstrap
Riga 56: Riga 52:
 
  # ./bootstrap
 
  # ./bootstrap
  
A fine compilazione conviene, se si vuole, aggiungere il controllo vulnerabilità
+
Modificare il profilo della shell:
Aggiungere le seguenti linee
+
  export PATH=$PATH:/usr/pkg/bin:/usr/pkg/sbin
# crontab -e
+
  export MANPATH=$MANPATH:/usr/pkg/man
 
 
<pre># Download vulnerabilities file
 
0 3 * * * /usr/pkg/sbin/pkg_admin fetch-pkg-vulnerabilities >/dev/null 2>&1
 
 
 
# Audit the installed packages and email results to root
 
9 3 * * * /usr/pkg/sbin/pkg_admin audit |mail -s "Installed package audit result" \
 
      root >/dev/null 2>&1
 
     
 
will update the vulnerability list every day at 3AM, followed by an audit at
 
3:09AM. The result of the audit are then emailed to root.
 
 
 
On NetBSD this may be accomplished instead by adding the following line to /etc/daily.conf:
 
 
 
fetch_pkg_vulnerabilities=YES
 
     
 
to fetch the vulnerability list from the daily security script. The system is
 
set to audit the packages by default but can be set explicitly, if desired (not
 
required), by adding the follwing line to /etc/security.conf:
 
 
 
check_pkg_vulnerabilities=YES
 
     
 
Both pkg_admin subcommands can be run as as an unprivileged user,
 
as long as the user chosen has permission to read the pkgdb and to write
 
the pkg-vulnerabilities to /usr/pkg/pkgdb.
 
 
 
The behavior of pkg_admin and pkg_add can be customised with
 
pkg_install.conf.  Please see pkg_install.conf(5) for details.
 
 
 
If you want to use GPG signature verification you will need to install
 
GnuPG and set the path for GPG appropriately in your pkg_install.conf.
 
===========================================================================
 
===> running: /bin/sh /usr/pkgsrc/bootstrap/work/bin/install-sh -d -o root -g root /usr/pkg/etc
 
 
 
===========================================================================
 
 
 
Please remember to add /usr/pkg/bin to your PATH environment variable
 
and /usr/pkg/man to your MANPATH environment variable, if necessary.
 
 
 
An example mk.conf file with the settings you provided to "bootstrap"
 
has been created for you. It can be found in:
 
 
 
      /usr/pkg/etc/mk.conf
 
 
 
You can find extensive documentation of the NetBSD Packages Collection
 
in /usr/pkgsrc/doc/pkgsrc.txt.
 
 
 
Thank you for using pkgsrc!
 
</pre>
 
 
 
== Configurazione mk.conf ==
 
Adesso è necessario configurare il file di configurazione del pkgsrc
 
Editare il file '''/usr/pkg/etc/mk.conf''' aggiungendo queste righe:
 
 
 
<pre>
 
#Per installare anche gli script di avvio
 
PKG_RCD_SCRIPTS=yes
 
 
 
#Directory dove installare gli script
 
RCD_SCRIPTS_DIR=/etc/rc.d
 
  
ACCEPTABLE_LICENSES+=vim-license
+
Per installare un sorgente procedere come segue:
ALLOW_VULNERABLE_PACKAGES=vim
+
$ cd /usr/pkgsrc/x11/modular-xorg-server
USE_DESTDIR=NO
+
# bmake install clean clean-depends
PKG_RESUME_TRANSFERS=YES
 
</pre>
 
  
== Modifiche su Slackware ==
+
= Messa a punto del sistema =
 +
== mk.conf ==
 +
Editare il file '''/usr/pkg/etc/mk.conf''' aggiungendo le seguenti righe:
  
Editare '''/etc/profile''' e aggiungere le seguenti righe ai rispettivi PATH
+
  # Example /usr/pkg/etc/mk.conf file produced by bootstrap-pkgsrc
/usr/pkg/bin:/usr/pkg/sbin ''Eseguibili''
+
  # Thu Apr 18 21:52:13 UTC 2019
  /usr/pkg/man ''Manuali''
+
 
 +
  .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  
 
Aggiungere le librerie di pkgsrc a quelle Slackware  
 
  # echo /usr/pkg/lib >> /etc/ld.so.conf
 
  # echo /usr/pkg/lib >> /etc/ld.so.conf
 +
# cat /etc/ld.so.conf
  
Sarebbe utile riavviare
+
verificato che è tutto ok, si può procedere oltre.
# reboot
 
  
 
== Pacchetti essenziali ==
 
== Pacchetti essenziali ==
Riga 142: Riga 105:
 
  # cd /usr/pkgsrc/pkgtools/rc.subr/ && bmake install
 
  # 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)''
  
* '''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)''
Riga 151: Riga 113:
 
  # bmake install
 
  # bmake install
  
== Mantenere e aggiornare il sistema ==
+
= 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
  
* Aggiornare pkgsrc
+
Oppure la versione corrente, denominata per l' appunto ''current''
  # env CVS_RSH=ssh cvs -q -z2 -d anoncvs@anoncvs3.de.NetBSD.org:/cvsroot checkout -P pkgsrc
+
  $ cd /usr && cvs -q -z2 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P pkgsrc
  
Oppure
+
== Via CVS ==
  # cd /usr/pkgsrc && cvs update -dP
+
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
 
* 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
 +
 +
Far partire lintpkgsrc:
 +
# lintpkgsrc -i
  
 
Per vedere i vari comandi
 
Per vedere i vari comandi
 
  # lintpkgsrc -h
 
  # 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 ==
 
== Tips ==

Versione delle 07:51, 21 apr 2019

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 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)
# 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