FreeBSD : gestion des paquets avec pkg
Table des matières
Le gestionnaire de paquets binaires de FreeBSD, pkg, peut être utilisé pour gérer facilement l'installation d'applications précompilées (l'équivalent FreeBSD des paquets RPM).
Dans cet article, nous allons voir les commandes de base.
Sur FreeBSD, on peut savoir quelle version du système on utilise, on peut utiliser la commande suivante :
Et on peut savoir également quelle version du noyau est démarrée :
Qui renvoie par exemple :
La commande freebsd-update est utilisée sur FreeBSD pour mettre à jour le système de base (le noyau et les bibliothèques système). Cela concerne les correctifs de sécurité et les nouvelles versions de celui-ci.
Mise à jour de la base des correctifs :
Après avoir récupéré la base des correctifs, on peut les installer avec la commande :
Il est possible en cas de problème de revenir à l'état précédent via la commande :
Il est possible de mettre à niveau vers une version mineure supérieure avec freebsd-upgrade. Par exemple, on utilisera pour passer de 13.1 à 13.2 la commande suivante
La commande pkg est l'outil de gestion des paquets standard sur FreeBSD, utilisé pour gérer les logiciels tiers installés sur le système à l'aide du système de gestion de paquets.
La principale utilisation de pkg, c'est l'installation des logiciels dans la distribution (exemple avec htop) :
On a ce type de retour :
Pour désinstaller un paquet, c'est aussi simple (exemple avec htop) :
On a ce type de retour :
Si on souhaite désinstaller ensuite les paquets orphelins (dépendances qui ne servent plus), on utilisera :
Pour mettre à jour la liste des paquets en local :
Pour mettre à jour un paquet :
Et pour mettre à jour tous les paquets :
Pour rechercher un paquet par son nom (ou une partie de son nom), voici un exemple avec htop :
On a ce type de retour :
Si on souhaite tout le manifest (avec plus de détails) on pourra utiliser l'option -R :
On a ce type de retour :
Pour avoir des informations détaillées sur un paquet (exemple avec htop) :
On a ce type de retour :
Pour lister tous les paquets installés sur le système, on utilisera :
On la ce type de retour sous forme de liste :
Il est possible de supprimer les archives téléchargées localement des applications qui ne sont plus présentement installées via :
Pour supprimer toutes les archives, y compris celles des paquets installés :
Introduction
Le gestionnaire de paquets binaires de FreeBSD, pkg, peut être utilisé pour gérer facilement l'installation d'applications précompilées (l'équivalent FreeBSD des paquets RPM).
Dans cet article, nous allons voir les commandes de base.
Informations système
Sur FreeBSD, on peut savoir quelle version du système on utilise, on peut utiliser la commande suivante :
Code BASH :
freebsd-version
Et on peut savoir également quelle version du noyau est démarrée :
Code BASH :
uname -r
Qui renvoie par exemple :
Code TEXT :
14.0-RELEASE-p5
Gestion du système
La commande freebsd-update est utilisée sur FreeBSD pour mettre à jour le système de base (le noyau et les bibliothèques système). Cela concerne les correctifs de sécurité et les nouvelles versions de celui-ci.
Mise à jour du système
Mise à jour de la base des correctifs :
Code BASH :
freebsd-update fetch
Après avoir récupéré la base des correctifs, on peut les installer avec la commande :
Code BASH :
freebsd-update install
Rollback du système
Il est possible en cas de problème de revenir à l'état précédent via la commande :
Code BASH :
freebsd-update rollback
Upgrade de version mineure
Il est possible de mettre à niveau vers une version mineure supérieure avec freebsd-upgrade. Par exemple, on utilisera pour passer de 13.1 à 13.2 la commande suivante
Code BASH :
freebsd-update -r 13.2-RELEASE upgrade
Gestion des paquets avec pkg
La commande pkg est l'outil de gestion des paquets standard sur FreeBSD, utilisé pour gérer les logiciels tiers installés sur le système à l'aide du système de gestion de paquets.
Installer
La principale utilisation de pkg, c'est l'installation des logiciels dans la distribution (exemple avec htop) :
Code BASH :
pkg install htop
On a ce type de retour :
Code TEXT :
Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. The following 1 package(s) will be affected (of 0 checked): New packages to be INSTALLED: htop: 3.2.2_1 Number of packages to be installed: 1 96 KiB to be downloaded. Proceed with this action? [y/N]: y [1/1] Fetching htop-3.2.2_1.pkg: 100% 96 KiB 98.4kB/s 00:01 Checking integrity... done (0 conflicting) [1/1] Installing htop-3.2.2_1... [1/1] Extracting htop-3.2.2_1: 100%
Désinstaller
Pour désinstaller un paquet, c'est aussi simple (exemple avec htop) :
Code BASH :
pkg delete htop
On a ce type de retour :
Code TEXT :
Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: htop: 3.2.2_1 Number of packages to be removed: 1 Proceed with deinstalling packages? [y/N]: y [1/1] Deinstalling htop-3.2.2_1... [1/1] Deleting files for htop-3.2.2_1: 100%
Si on souhaite désinstaller ensuite les paquets orphelins (dépendances qui ne servent plus), on utilisera :
Code BASH :
pkg autoremove
Mettre à jour
Pour mettre à jour la liste des paquets en local :
Code BASH :
pkg update
Pour mettre à jour un paquet :
Code BASH :
pkg upgrade paquet
Et pour mettre à jour tous les paquets :
Code BASH :
pkg upgrade
Recherche de paquets
Pour rechercher un paquet par son nom (ou une partie de son nom), voici un exemple avec htop :
Code BASH :
pkg search htop
On a ce type de retour :
Code TEXT :
bashtop-0.9.25_1 Linux/OSX/FreeBSD resource monitor gnome-shell-extension-dashtopanel-v46 Icon taskbar for the Gnome Shell htop-3.2.2_1 Better top(1) - interactive process viewer
Si on souhaite tout le manifest (avec plus de détails) on pourra utiliser l'option -R :
Code BASH :
pkg search -R htop-3.2.2_1
On a ce type de retour :
Code TEXT :
name: "htop" origin: "sysutils/htop" version: "3.2.2_1" comment: "Better top(1) - interactive process viewer" maintainer: "[email protected]" www: "https://htop.dev/" abi: "FreeBSD:13:amd64" arch: "freebsd:13:x86:64" prefix: "/usr/local" sum: "15a924259c01e4a5692718150d227aa1f7af51020890852f59547aca15a48f95" flatsize: 252712 path: "All/htop-3.2.2_1.pkg" repopath: "All/htop-3.2.2_1.pkg" licenselogic: "single" licenses: [ "GPLv2" ] pkgsize: 98420 desc: "htop is an enhanced version of top, the interactive process viewer,\nwhich can display the list of processes in a tree form.\n\nComparison between 'htop' and 'top'\n\n\t* In 'htop' you can scroll the list vertically and horizontally\n\tto see all processes and full command lines.\n\t* In 'top' you are subject to a delay for each unassigned\n\tkey you press (especially annoying when multi-key escape\n\tsequences are triggered by accident).\n\t* 'htop' starts faster ('top' seems to collect data for a while\n\tbefore displaying anything).\n\t* In 'htop' you don't need to type the process number to\n\tkill a process, in 'top' you do.\n\t* In 'htop' you don't need to type the process number or\n\tthe priority value to renice a process, in 'top' you do.\n\t* In 'htop' you can kill multiple processes at once.\n\t* 'top' is older, hence, more tested." categories: [ "sysutils" ] options: { LSOF: "off" } annotations: { FreeBSD_version: "1302001", build_timestamp: "2024-02-18T02:36:43+0000", built_by: "poudriere-git-3.4.1", cpe: "cpe:2.3:a:htop:htop:3.2.2:::::freebsd13:x64:1", port_checkout_unclean: "no", port_git_hash: "756e18783", ports_top_checkout_unclean: "no", ports_top_git_hash: "b3e528239" }
Avoir des infos sur un paquet
Pour avoir des informations détaillées sur un paquet (exemple avec htop) :
Code BASH :
pkg info htop
On a ce type de retour :
Code TEXT :
htop-3.2.2_1 Name : htop Version : 3.2.2_1 Installed on : Thu Feb 22 16:12:00 2024 CET Origin : sysutils/htop Architecture : FreeBSD:13:amd64 Prefix : /usr/local Categories : sysutils Licenses : GPLv2 Maintainer : [email protected] WWW : https://htop.dev/ Comment : Better top(1) - interactive process viewer Options : LSOF : off Annotations : FreeBSD_version: 1302001 build_timestamp: 2024-02-18T02:36:43+0000 built_by : poudriere-git-3.4.1 cpe : cpe:2.3:a:htop:htop:3.2.2:::::freebsd13:x64:1 port_checkout_unclean: no port_git_hash : 756e18783 ports_top_checkout_unclean: no ports_top_git_hash: b3e528239 repo_type : binary repository : FreeBSD Flat size : 247KiB Description : htop is an enhanced version of top, the interactive process viewer, which can display the list of processes in a tree form. Comparison between 'htop' and 'top' * In 'htop' you can scroll the list vertically and horizontally to see all processes and full command lines. * In 'top' you are subject to a delay for each unassigned key you press (especially annoying when multi-key escape sequences are triggered by accident). * 'htop' starts faster ('top' seems to collect data for a while before displaying anything). * In 'htop' you don't need to type the process number to kill a process, in 'top' you do. * In 'htop' you don't need to type the process number or the priority value to renice a process, in 'top' you do. * In 'htop' you can kill multiple processes at once. * 'top' is older, hence, more tested.
Lister tous les paquets installés
Pour lister tous les paquets installés sur le système, on utilisera :
Code BASH :
pkg info -q
On la ce type de retour sous forme de liste :
Code TEXT :
apache24-2.4.58_1 apr-1.7.3.1.6.3_1 curl-8.5.0 db18-18.1.40 expat-2.5.0 gdbm-1.23 gettext-runtime-0.22.3 htop-3.2.2_1 indexinfo-0.3.1 jansson-2.14 libargon2-20190702 libidn2-2.3.4 libnghttp2-1.58.0 libpsl-0.21.2_4 libssh2-1.11.0,3 libunistring-1.1 libxml2-2.10.4_2 pcre2-10.42 perl5-5.36.3_1 php81-8.1.27 pkg-1.20.9 readline-8.2.7
Divers et maintenance
Nettoyer le cache local
Il est possible de supprimer les archives téléchargées localement des applications qui ne sont plus présentement installées via :
Code TEXT :
pkg clean
Pour supprimer toutes les archives, y compris celles des paquets installés :
Code TEXT :
pkg clean -a