解決策 1:
lsb_release
を使用できます さまざまな Linux ディストリビューションでのコマンド:
lsb_release -i -r
これにより、ディストリビューションとバージョンがわかり、管理者またはソフトウェア パッケージによって変更されているかどうかにかかわらず、ファイルにアクセスするよりも少し正確です。複数のディストリビューションで作業するだけでなく、
RHEL の場合、以下を使用する必要があります:
cat /etc/redhat-release
解決策 2:
/etc/redhat-release の内容を見ると、次のようになります:
$ cat /etc/redhat-release
CentOS release 5.4 (Final)
実際の RHEL システムでは内容が異なります。この手法は、CentOS、Fedora などを含むすべての RedHat 派生物で機能します。
解決策 3:
/etc/issue ファイルを使用することを好みます。
$ cat /etc/issue
/etc/redhat-release がソフトウェアの互換性要件 (たとえば、Dell または HP の管理エージェント) を満たすように変更されている状況を数多く見てきました。
解決策 4:
いつに最も信頼できる方法 lsb_release
インストールされていません です:
# rpm -q --queryformat '%{VERSION}' redhat-release-server
6Server
# rpm -q --queryformat '%{RELEASE}' redhat-release-server
6.4.0.4.el6
最小限のインストールでは、lsb_release
がありません。
これを Red Hat クローンでも機能させるには (クレジットはコメントに記載されています):
# rpm -q --queryformat '%{VERSION}' $(rpm -qa '(redhat|sl|slf|centos|oraclelinux)-release(|-server|-workstation|-client|-computenode)')
または、1 つのコマンドとして (2 つの「rpm」を実行するのではなく):
# rpm -qa --queryformat '%{VERSION}\n' '(redhat|sl|slf|centos|oraclelinux)-release(|-server|-workstation|-client|-computenode)'
sed
を使用 /cut
および UNIX ツールを操作して必要なものを取得するその他のテキスト。
解決策 5:
それが本当に Red Hat リリース (Centos ではない) であると仮定すると:
rpm -q redhat-release
または単に実行:
uname -r
そして、出力をマップします。 2.6.9 カーネルは RHEL4、2.6.18 カーネルは RHEL5 です。必要に応じて、フル バージョンを Red Hat からの特定のアップデート リリースにマッピングできます (つまり、2.6.9-89 は RHEL5 U4 です)。