wiki:os:bsd_unix:freebsd:tutos:admin:pkg_ports

Installations de logiciels sous FreeBSD sous forme binaire ou par compilation

À l'époque, FreeBSD intégrait les exécutables : pkg_add, pkg_delete, pkg_info, en autres (les outils de base pour les BSD), créés par Jordan Hubbard, exécutables qui ont finis par être retirés de la distribution, suite à l'adoption complète de pkg (pkgng pour pkg new generation) créé 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.

Commencer par installer le vrai pkg

L'exécutable 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.

pkg

suite à cela, il est proposé d'installer pkg, répondez par l'affirmative y et validez.

Installer un ou plusieurs Logiciels

pkg install nom_du_logiciel

installe un logiciel et toutes 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_logiciel

permet 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_logiciel

supprime un logiciel et ses dépendances. Pour faire de même avec plusieurs logiciels :

pkg delete nom_du_logiciel nom_du_logiciel2 nom_du_logiciel3

supprime 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_logiciel3

cette option de commande a exactement le même effet que l' option delete.

Supprimer des paquets orphelins

pkg autoremove

permet de supprimer en autres les dépendances de paquets inutilisés.

Téléchargement de paquet logiciel

pkg fetch nom_du_logiciel

le paquet logiciel télécharger 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_logiciel

permet de vérouillier 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 verrouillé.

Pour mettre à jour ou à niveau les logiciels tiers

pkg update

permet de mettre à jour les dépôts indiqué dans le fichier /etc/pkg/FreeBSD.conf.

pkg upgrade

permet de faire la mise à jour ou à niveau de tous les logiciels tiers et leurs dépendances.

Pour connaître les options disponbibles sous pkg

pkg help

permet d'avoir la liste des options du gestionnaire de paquets pkg et une courte description de celle-ci.

pkg help install

permet d'avoir une description complète de l'option install de la commande pkg, toutes les options de pkg ont leurs descriptions.

man pkg-install

permet exactement la même chose que la commande précédente. Pour des infos sur d'autres options, man pkg-delete, man pkg-fetch, man pkg-upgrade,…

Rechercher un logiciels

pkg search nom_du_logiciel

recherche le logiciel par rapport à son nom.

pkg search --description nom_du_logiciel

recherche complète d'un logiciel en rapport à son nom et sa description.

Pour avoir des infos sur un logiciel

pkg info nom_du_logiciel

permet 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_logiciel

permet d' afficher tous les fichiers contenus dans le paquet logiciel.

pkg prime-list

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.

pkg prime-origins

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

pkg audit -F

permet de faire un audit de sécurité général.

pkg audit nom_du_logiciel

permet un audit de sécurité sur un paquets spécifique.

Sous FreeBSD, il y a par défaut 2 branches de dépôts différents, qui sont :

  • le dépôt Quarterly, qui est plutôt axé sur la stabilité des paquets qu'il s'y trouvent, les mises à jour sont peu régulières et sont surtout des mises à jour de sécurité. Cette branche est a privilégié pour les serveurs ou les postes de travail ayant besoins d'une grande stabilité aux niveaux des logiciels tiers.
  • le dépôt Latest, qui contient les dernières versions des logiciels tiers, cette branche à de ce fait énormément de mises à jour et mises à niveau (monté de version des logiciels). Ce dépôt permet d'avoir l'équivalent d'une Arch Linux mais avec la base stable des logiciels par défauts de FreeBSD, c'est donc la branche à privilégier pour ceux qui veulent les tous derniers logiciels et innovations.

Par défaut le fichier où se trouve le dépôt FreeBSD est :

/etc/pkg/FreeBSD.conf

le dépôt par défaut est le dépôt Quarterly.

Pour passer au dépôt Latest, vous devez en root :

  • Créer le répertoire pkg puis son sous-répertoire repos dans /usr/local/etc :
    mkdir -p /usr/local/etc/pkg/repos
  • Puis créer le fichier FreeBSD.conf, en y ajoutant le dépôt Latest :
    echo 'FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" }' > /usr/local/etc/pkg/repos/FreeBSD.conf

    et enfin :

    pkg update -f

    pour mettre à jour le nouveau dépôt.

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.

Commencez par installer et utiliser Git

pkg install git

installe 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 pull

permet 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/weechat

permet de rendre dans le répertoire du logiciel porté.

make install clean

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

  • wiki/os/bsd_unix/freebsd/tutos/admin/pkg_ports.txt
  • Dernière modification : 2025/04/12 16:36
  • de Thibault Seguin