Comment déterminer la version d'un serveur CentOS sans accès à une interface graphique? J'ai essayé plusieurs commandes:
# cat /proc/version
Linux version 2.6.18-128.el5 ([email protected])
(gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)) …
# cat /etc/issue
Red Hat Enterprise Linux Server release 5.3 (Tikanga)
mais lequel est correct: 4.1.2-4 de /proc/version
ou 5.3 à partir de /etc/issue
?
Comme vous pouvez le voir dans /etc/issue
, vous utilisez CentOS 5.3. (Il indique Red Hat parce que CentOS est basé sur les sources RH, et certains logiciels vérifient /etc/issue
pour identifier la distribution utilisée; ainsi, ils échoueraient si cela était changé en CentOS).
Le 4.1.2-4
dans /proc/version
fait référence à la version du compilateur gcc
C utilisé pour construire le noyau.
Dans des cas comme CentOS, la version réelle est généralement placée dans /etc/*elease
.
cat /etc/*elease
accordé ce fichier contient généralement la version de l'ensemble du système d'exploitation moins le noyau (puisque vous pouvez choisir lequel charger). Ce fichier aura les mêmes informations que/etc/issue mais avec CentOS au lieu de RedHat
La moyen le plus fiable de trouver [~ # ~] la version majeure [~ # ~] de CentOS (5 ou 6 etc. ) est:
# rpm -q --queryformat '%{VERSION}' centos-release
6
Pour RHEL, procédez comme suit:
# rpm -q --queryformat '%{RELEASE}' redhat-release-server | awk -F. '{print $1}'
7
La seule façon portable de trouver une version sans lsb_release ou d'autres outils est:
# grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release
6.5
Vous pouvez le déterminer en appelant simplement la commande suivante:
hostnamectl
Qui reviendra comme suit:
Static hostname: mgbcctli01
Icon name: computer-vm
Chassis: vm
Machine ID: de14d80a0900427894dbcf6137e058e7
Boot ID: 6865f9839c064bc9be32281d0f262cc8
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-514.2.2.el7.x86_64
Architecture: x86-64
Vous pouvez également utiliser rpm
pour trouver des détails sur la version de CentOS:
rpm --query centos-release
Qui reviendra dans mon cas:
centos-release-7-3.1611.el7.centos.x86_64
La bonne façon est lsb_release -d
.
# echo "I am running: `cat /etc/redhat-release` (`Arch`)"
Génère les éléments suivants:
I am running: CentOS release 6.7 (Final) (x86_64)
Le moyen le plus vraiment fiable (et court) d'obtenir la version MAJEURE de CentOS ou RHEL est:
rpm -E %{rhel}
Vous donnera une valeur de, par exemple. 6
, 7
, ou 8
(maintenant que RHEL 8 est sorti).
Il peut être trouvé à l'emplacement /etc
, à l'intérieur du fichier os-release
. Alors saisissez:
cat /etc/os-release
Courir rpm --eval '%{centos_ver}'
pour obtenir la version MAJEURE des centos.
Il existe des moyens standard d'obtenir la version CentOs/Redhat.
cat /etc/centos-release
ou
cat /etc/redhat-release
Voici une commande que j'ai collectée via google, peut aider quelqu'un:
https://forum.directadmin.com/showthread.php?t=15878
cat /etc/*release*
cat /etc/centos-release
http://www.liquidweb.com/kb/how-to-check-your-centos-version/
cat /etc/redhat-release
https://linuxconfig.org/how-to-check-centos-version
# the later two may need some package to install
rpm --query centos-release
hostnamectl
lsb_release -d
J'ai créé un Gist pour enregistrer cela aussi.