À partir du shell et sans privilèges root, comment puis-je déterminer la version de Red Hat Enterprise Linux que j'utilise?
Idéalement, j'aimerais obtenir les versions majeure et mineure, par exemple RHEL 4.0 ou RHEL 5.1, etc.
Vous pouvez utiliser la lsb_release
commande sur différentes 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 modifiés ou non par l’administrateur ou un progiciel. En plus de travailler sur plusieurs distributions.
Pour RHEL, vous devez utiliser:
cat /etc/redhat-release
lsb_release -i -r
-bash: lsb_release: commande introuvable. Toutefois,cat /etc/redhat-release
la version 5.6 de Red Hat Enterprise Linux Server (Tikanga)Vous pouvez consulter le contenu de / etc / redhat-release, qui ressemblera à ceci:
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.
la source
lsb_release
est la première chose à essayer, mais depuis que cela peut ne pas être installé en regardant les fichiers est un bon plan B.Je préfère utiliser le fichier / 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).
la source
/etc/issue
fonctionne également sur d’autres systèmes d’exploitation, tels que Debian et Ubuntu, et fonctionne avec les systèmes d’exploitation Linux qui ne sont pas conformes à la base de normalisation Linux et avec les systèmes d’exploitation légers ne disposant pas des utilitaires lsb *./etc/issue
est censé être analysé par agetty , qui remplace les séquences d'échappement par des informations appropriées. Si vous venez justecat
, le résultat peut être décevant. Sur Fedora, on obtientFedora release 20 (Heisenbug) Kernel \r on an \m (\l)
, ce qui vous dit quelque chose, mais sur RHEL7, on obtient juste\S Kernel \r on an \m
./etc/issue
peut être remplacé par l’administrateur local et n’est donc pas une source d’information fiable.Le moyen le plus fiable quand
lsb_release
n’est pas installé est:Sur les installations minimales, il
lsb_release
manque.Pour que cela fonctionne aussi avec les clones Red Hat (le crédit revient aux commentaires):
Ou, en tant que commande unique (plutôt que deux "rpm" en cours d'exécution):
Utilisez
sed
/cut
et d’autres outils de manipulation de texte UNIX pour obtenir ce que vous voulez.la source
rpm -qa '(oraclelinux|sl|redhat|centos)-release(|-server)'
sl est pour Scientific Linux; Si vous connaissez le bon nom pour les autres reconstructions RHEL, commentez ci-dessous. Attention - pas testé de manière approfondie.rpm -qa | grep release
est encore plus facileEn supposant que ce soit vraiment une version de Red Hat (pas Centos):
Ou tout simplement courir:
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 sur les versions de mise à jour spécifiques de Red Hat (par exemple, la version 2.6.9-89 correspond à RHEL5 U4).
la source
rpm -q redhat-release
revient justepackage redhat-release is not installed
pour moi, etuname -r
me dit juste la version du noyau.Je préfère
hostnamectl
:la source
J'aime bien utiliser le
/etc/os-release
fichier, qui se trouve dans la version RPM:Ce fichier peut être recherché dans des scripts, tels que:
la source
Si vous voulez simplement obtenir les numéros de version, voici ce qui suit est aussi simple et rapide que possible.
Testé sur rhel 6.7, rhel 7.2, debian 8.3 et Ubuntu 14.04:
Pour un exemple pratique, supposons que vous souhaitiez tester les versions majeure et mineure de la distribution et que vous utilisiez ces fonctions:
la source
Une arrivée tardive à cela, mais je me suis amusé à essayer de comprendre la version RHEL sur plusieurs nœuds distants. Donc, si vous avez un lot de serveurs qui utilisent le même mot de passe (je sais, je sais ...), voici une rapide et sale pour vérifier la version de RedHat:
Créer un script d'attente
Attendez-vous à ce qu'un script vérifie la version principale de RedHat sur plusieurs hôtes distants
Exécutez le script pour tous vos nœuds
Sortie
la source