====== 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 mulitutde d'**architectures 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:systemes_d_exploitation:bsd_unix:netbsd:tutos:admin:pkgsrc.png?nolink&180 |}}
Pour toutes les **commandes administratives** je vais précéder la **commande** **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/.profile
permet d'ajouter le **dépôt binaire** de **pkgsrc**. Puis on entre cette **commande** :
source /root/.profile
qui permet d'activer la nouvelle **variable** dans le **fichier** ''.profile''.
Ensuite, toujours en **root** on va utiliser la **commande** ''traditionnel'' **pkg_add** :
pkg_add sudo
va installer l'**utilitaire** d'administration **sudo**. Puis :
echo "$USER ALL=(ALL:ALL) ALL" >> /usr/pkg/etc/sudoers
qui ajoute des **privilège administrateur** à votre ''compte'' **utilisateur** régulier. Puis :
source /root/.profile
Ensuite installer **pkgin** :
pkg_add pkgin
installe **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 update
met à jour les **dépôts**.
Pour installer un ou des **logiciels** tapez :
sudo pkgin install nom_du_logiciel nom_du_logiciel2
installe ''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 list
affiche 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 > pkghostname
créé 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_logiciel
vous 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 ''descritpion'' d'un **paquet** distant :
pkgin pkg-descr nom_du_paquet
Pour **mettre à jour** les **dépôts** et les **logiciels** installés :
sudo pkgin update
permet de **mettre à jour** les **dépôts**, puis pour **mettre à jour** les **logiciels** installés :
sudo pkgin upgrade
permet de **mettre à jour** vos **logiciels**. Et pour **mettre à niveau** vos **logiciels**, c'est à dire changer de version du **logiciels** :
sudo pkgin full-upgrade
===== Gestion de logiciels par compilation =====
Installer l'**outil** de **téléchargement** en **ligne de commande** nommé **wget** :
pkg install wget
puis 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.xz
puis on supprime l'**archive** ''pkgsrc.tar.xz'' dont on a plus besoin :
sudo rm pkgsrc.tar.xz
puis on se rend dans le **répertoire** ''/usr/pkgsrc'' :
cd /usr/pkgsrc ; ls
vous allez vous rendre compte que toutes les **sources** des **logiciels** sont classées par **catégorie**.
Dans l'exemple on va installer le **logiciels** du nom de **lynx** qui est un **navigateur internet** en **mode texte** :\\
Se rendre dans les **sources** de **lynx** :
cd www/lynx
**logiciel** qui se trouve dans le **répertoire** ''/usr/pkgsrc/www/lynx''.
Puis installer le **logiciels** par **compilation** :
make install clean
tous 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**.