====== 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/.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ège 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 ''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 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 **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 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é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 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**.