| |
| wiki:systemes_d_exploitation:bsd_unix:freebsd:tutos:admin:install_logiciel_freebsd [2025/03/23 15:48] – créée Thibault Seguin | wiki:systemes_d_exploitation:bsd_unix:freebsd:tutos:admin:install_logiciel_freebsd [Date inconnue] (Version actuelle) – supprimée - modification externe (Date inconnue) 127.0.0.1 |
|---|
| ====== 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''. | |
| <file>pkg</file>suite à cela, il est proposé d'installer **pkg**, répondez par l'affirmative ''y'' et ''validez''. | |
| |
| === Installer un ou plusieurs Logiciels === | |
| <file>pkg install nom_du_logiciel</file>installe 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** : | |
| <file>pkg install nom_du_logiciel nom_du_logiciel2 nom_du_logiciel3</file> | |
| Pour installer un **logiciel** sans ''confirmation'' de la part de l'**utilisateur** : | |
| <file>pkg install -y nom_du_logiciel</file> | |
| ou en version longue : | |
| <file>pkg install --yes nom_du_logiciel</file>permet d'installer des **logiciels** sans ''confirmation'', cette ''sous-option'' est disponible pour la plupart des ''options'' de **pkg**. | |
| === Supprimer un ou plusieurs logiciels === | |
| <file>pkg delete nom_du_logiciel</file>supprime un **logiciel** et ses **dépendances**. Pour faire de même avec plusieurs **logiciels** : | |
| <file>pkg delete nom_du_logiciel nom_du_logiciel2 nom_du_logiciel3</file>supprime plusieurs **logiciels** et leurs **dépendances**.\\ | |
| Vous pouvez également supprimer des **logiciels** avec cette ''option'' : | |
| <file>pkg remove nom_du_logiciel nom_du_logiciel2 nom_du_logiciel3</file>cette ''option'' de **commande** à exactement le même effet que l' ''option'' **delete**. | |
| === Supprimer des paquets orphelins === | |
| <file>pkg autoremove</file>permet de ''supprimer'' en autres les **dépendances** de **paquets** inutilisés. | |
| === Téléchargement de paquet logiciel === | |
| <file>pkg fetch nom_du_logiciel</file>le **paquet** **logiciel** ''téléchager'' se retrouve dans le **cache** de **pkg** par défaut, ici ''/var/cache/pkg''. | |
| <file>pkg fetch -d -o /home/user/paquets/ nom_du_logiciel</file> 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 === | |
| <file>pkg lock nom_du_logiciel</file>permet 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**). | |
| <file>pkg unlock nom_du_logiciel</file> permet de ''déverrouiller'' un **paquet** ''vérouillé''. | |
| === Pour mettre à jour ou à niveau les logiciels tiers === | |
| <file>pkg update</file>permet de mettre à jour les **dépôts** indiqué dans le **fichier** ''/etc/pkg/FreeBSD.conf''. | |
| <file>pkg upgrade</file>permet 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 === | |
| <file>pkg help</file>permet d'avoir la liste des ''options'' du **gestionnaire de paquets** **pkg** et une courte ''description'' de celle-ci. | |
| <file>pkg help install</file>permet d'avoir une ''description'' complète de l' ''option'' **install** de la **commande** **pkg**, tous les ''options'' de **pkg** ont leurs ''descriptions''. | |
| <file>man pkg-install</file>permet é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 === | |
| <file>pkg search nom_du_logiciel</file>recherche le **logiciel** par rapport à son ''nom''. | |
| <file>pkg search --description nom_du_logiciel</file>recherche complète d'un **logiciel** en rapport à son ''nom'' et sa ''description''. | |
| === Pour avoir des infos sur un logiciel === | |
| <file>pkg info nom_du_logiciel</file>permet d'avoir les ''informations'' du **logiciel** tel que sa ''description'' et ses ''dépendances'', en autres. | |
| <file>pkg info -l nom_du_logiciel</file> | |
| ou version longue : | |
| <file>pkg info --list-files nom_du_logiciel</file>permet d' ''afficher'' tous les **fichiers** contenus dans le **paquet** **logiciel**. | |
| <file>pkg prime-list</file>permet 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. | |
| <file>pkg prime-origins</file>renvoie 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 === | |
| <file>pkg audit -F</file>permet de faire un **audit de sécurité** général. | |
| <file>pkg audit nom_du_logiciel</file>permet 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 === | |
| <file>pkg install git</file>installe **Git** qui va permettre de ''télécharger'' le **catalogue de logiciels portés** aussi appelé **collection de ports**. | |
| <file>git clone --depth 1 https://git.FreeBSD.org/ports.git /usr/ports</file>''télécharge'' les **ports logiciels** et son placés dans ''/usr/ports'' par convention. | |
| <file>git -C /usr/ports pull</file>permet de ''mettre à jour'' le **catalogue de logiciels portés**. | |
| === Installer un logiciel via la collection de ports === | |
| <file>find /usr/ports/ -name "weechat*"</file>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**. | |
| <file>cd /usr/ports/irc/weechat</file>permet de rendre dans le **répertoire** du **logiciel porté**. | |
| <file>make install clean</file>permet 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**. | |