====== Installations de logiciels sous FreeBSD sous forme binaire ou par compilation ====== ===== Installations de logiciels avec le gestionnaire de paquets binaire ===== À l'époque, **FreeBSD** été intégré avec les **exécutables** : **pkg_add**, **pkg_delete**, **pkg_info**, en autres (les **outils** de base pour les **BSD**), **exécutables** qui ont fini par être retirés de la **distribution**, suite à l'adoption complète de **pkg** créée par **Baptiste Daroussin**. **pkg** est un **gestionnaire de paquets** en **ligne de commande** hyper complet. Les **paquets** de **pkg** sont compressés avec l'**outil de compression** nommé **XZ Utils** (''fichier.tar.xz''), de plus en plus utilisé sous **Unix** en lieu et place de **gzip** et **bzip2**. ==== Commandes à exécuter en utilisateur root ==== === Commencer pour installer le vrai pkg === L'**exécutables** **pkg** présent dans ''/usr/sbin/'' n'est pas réellement le **gestionnaire de paquets** **pkg**, c'est juste un **utilitaire** pour installer le vrai **pkg**, installé dans ''/usr/local/sbin''. pkgsuite à cela, il est proposé d'installer **pkg**, répondez par l'affirmative ''y'' et ''validez''. === Installer un ou plusieurs Logiciels === pkg install nom_du_logicielinstalle un **logiciel** et tous ses **dépendances**, valider par ''y'' (''yes'') via les **dépôts** de **FreeBSD**, avec l' ''option'' **install** vous pouvez également installer un **paquet** ''localement'' (hors **dépôts**). Pour installer plusieurs **logiciels** : pkg install nom_du_logiciel nom_du_logiciel2 nom_du_logiciel3 Pour installer un **logiciel** sans ''confirmation'' de la part de l'**utilisateur** : pkg install -y nom_du_logiciel ou en version longue : pkg install --yes nom_du_logicielpermet d'installer des **logiciels** sans ''confirmation'', cette ''sous-option'' est disponible pour la plupart des ''options'' de **pkg**. === Supprimer un ou plusieurs logiciels === pkg delete nom_du_logicielsupprime un **logiciel** et ses **dépendances**. Pour faire de même avec plusieurs **logiciels** : pkg delete nom_du_logiciel nom_du_logiciel2 nom_du_logiciel3supprime plusieurs **logiciels** et leurs **dépendances**.\\ Vous pouvez également supprimer des **logiciels** avec cette ''option'' : pkg remove nom_du_logiciel nom_du_logiciel2 nom_du_logiciel3cette ''option'' de **commande** à exactement le même effet que l' ''option'' **delete**. === Supprimer des paquets orphelins === pkg autoremovepermet de ''supprimer'' en autres les **dépendances** de **paquets** inutilisés. === Téléchargement de paquet logiciel === pkg fetch nom_du_logicielle **paquet** **logiciel** ''téléchager'' se retrouve dans le **cache** de **pkg** par défaut, ici ''/var/cache/pkg''. pkg fetch -d -o /home/user/paquets/ nom_du_logiciel permet de ''télécharger'' un **logiciels** et tous ses **dépendances** (''sous-option'' **-d**) et dans un **répertoire** spécifique avec la ''sous-option'' **-o** suivi du **chemin du répertoire**. === Verrouillage et déverrouillage de paquets === pkg lock nom_du_logicielpermet de ''vérouiller'' un **paquet** pour qu'il reste dans sa ''version'' (évite la ''modification'', la ''mise à jour'', ''réinstallation'' ou même la ''suppression'' du **paquet**). pkg unlock nom_du_logiciel permet de ''déverrouiller'' un **paquet** ''vérouillé''. === Pour mettre à jour ou à niveau les logiciels tiers === pkg updatepermet de mettre à jour les **dépôts** indiqué dans le **fichier** ''/etc/pkg/FreeBSD.conf''. pkg upgradepermet de faire la **mise à jour** ou à **niveau** de tous les **logiciels tiers** et leurs **dépendances**. ==== Commandes qui peuvent être exécutée en utilisateur non-privilégié ==== === Pour connaître les options disponbibles sous pkg === pkg helppermet d'avoir la liste des ''options'' du **gestionnaire de paquets** **pkg** et une courte ''description'' de celle-ci. pkg help installpermet d'avoir une ''description'' complète de l' ''option'' **install** de la **commande** **pkg**, tous les ''options'' de **pkg** ont leurs ''descriptions''. man pkg-installpermet éxactement la même chose que la **commande** pécédente. Pour des ''infos'' sur d'autres ''option'', **man pkg-delete**, **man pkg-fetch**, **man pkg-upgrade**,... === Rechercher un logiciels === pkg search nom_du_logicielrecherche le **logiciel** par rapport à son ''nom''. pkg search --description nom_du_logicielrecherche complète d'un **logiciel** en rapport à son ''nom'' et sa ''description''. === Pour avoir des infos sur un logiciel === pkg info nom_du_logicielpermet d'avoir les ''informations'' du **logiciel** tel que sa ''description'' et ses ''dépendances'', en autres. pkg info -l nom_du_logiciel ou version longue : pkg info --list-files nom_du_logicielpermet d' ''afficher'' tous les **fichiers** contenus dans le **paquet** **logiciel**. pkg prime-listpermet d'avoir la ''liste'' des **paquets** qui n'ont pas été installés ''automatiquement'' mais ''explicitement'' (sans avoir été installés comme **dépendances** d'un **paquet**). Exemple : **clamav** sans avoir installé son **interface graphique** nommé **clamtk** au préalable. pkg prime-originsrenvoie la même ''liste'' que la **commande** précédente mais en indiquant où se situe les **paquets** dans le **catalogue des logiciels portés**. === Audit de sécurité sur un ou des paquets === pkg audit -Fpermet de faire un **audit de sécurité** général. pkg audit nom_du_logicielpermet un **audit de sécurité** sur un **paquets** spécifique. ===== Installations de logiciels avec le catalogue de logiciels portés (compilation) ===== Pour gérer le **catalogue de logiciels portés**, il est désormais recommandé d'utiliser le **logiciel** **Git** qui est un **gestionnaire de versions décentralisé** et qui permet de ''télécharger'' les **ports** de **FreeBSD**, en ce qui concerne la **compilation** à proprement parler l'**utilitaire** en **console** nommé **make** (dispnible sur tous les **Unix**), qui est très complet sous **FreeBSD**. ==== En root ==== === Commencez par installer et utiliser Git === pkg install gitinstalle **Git** qui va permettre de ''télécharger'' le **catalogue de logiciels portés** aussi appelé **collection de ports**. git clone --depth 1 https://git.FreeBSD.org/ports.git /usr/ports''télécharge'' les **ports logiciels** et son placés dans ''/usr/ports'' par convention. git -C /usr/ports pullpermet de ''mettre à jour'' le **catalogue de logiciels portés**. === Installer un logiciel via la collection de ports === find /usr/ports/ -name "weechat*"la **commande** **find** est la **commande** par défaut pour la ''recherche'' de **fichiers**, **répertoire**,..., dans se cas je ''recherche'' le **logiciel** **WeeChat** pour savoir où il se trouve dans les **ports**. cd /usr/ports/irc/weechatpermet de rendre dans le **répertoire** du **logiciel porté**. make install cleanpermet d' ''installer'' le **logiciel** **WeeChat**. La **commande** **make** seul permet de **compiler** le **logiciel** (**make** seul peut-être utilisé en tant qu'**utilisateur** ''non privilégié'') , l' ''option'' **install** permet d' ''installer'' le **logiciel** dans ''/usr/local/bin'' et l' ''option'' **clean** nettoie le **port** de toute **compilation**