Lsb release

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Identification de la distribution Linux
Commande lsb_release
Contexte Nécessite le paquet lsb-release — sur les systèmes récents, préférer /etc/os-release
Voir aussi /etc/os-release, uname -r

lsb_release affiche des informations sur la distribution Linux installée (nom de l'éditeur, version, nom de code) en s'appuyant sur le standard LSB (Linux Standard Base). Elle nécessite l'installation du paquet lsb-release, absent par défaut sur de nombreux systèmes minimalistes (conteneurs, images cloud). Sur les distributions récentes, /etc/os-release fournit les mêmes informations sans dépendance externe et est devenu la méthode de référence à privilégier dans les scripts.

Commandes de base

lsb_release -a     # résumé complet : Distributor ID, Description, Release, Codename
lsb_release -rd    # version (Release) + description, en une ligne, pratique pour un script
lsb_release -si    # nom du distributeur seul (ex: Ubuntu, Debian, CentOS)

Si la commande n'est pas trouvée, installer le paquet correspondant :

apt-get install lsb-release   # Debian/Ubuntu
yum install redhat-lsb-core   # RHEL/CentOS

/etc/os-release — l'alternative universelle

/etc/os-release est un fichier standard freedesktop.org, présent nativement sur quasiment toutes les distributions Linux récentes (Debian, Ubuntu, RHEL/CentOS/Fedora, Alpine, Arch...), sans nécessiter l'installation d'un paquet. C'est le format à privilégier dans un script pour détecter la distribution de façon portable.

cat /etc/os-release

Exemple de contenu (Debian) :

PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
ID=debian

Dans un script, on peut sourcer directement le fichier pour récupérer les variables (ID, VERSION_ID, PRETTY_NAME...) :

source /etc/os-release
echo "$ID $VERSION_ID"   # ex: debian 12

Fichiers historiques par distribution

Avant la généralisation de os-release, chaque famille de distributions exposait son propre fichier :

cat /etc/redhat-release   # RHEL/CentOS/Fedora — ex: "CentOS Linux release 7.9.2009 (Core)"
cat /etc/debian_version   # Debian — ex: "12.4" (absent sur Ubuntu, qui hérite du même mécanisme apt mais pas de ce fichier)

Ces fichiers restent présents pour compatibilité mais sont spécifiques à une famille de distribution, contrairement à os-release qui a vocation à être générique.

Version du noyau (distincte de la version de distribution)

La version de la distribution (ex: Debian 12) et la version du noyau Linux sont deux informations indépendantes — un même noyau peut être utilisé sur plusieurs versions de distribution, et inversement. Pour connaître la version du noyau :

uname -r    # ex: 6.1.0-49-amd64
uname -a    # informations noyau complètes (version, architecture, date de build)

Voir aussi

  • /etc/os-release — standard freedesktop.org, méthode recommandée dans les scripts
  • uname -r — version du noyau, indépendante de la version de la distribution