CentOSのバージョンを確認する方法


125

グラフィカルインターフェイスにアクセスせずにCentOSサーバーのバージョンを確認するにはどうすればよいですか?私はいくつかのコマンドを試しました:

# cat /proc/version
Linux version 2.6.18-128.el5 (mockbuild@hs20-bc1-7.build.redhat.com)
(gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)) …

# cat /etc/issue
Red Hat Enterprise Linux Server release 5.3 (Tikanga)

しかし、正しいものはどれですか:4.1.2-4 from /proc/versionまたは5.3 from /etc/issue

回答:


43

でわかるように/etc/issue、CentOS 5.3を使用しています。(CentOSはRHソースに基づいているため、Red Hatによると、一部のソフトウェア/etc/issueは使用中のディストリビューションを確認するため、これをCentOSに変更すると失敗します)。

4.1.2-4中には/proc/versionのバージョンを参照するgccカーネルを構築するために使用されるCコンパイラ。


3
32ビットまたは64ビットの互換性がある場合、uname -aを使用して検出できるものを追加します。
フェディルライクティック

15
CentOS 7では、「cat / etc / issue」はgobbledygookを生成します。– \S Kernel \r on an \m
Urhixidur

9
正解はh3rrmillerによるものですcat /etc/*elease/etc/issue多くの場合、組織のMOTD /免責事項に置き換えられます
-batfastad

この/etc/issueファイルは、CentOSではなくRHELであることを示しています。
マイケルハンプトン

161

CentOSのような場合、実際のバージョンは通常に置かれ/etc/*eleaseます。

cat /etc/*elease

通常、このファイルには、OS全体からカーネルを除いたバージョンが格納されます(どちらを読み込むかを選択できるため)。このファイルは/ etc / issueと同じ情報を持ちますが、RedHatの代わりにCentOSを使用します


1
cat / etc / * releaseも機能しますが、探しているものの文字を省略していません;)*一度に何も、すべて、1つまたは複数のアイテムにすることはできません。ありがとう、私はいつもリリース版を入手する方法を忘れていました。
erm3nda

9
「R」をオフにしておく理由は、「リリース」の「R」が大文字になっている場合があるためです。
h3rrmiller

ただ言うと、ls /etc/*elease私のシステムで行うことはを与える/etc/centos-release /etc/redhat-release /etc/system-release。だから、これらすべてから、リリースファイルが含まれる傾向があると推測していますが/etc/*-release、おそらく大文字を使用しています。
mwfearnley

2
これは正しいです。私は、多くのサイトで見つけ/etc/issueて使用するためMOTDやセキュリティ免責事項で上書きされているBannerにオプションsshd_config
batfastad

cat /etc/*os-releaseCentOSでよりターゲットを絞った結果が得られ、Ubuntuなどで動作するはずです。
webaholik

19

最も信頼性の高い方法で見つけることのMAJOR CentOSの(5または6など)のバージョンは次のとおりです。

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

RHELの場合:

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

lsb_releaseまたは他のツールなしでバージョンを見つける唯一のポータブルな方法は次のとおりです。

# grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release
6.5

3
簡略化できます:cat /etc/redhat-release | grep -o '[0-9]\.[0-9]'
デイブヨハンセン

1
+1 rpm -q centos-releaseは、/ etc / redhat-releaseにメジャーバージョンのみが含まれる古いCentOS5リリースでマイナーバージョンを取得するためにまだ見つけた唯一の方法です。ヒントをありがとう。
PolyTekPatrick

1
メジャーバージョンを取得するには:cat /etc/redhat-release | grep -oP '(?<= )[0-9]+(?=\.)'
Rockallite

1
好奇心が強い:なぜ「grep pattern file」ではなく「cat file | grep pattern」なのか?
バリーカーター

そう、シェルの歴史からそれを掘り下げ、これを修正することができました。一定。
lzap

13

次のコマンドを呼び出すだけで判断できます。

hostnamectl

次のように返されます:

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

rpmCentOSバージョンの詳細を見つけるためにも使用できます。

rpm --query centos-release

私の場合はどちらに戻ります:

centos-release-7-3.1611.el7.centos.x86_64

1
hostnamectlメジャーリリース番号のみを返す
-fpmurphy

1
そうです、rpmを使用すると、詳細バージョンを取得できます
-hd84335

6

正しい方法はlsb_release -dです。


8
CentOS 7の場合:lsb_release:コマンドが見つかりません。
デレクソン

yum install redhat-lsb-core ...
gena2x

7
確かに、しかし私が意味したのは、現在のバージョンを取得するために新しいパッケージをインストールする必要があるかどうかはわかりません。
デレクソン

1
複数のディストリビューションで実行できるコマンドが必要な場合は、インストールする価値があります。
gena2x


3

/etcファイル内の場所にありますos-release。次のように入力します:

cat /etc/os-release

これはCentOS 5または6にバックポートされましたか?そうでない場合、これは....今後、主に便利です
mattdm

CentOSはこれをCentOS 7以降で利用可能にしました-バックポートは見ていません。
webaholik

3

最も真に CentOSのまたはRHELのいずれかのメジャーバージョンを取得するための信頼性の高い(と短い)の方法は次のとおりです。

rpm -E %{rhel}

あなたの例の値を与える67または8(今RHEL 8が出ていること)。


2

実行rpm --eval '%{centos_ver}'して、centosのメジャーバージョンを取得します。


0

ここに私がグーグルを通して集めたいくつかのコマンドがあります、誰かを助けるかもしれません:

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

私もこれを記録するための要点を作成しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.