Autres distribs Linux

FreeBSD : gestion des paquets avec pkg

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

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 :
uname -a


Qui renvoie par exemple :

Code TEXT :
FreeBSD freebsd 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC amd64


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