====== Gestion de logiciels sous NetBSD ======
Sous **NetBSD** l'élément central de la //gestion des logiciels// est **pkgsrc**, qui a été initialement développé pour NetBSD mais est désormais disponible sur la plupart des **systèmes BSD**, **Linux**, **macOS** et **Darwin**, **Solaris** et ses dérivés tel que **illumos**, **MINIX 3**, **QNX** et bien d'autres **OS**, enfin la majorité des OS Unix. pkgsrc est composé à la fois de **dépôts** binaires (pour une multitutde d'architectures de processeurs) que des //dépôts// source. À savoir que sous NetBSD il y a toujours les commandes ''traditionnels'' pour gérer les **paquets** tel que : **pkg_add** (installe un paquet), **pkg_delete** (supprime un paquet), **pkg_info** (permet d'avoir les //informations// d'un paquet), **pkg_create** et **pkg_admin**.
Logo de **pkgsrc** : {{ :wiki:os:bsd_unix:netbsd:tutos:admin:pkgsrc.png?nolink&180 |}}
Pour toutes les commandes administratives je vais précéder la commande [[wiki:os:bsd_unix:tutos:admin:sudo]] pour simplifier la rédaction de cet article.
===== Gestion de logiciels avec pkgin =====
==== Installation de sudo et pkgin ====
Tout d'abord on va ajouter les dépôts à votre fichier ''/root/.profile'' en tant que **root** :
echo export PKG_PATH="https://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/$(uname -p)/$(uname -r)/All/" >> /root/.profilepermet d'ajouter le //dépôt binaire// de **pkgsrc**. Puis on entre cette commande :
source /root/.profilequi permet d'activer la nouvelle variable dans le fichier ''.profile''.
Ensuite, toujours en **root** on va utiliser la commande ''traditionnel'' **pkg_add** :
pkg_add sudova installer l'utilitaire d'administration **sudo**. Puis :
echo "$USER ALL=(ALL:ALL) ALL" >> /usr/pkg/etc/sudoersqui ajoute des privilèges administrateur à votre compte utilisateur régulier. Puis :
source /root/.profileEnsuite installer **pkgin** :
pkg_add pkgininstalle pkgin.
==== Gestionnaire de paquets pkgin ====
Désormais vous avez l'utilitaire d'administration **sudo** et le gestionnaire de paquets nommé **pkgin**, qui ressemble beaucoup à **apt** de **Debian**.
Commencer par mettre à jour vos dépôts :
sudo pkgin updatemet à jour les dépôts.
Pour installer un ou des logiciels tapez :
sudo pkgin install nom_du_logiciel nom_du_logiciel2installe ''2'' logiciels et toutes leurs dépendances en même temps. Vous pouvez également installer un logiciel sans avoir à valider par le touche ''y'' :
sudo pkgin -y install nom_du_logicielà noter que tous les logiciels ''tiers'' s'installe dans le répertoire ''/usr/pkg'' (''/usr/pkg/bin'' pour les logiciels sans privilèges et ''/usr/pkg/sbin'' pour les logiciels à utiliser en **root**).
Pour supprimer un logiciel et ses dépendances :
sudo pkgin remove nom_du_logiciel
Pour supprimer les paquets orphelins :
sudo pkgin autoremove
Pour avoir la liste de tous les paquets ''disponibles'' :
pkgin avail
Pour avoir la liste de tous les paquets ''installés'' sur votre NetBSD :
pkgin listaffiche la liste des paquets installés. Perso j'aime avoir la liste des paquets installés sur mes ordinateurs sous **Unix**, pour se faire :
pkgin list > pkghostnamecréé le fichier ''pkghostname'' qui contient la liste des paquets tiers installés sur votre système NetBSD.
Pour rechercher un logiciels en fonction de son ''nom'' ou sa ''description''
pkgin search terme_en_rapport_au_logicielvous permet d'avoir le nom exacte du paquet de votre logiciel.
Pour connaitre les dépendances d'un paquet :
pkgin show-deps nom_du_paquet
Pour connaitre l'arborescence complète des dépendances du paquet :
pkgin show-full-deps nom_du_paquet
Pour connaitre les dépendances que requiert un paquet :
pkgin show-rev-deps nom_du_paquet
Pour connaitre la liste de tous les fichiers inclus dans un paquet à distance :
pkgin pkg-content nom_du_paquet
Pour avoir la description d'un paquet distant :
pkgin pkg-descr nom_du_paquet
Pour mettre à jour les dépôts et les logiciels installés :
sudo pkgin updatepermet de mettre à jour les dépôts, puis pour mettre à jour les logiciels installés :
sudo pkgin upgradepermet de mettre à jour vos logiciels. Et pour mettre à niveau vos logiciels, c'est à dire changer de version du logiciel :
sudo pkgin full-upgrade
===== Gestion de logiciels par compilation =====
Installer l'outil de téléchargement en ligne de commande nommé **wget** :
pkg install wgetpuis on se rend dans le répertoire ''/usr'' :
cd /usr
Téléchargement de l'arborescence des sources de **pkgsrc** :
sudo wget https://cdn.netbsd.org/pub/pkgsrc/stable/pkgsrc.tar.xz
On effectue l'extraction des sources :
sudo wget tar xvfJ pkgsrc.tar.xzpuis on supprime l'archive ''pkgsrc.tar.xz'' dont on a plus besoin :
sudo rm pkgsrc.tar.xzpuis on se rend dans le répertoire ''/usr/pkgsrc'' :
cd /usr/pkgsrc ; lsvous allez vous rendre compte que toutes les sources des logiciels sont classées par catégories.
Dans l'exemple on va installer le logiciel du nom de **lynx** qui est un navigateur internet en mode texte :\\
Se rendre dans les sources de lynx :
cd www/lynxlogiciel qui se trouve dans le répertoire ''/usr/pkgsrc/www/lynx''.
Puis installer le logiciel par compilation :
make install cleantous les logiciels ont pour répertoire par défaut ''/usr/pkg'' plus précisément pour le logiciel lynx dans ''/usr/pkg/bin''. Pour expliquer la commande, **make** compile le logiciel, l'option de commande nommé **install** permet l'installation du logiciel dans ''/usr/pkg/bin'' et l'option de commande nommé **clean** supprime tout trace de compilation dans le répertoire de lynx.