Le noyau est universellement détecté avec uname
:
$ uname -or
2.6.18-128.el5 GNU/Linux
Il n'existe pas vraiment de moyen de distribution croisée pour déterminer la distribution et la version sur lesquelles vous vous trouvez. Il y a eu des tentatives pour rendre cela cohérent, mais en fin de compte, cela varie, malheureusement. Les outils LSB fournissent cette information, mais ironiquement, ils ne sont pas installés par défaut partout. Exemple sur un système Ubuntu 9.04 avec le paquet lsb-release
installé :
$ lsb_release -irc
Distributor ID: Ubuntu
Release: 9.04
Codename: jaunty
Sinon, la méthode disponible la plus proche est la vérification des fichiers /etc/something-release
. Ceux-ci existent sur la plupart des plateformes communes, et sur leurs dérivés (c'est-à-dire Red Hat et CentOS).
Voici quelques exemples.
Ubuntu a /etc/lsb-release
:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"
Mais Debian a /etc/debian_version
:
$ cat /etc/debian_version
5.0.2
Fedora, Red Hat et CentOS ont
Fedora: $ cat /etc/fedora-release
Fedora release 10 (Cambridge)
Red Hat/older CentOS: $ cat /etc/redhat-release
CentOS release 5.3 (Final)
newer CentOS: $ cat /etc/centos-release
CentOS Linux release 7.1.1503 (Core)
Gentoo :
$ cat /etc/gentoo-release
Gentoo Base System release 1.12.11.1
Je n'ai pas de système SUSE disponible pour le moment, mais je crois que c'est /etc/SuSE-release
.
Slackware a /etc/slackware-release
et/ou /etc/slackware-version
.
Mandriva a /etc/mandriva-release
.
Pour la plupart des distributions populaires alors,
$ cat /etc/*{release,version}
fonctionnera le plus souvent. Les installations de “serveurs” dépouillés et de “barebones” peuvent ne pas avoir le paquet “release” pour la distribution installée.
De plus, deux programmes tiers que vous pouvez utiliser pour obtenir automatiquement ces informations sont Ohai et Facter . Notez que de nombreuses distributions contiennent ce type d'informations dans /etc/issue
ou /etc/motd
, mais certaines politiques de sécurité et meilleures pratiques indiquent que ces fichiers devraient contenir des bannières de notification d'accès.