Outils pour utilisateurs

Outils du site


bsd:nbb

PKGIN, MAKE & PKGSRC

PKGIN utilisation des binaires

Destination locale des paquets téléchargés

Lorsque pkgin install est invoqué, la commande se rend sur le dépôt mentionné dans le fichier de configuration /usr/pkg/etc/pkgin/repositories.conf, prend le paquet demandé en format .tar.gz ainsi que les paquets pour les dépendances si besoin puis va ensuite les placer dans la destination : /var/db/pkgin/cache/ , les décompressent puis les installes.

Ou récupérer les binaires ?

nano /usr/pkg/etc/pkgin/repositories.conf
http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/i386/7.0.2/All

Mettre à jour pkgin

pkgin update
processing remote summary (http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/i386/7.0.2/All)...
database for http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/i386/7.0.2/All is up-to-date

Installer un paquet

man pkgin pour le manuel
pkgin install
pkgin update
pkgin remove
pkgin list
etc ...

Supprimer automatiquement les paquets inutiles

pkgin autoremove



Configuration de MAKE


En utilisant PKGSRC on va devoir compiler les sources, cela signifie qu'il faut régler mk.conf pour make afin de pouvoir gagner en puissance CPU lors de la compilation :-)

cp /usr/pkgsrc/mk/defaults/mk.conf /etc/
vi /etc/mk.conf
MAKE_JOBS= 2   (si vous avez un dual-core)



PKGSRC utilisation de l'arbre des sources

Chemin de récupération

cd /usr/

Récupération de l'arbre

ftp ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.bz2
OU
ftp ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.bz2

Décompression de l'arbre pkgsrc

tar xvjf pkgsrc.tar.bz2

Cela va créer le répertoire /usr/pkgsrc/

Maintenir l'arbre des ports à jour


  • via FTP :
ftp ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.bz2
OU
ftp ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.bz2
  • via CVS :
export CVS_RSH=ssh
export CVSROOT=anoncvs@anoncvs.NetBSD.org:/cvsroot
cd /usr/pkgsrc
cvs update -A -dP
  • via CSUP :
ftp ftp://ftp.fr.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/7.0_2016Q4/All/csup-20070216.tgz
pkg_add csup-20070216.tgz

Test de récupération en suivant ce lien
https://www.netbsd.org/docs/guide/en/chap-fetch.html#chap-fetch-cvs-netbsd-release

cd /usr/
export CVSROOT="anoncvs@anoncvs.NetBSD.org:/cvsroot"
export CVS_RSH="ssh"
cvs checkout -r netbsd-7-1-2-RELEASE -P src

Pour la version current

cd /usr && cvs -q -z2 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P pkgsrc

Il y a aussi ce tuto en français Installation de NetBSD-current

Compiler, installer et désinstaller un package

Desination du fichier créé au format .tar.bz ou .tar.bz2

/usr/pkgsrc/distfiles/

Vérifier les vulnérabilités avant

/usr/pkg/sbin/pkg_admin -K /var/db/pkg fetch-pkg-vulnerabilities

Compiler

cd /usr/pkgsrc/www/apache24
make

Que va faire cette commande ?

  • Contrôler les vulnérabilités pour le paquet
  • créer un fichier au format .tar.bz2 à destination de /usr/pkgsrc/distfiles/
  • vérifier 3 checksum différents SHA1, RMD160, SHA512
  • installer les dépendances

Si il trouve une vulnérabilité ?

Checking for vulnerabilities in php-7.1.31
Package php-7.1.31 has a denial-of-service vulnerability, see https://nvd.nist.gov/vuln/detail/CVE-2017-8923
Package php-7.1.31 has a denial-of-service vulnerability, see https://nvd.nist.gov/vuln/detail/CVE-2017-9119
Package php-7.1.31 has a out-of-bounds-read vulnerability, see https://nvd.nist.gov/vuln/detail/CVE-2017-9118
Package php-7.1.31 has a denial-of-service vulnerability, see https://nvd.nist.gov/vuln/detail/CVE-2018-19396
Package php-7.1.31 has a denial-of-service vulnerability, see https://nvd.nist.gov/vuln/detail/CVE-2018-19396
Package php-7.1.31 has a denial-of-service vulnerability, see https://nvd.nist.gov/vuln/detail/CVE-2018-19396
Package php-7.1.31 has a security-bypass vulnerability, see https://seclists.org/bugtraq/2019/May/52
ERROR: Define ALLOW_VULNERABLE_PACKAGES in mk.conf or IGNORE_URL in pkg_install.conf(5) if this package is absolutely essential.
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/www/ap-php

On remarque clairement que ce paquet contient une vulnérabilité qui déclenche un denial-of-service, bref sensible à une attaque de type DoS attack!

Mais on a absolument besoin d'installer ce paquet donc on contourne la sécurité comme ceci soit :

  • en vérifiant s'il n'y a pas de dossiers patches
  • en effectuant make update
  • en modifiant /etc/mk.conf comme ceci
vi /etc/mk.conf
Allow_vulnerable_packages= yes

Si il trouve des erreurs de fichier, de répertoires, etc … ?

  • lire le code erreur
  • souvent il suffit de créer un fichier ou répertoire là ou il le demande
  • internet est notre ami ;-)

Si il trouve qu'une version est déjà installée

  • soit le paquet est installé par les dépôt et fait conflit
  • soit le paquet à été désinstallé par les dépôts mais il y a toujours des reste

Mettre le paquet à jour

make update

Installer

cd /usr/pkgsrc/www/apache24
make install

L'installation du paquet sur le système peut nécessiter d'être root.
Cependant, pkgsrc a une fonctionnalité «juste-à-temps-su», qui permet de ne devenir root que pour l'étape d'installation proprement dite.
PKGSRC va invoquer la commande pkg_add install lui permettant d'installer le paquet fraichement construit.

Nettoyer

cd /usr/pkgsrc/www/apache24
make clean

Pour supprimer les fichiers compilés du répertoire de travail, on n'aura plus besoin de les utiliser. Si d'autres packages ont également été ajoutés sur le système (dépendances) pour permettre à votre programme de compiler, on peut également les ranger avec la commande suivante:

cd /usr/pkgsrc/www/apache24
make clean-depends



How To BSD

bsd/nbb.txt · Dernière modification : de 127.0.0.1