Solution 1 :
Vous pouvez utiliser le lsb_release
commande sur diverses distributions Linux :
lsb_release -i -r
Cela vous indiquera la distribution et la version et est un peu plus précis que l'accès à des fichiers qui peuvent ou non avoir été modifiés par l'administrateur ou un progiciel. En plus de travailler sur plusieurs distributions.
Pour RHEL, vous devez utiliser :
cat /etc/redhat-release
Solution 2 :
Vous pouvez regarder le contenu de /etc/redhat-release, qui ressemblera à ceci :
$ cat /etc/redhat-release
CentOS release 5.4 (Final)
Le contenu est différent pour un système RHEL réel. Cette technique fonctionne sur tous les dérivés RedHat, y compris CentOS, Fedora et autres.
Solution 3 :
Je préfère utiliser le fichier /etc/issue.
$ cat /etc/issue
J'ai vu de nombreuses situations où /etc/redhat-release a été modifié pour répondre aux exigences de compatibilité logicielle (agents de gestion Dell ou HP, par exemple).
Solution 4 :
Le moyen le plus fiable quand lsb_release
n'est pas installé est :
# rpm -q --queryformat '%{VERSION}' redhat-release-server
6Server
# rpm -q --queryformat '%{RELEASE}' redhat-release-server
6.4.0.4.el6
Sur les installations minimales, lsb_release
est manquant.
Pour que cela fonctionne également avec les clones de Red Hat (le crédit revient aux commentaires) :
# rpm -q --queryformat '%{VERSION}' $(rpm -qa '(redhat|sl|slf|centos|oraclelinux)-release(|-server|-workstation|-client|-computenode)')
Ou, en une seule commande (plutôt que deux "rpm" en cours d'exécution) :
# rpm -qa --queryformat '%{VERSION}\n' '(redhat|sl|slf|centos|oraclelinux)-release(|-server|-workstation|-client|-computenode)'
Utilisez sed
/cut
et d'autres outils de manipulation de texte UNIX pour obtenir ce que vous voulez.
Solution 5 :
En supposant qu'il s'agisse vraiment d'une version de Red Hat (et non de Centos) :
rpm -q redhat-release
Ou exécutez simplement :
uname -r
Et mappez la sortie. Les noyaux 2.6.9 sont RHEL4, les noyaux 2.6.18 sont RHEL5. Si nécessaire, vous pouvez mapper la version complète aux versions de mise à jour spécifiques de Red Hat (par exemple, 2.6.9-89 correspond à RHEL5 U4).