GNU/Linux
Détection du nom et de la version de la distribution Linux
Recherche…
Syntaxe
uname - pour imprimer des informations sur votre système d'exploitation.
uname [OPTION]
Détecter la distribution basée sur Debian dans laquelle vous travaillez
lsb_release -a
simplement lsb_release -a
.
Sur Debian:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux testing (stretch)
Release: testing
Codename: stretch
Sur Ubuntu:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.4 LTS
Release: 14.04
Codename: trusty
Si lsb_release
n'est pas installé, vous pouvez essayer de deviner, par exemple, il existe un fichier /etc/issue
qui contient souvent le nom de la distribution. Par exemple, sur Ubuntu:
$ cat /etc/issue
Ubuntu 12.04.5 LTS \n \l
N'utilisez pas le fichier /etc/debian_version
car son contenu ne correspond pas au nom de la distribution!
Notez que cela fonctionnera également sur les distributions non-Debian-famille comme Fedora, RHEL ou openSUSE - mais que lsb_release
ne peut pas être installé.
Détecter la distribution RHEL / CentOS / Fedora dans laquelle vous travaillez
Regardez le contenu de /etc/redhat-release
cat /etc/redhat-release
Voici la sortie d'une machine Fedora 24: Fedora release 24 (Twenty Four)
Comme mentionné dans la réponse basée sur Debian, vous pouvez également utiliser la commande lsb_release -a
, qui la lsb_release -a
depuis une machine Fedora 24:
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: Fedora
Description: Fedora release 24 (Twenty Four)
Release: 24
Codename: TwentyFour
Détecter la distribution basée sur systemd que vous utilisez
Cette méthode fonctionnera sur les versions modernes de Arch, CentOS, CoreOS, Debian, Fedora, Mageia, openSUSE, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, Ubuntu et autres. Cette large applicabilité en fait un outil idéal en première approche, avec un recours à d’autres méthodes si vous devez également identifier des systèmes plus anciens.
Regardez /etc/os-release
. En particulier, regardez les variables NAME
, VERSION
, ID
, VERSION_ID
et PRETTY_NAME
.
Sur Fedora, ce fichier pourrait ressembler à ceci:
NAME=Fedora
VERSION="24 (Workstation Edition)"
ID=fedora
VERSION_ID=24
PRETTY_NAME="Fedora 24 (Workstation Edition)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:24"
HOME_URL="https://fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=24
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=24
PRIVACY_POLICY_URL=https://fedoraproject.org/wiki/Legal:PrivacyPolicy
VARIANT="Workstation Edition"
VARIANT_ID=workstation
Sur CentOS, ce fichier peut ressembler à ceci:
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
Ce fichier est documenté sur le site Web freedesktop ; en principe, il n'est pas spécifique à systemd - mais il existera sur toutes les distributions basées sur systemd.
A partir du shell bash, on peut trouver le fichier /etc/os-release
, puis utiliser directement les différentes variables, comme ceci:
$ ( source /etc/os-release && echo "$PRETTY_NAME" )
Fedora 24 (Workstation Edition)
Uname - Imprimer des informations sur le système actuel
Uname est le nom court pour le nom u nix. Tapez simplement uname
dans la console pour obtenir des informations sur votre système d'exploitation.
uname [OPTION]
Si aucune option est spécifiée, uname
prend la -s
option.
-a
ou --all
- Imprime toutes les informations, en omettant -p
et -i
si les informations sont inconnues.
Exemple:
> uname -a
SunOS hope 5.7 Generic_106541-08 sun4m sparc SUNW,SPARCstation-10
Toutes les options:
-s , --kernel-name | Imprimez le nom du noyau. |
-n , --nodename | Imprimez le nom d'hôte du nœud de réseau. |
-r , --kernel-release | Imprimez la version du noyau. |
-v , --kernel-version | Imprimer la version du noyau. |
-m , --machine | Imprimer le nom du matériel de la machine. |
-p , --processeur | Imprimez le type de processeur ou " inconnu ". |
-i , --hardware-platform | Imprimez la plate-forme matérielle ou " inconnu ". |
-o , - système d'exploitation | Imprimez le système d'exploitation. |
--Aidez-moi | Afficher un message d'aide et quitter. |
--version | Afficher les informations de version et quitter. |
Détecter des informations de base sur votre distribution
il suffit d'exécuter uname -a
.
Sur Arch:
$ uname -a
Linux nokia 4.6.4-1-ARCH #1 SMP PREEMPT Mon Jul 11 19:12:32 CEST 2016 x86_64 GNU/Linuxenter code here
Trouvez votre nom et numéro de version de linux os (à la fois debian & rpm)
La plupart des distributions Linux stockent ses informations de version dans le fichier / etc / lsb-release (debian) ou / etc / redhat-release (basé sur RPM). Utiliser la commande générique ci-dessous devrait vous permettre de dépasser la plupart des dérivés de Debian et RPM comme Linux Mint et Cent-Os.
Exemple sur Ubuntu Machine:
cat / etc / * release
DISTRIB_ID = Ubuntu DISTRIB_RELEASE = 14.04 DISTRIB_CODENAME = trusty DISTRIB_DESCRIPTION = "Ubuntu 14.04 LTS"
en utilisant GNU coreutils
Donc, les coreutils GNU devraient être disponibles sur tous les systèmes Linux (veuillez me corriger si je me trompe ici).
Si vous ne savez pas quel système vous utilisez, vous ne pourrez peut-être pas accéder directement à l'un des exemples ci-dessus, ce qui peut constituer votre premier port d'escale.
`$ uname -a
Sur mon système, cela me donne les éléments suivants ...
`Linux Scibearspace 3.16.0-4-amd64 # 1 SMP Debian 3.16.7-ckt25-2 + deb8u3 (2016-07-02) x86_64 GNU / Linux
Ici vous pouvez voir ce qui suit:
Scibearspace: le nom de mon pc
- Scibearspace: le nom de mon pc
- 3.16.0-4-amd64: le noyau et l'architecture
- SMP Debian 3.16.7-CKT25-2 + deb8u3: me dit que je lance Debian avec le noyau 3.16
- Enfin la dernière partie que je lance sur debian 8 (mise à jour 3).
Je serais heureux d’en ajouter d’autres pour les systèmes RHEL et SuSe.