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.
nano /usr/pkg/etc/pkgin/repositories.conf http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/i386/7.0.2/All
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
man pkgin pour le manuel pkgin install pkgin update pkgin remove pkgin list etc ...
pkgin autoremove
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)
PKGRC
The pkgsrc guide - Documentation on the NetBSD packages system
portable package build system - pkgsrc.org
pkgsrc.se
Rechercher un package sur pkgs.org
cd /usr/
ftp ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.bz2 OU ftp ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.bz2
tar xvjf pkgsrc.tar.bz2
Cela va créer le répertoire /usr/pkgsrc/
ftp ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.bz2 OU ftp ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.bz2
export CVS_RSH=ssh export CVSROOT=anoncvs@anoncvs.NetBSD.org:/cvsroot cd /usr/pkgsrc cvs update -A -dP
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
/usr/pkgsrc/distfiles/
/usr/pkg/sbin/pkg_admin -K /var/db/pkg fetch-pkg-vulnerabilities
cd /usr/pkgsrc/www/apache24 make
Que va faire cette commande ?
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 :
vi /etc/mk.conf Allow_vulnerable_packages= yes
Si il trouve des erreurs de fichier, de répertoires, etc … ?

Si il trouve qu'une version est déjà installée
make update
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.
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