Wie bestimme ich die CentOS-Version?

125

Wie bestimme ich die Version eines CentOS-Servers ohne Zugriff auf eine grafische Oberfläche? Ich habe verschiedene Befehle ausprobiert:

# 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)

aber welches ist richtig: 4.1.2-4 aus /proc/versionoder 5.3 aus /etc/issue?

Philippe Blayo
quelle

Antworten:

43

Wie Sie in sehen können /etc/issue, verwenden Sie CentOS 5.3. (Red Hat wird angezeigt, da CentOS auf den RH-Quellen basiert und einige Softwareprüfungen /etc/issuedie verwendete Distribution ermitteln. Wenn diese in CentOS geändert würde, würden sie daher fehlschlagen.)

Das 4.1.2-4in /proc/versionbezieht sich auf die Version des gccC-Compilers, mit dem der Kernel erstellt wurde.

Renan
quelle
3
Ich füge nur hinzu, was Sie mit uname -a erkennen könnten, ob es 32- oder 64-Bit-kompatibel ist.
Fedir RYKHTIK
15
Unter CentOS 7 gibt 'cat / etc / issue' \S Kernel \r on an \m
Folgendes preis
9
Richtige Antwort sollte derjenige von h3rrmiller ... sein cat /etc/*elease. /etc/issuewird oft durch MOTD / Disclaimer einer Organisation ersetzt
batfastad
Die /etc/issueDatei zeigt, dass es sich um RHEL handelt, nicht um CentOS.
Michael Hampton
161

In Fällen wie CentOS wird normalerweise die aktuelle Version abgelegt /etc/*elease.

cat /etc/*elease

Zugegeben, diese Datei enthält normalerweise die Version des gesamten Betriebssystems abzüglich des Kernels (da Sie auswählen können, welches geladen werden soll). Diese Datei enthält dieselben Informationen wie / etc / issue, jedoch mit CentOS anstelle von RedHat

h3rrmiller
quelle
1
cat / etc / * release funktioniert auch, und Sie lassen keinen Buchstaben von dem aus, wonach Sie suchen;), weil elease nicht immer leicht zu erraten ist. *kann nichts, alles, ein oder mehrere Elemente zur Zeit sein. Vielen Dank, ich habe immer den Weg vergessen, die Release-Version zu bekommen.
erm3nda
9
Der Grund, warum ich das "R" auslasse, ist, dass in einigen Fällen das "R" in "release" großgeschrieben wird.
h3rrmiller
Einfach zu sagen, ls /etc/*eleaseauf meinem System zu tun gibt /etc/centos-release /etc/redhat-release /etc/system-release. Nach alledem schätze ich, dass die Release-Dateien in der Regel vorhanden sind /etc/*-release- aber möglicherweise mit einer gewissen Groß- / Kleinschreibung.
Mwfearnley
2
Das ist richtig. Ich finde an vielen Stellen, /etc/issuedie mit einem MOTD oder Sicherheitshinweis zur Verwendung mit der BannerOption insshd_config
batfastad 06.10.15
cat /etc/*os-releasesollte zielgerichtetere Ergebnisse für CentOS liefern und trotzdem unter Ubuntu und anderen funktionieren.
Webaholik
19

Der zuverlässigste Weg , um die MAJOR- Version von CentOS (5 oder 6 usw.) zu finden, ist:

# rpm -q --queryformat '%{VERSION}' centos-release
6

Für RHEL mach das:

# rpm -q --queryformat '%{RELEASE}' redhat-release-server | awk -F. '{print $1}'
7

Die einzige tragbare Möglichkeit, eine Version ohne lsb_release oder andere Tools herauszufinden, ist:

# grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release
6.5
lzap
quelle
3
Kann vereinfacht werden:cat /etc/redhat-release | grep -o '[0-9]\.[0-9]'
Dave Johansen
1
+1 rpm -q centos-releaseist die einzige Möglichkeit, die ich bisher gefunden habe, um die Nebenversion auf älteren CentOS5-Releases zu erhalten, wobei / etc / redhat-release nur die Hauptversion enthält. Danke für den Tipp.
PolyTekPatrick
1
So erhalten Sie die Hauptversion:cat /etc/redhat-release | grep -oP '(?<= )[0-9]+(?=\.)'
Rockallite
1
Nur neugierig: warum "cat file | grep pattern" statt "grep pattern file"?
barrycarter
Richtig, habe das aus der Shell-Geschichte herausgesucht und konnte das korrigieren. Fest.
lzap
13

Sie können dies feststellen, indem Sie einfach den folgenden Befehl aufrufen:

hostnamectl

Welches wird wie folgt zurückkehren:

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

Sie können auch verwenden rpm, um Details zur CentOS-Version zu finden:

rpm --query centos-release

Welche wird in meinem Fall zurückkehren:

centos-release-7-3.1611.el7.centos.x86_64
hd84335
quelle
1
hostnamectlgibt nur die Hauptversionsnummer zurück
fpmurphy
1
Das ist richtig, mit rpm können Sie eine detaillierte Version bekommen
hd84335
6

Richtiger Weg ist lsb_release -d.

gena2x
quelle
8
Unter CentOS 7: lsb_release: Befehl nicht gefunden.
Dereckson
yum install redhat-lsb-core ...
gena2x
7
Klar, aber ich meinte: Ich bin mir nicht sicher, ob es sinnvoll ist, ein neues Paket zu installieren, um die aktuelle Version zu erhalten.
Dereckson
1
Wenn Sie einen Befehl wünschen, der dies über mehrere Distributionen hinweg tun kann, lohnt sich die Installation möglicherweise noch.
Gena2x
5
# echo "I am running: `cat /etc/redhat-release` (`arch`)"

Gibt Folgendes aus:

I am running: CentOS release 6.7 (Final) (x86_64)
Ivan Novikov
quelle
3

Es befindet sich am Speicherort /etcin der Datei os-release. Also tippe ein:

cat /etc/os-release
Lijo George
quelle
Wurde dies auf CentOS 5 oder 6 zurückportiert? Wenn nicht, ist dies in
Zukunft
CentOS stellte dies ab CentOS 7 zur Verfügung - ich habe keinen Backport gesehen.
Webaholik
3

Die wirklich zuverlässig (und kurz) Art und Weise Hauptversion entweder CentOS oder RHEL ist zu bekommen:

rpm -E %{rhel}

Gibt Ihnen einen Wert von beispielsweise 6, 7oder 8(jetzt , dass RHEL 8 out).

Danila Vershinin
quelle
2

Führen rpm --eval '%{centos_ver}'Sie den Befehl aus, um die MAJOR-Version von centos abzurufen.

tvorog
quelle
0

Hier ist ein Befehl, den ich über Google gesammelt habe und der jemandem helfen kann:

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

Ich habe eine Zusammenfassung erstellt , um dies auch aufzuzeichnen.

auf wiedersehen
quelle