LinuxのOSバージョンを確認するコマンド|uname・os-release・hostnamectlの使い方コマンド

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxコマンド, LinuxコマンドU-Z, システム管理コマンド > LinuxのOSバージョンを確認するコマンド|uname・os-release・hostnamectlの使い方コマンド
「このサーバー、CentOSの何なの? RHELなの? バージョンいくつ?」
「引き継ぎドキュメントがなくて、目の前のLinuxサーバーが何者なのか分からない」
サーバーの運用引き継ぎやトラブル対応で、OSの種類やバージョンが分からず困った経験はないでしょうか。

この記事では、LinuxのOSバージョンやカーネル情報を確認するコマンドを、用途別に整理して解説します。
uname/etc/os-releasehostnamectl の3つを押さえれば、RHEL系・Debian系を問わず、目の前のサーバーの正体をすぐに特定できます。
【この記事でわかること】
・/etc/os-releaseが最も信頼性高い。ディストリビューション名・バージョン両方確認できる
・uname -rでカーネルバージョン、hostnamectlでハードウェア情報も同時確認できる
・引き継ぎ・障害対応・パッケージ選択でOS情報確認は必須作業

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

なぜOSバージョンの確認が必要なのか

Linuxはディストリビューションごとにパッケージ管理やサービス管理の仕組みが異なります。CentOS 7とRHEL 9ではsystemdの挙動も違えば、使えるコマンドも違います。

OSのバージョンが分からないまま作業を始めると、こんなトラブルに直面します。

パッケージインストールの失敗:yumなのかdnfなのか、aptなのか分からない
サポート切れに気づかない:CentOS 6やUbuntu 18.04はすでにEOL(サポート終了)
設定ファイルのパスが違う:ディストリビューションやバージョンで配置が変わる
セキュリティパッチの適用漏れ:脆弱性情報はOS・バージョン単位で公開される

まずOSの正体を確認する。これがサーバー作業の第一歩です。

基本の確認方法(この3つで9割カバーできる)


1. /etc/os-release ファイルを確認する(最も汎用的)

systemdを採用している現代のLinuxディストリビューションには、ほぼ確実に /etc/os-release が存在します。RHEL系(RHEL・CentOS Stream・Rocky Linux・AlmaLinux)でもDebian系(Ubuntu・Debian)でも共通で使えるため、最初に確認すべきファイルです。

# OS情報を表示する cat /etc/os-release

出力例(Rocky Linux 9の場合):

NAME="Rocky Linux" VERSION="9.3 (Blue Onyx)" ID="rocky" ID_LIKE="rhel centos fedora" VERSION_ID="9.3" PLATFORM_ID="platform:el9" PRETTY_NAME="Rocky Linux 9.3 (Blue Onyx)"

NAME:ディストリビューション名
VERSION_ID:バージョン番号(スクリプトで比較に使いやすい)
ID_LIKE:互換性のあるディストリビューション(rhel系かどうかの判定に使える)

スクリプト内で特定の値だけ取得したい場合は、sourceコマンドで変数として読み込めます。

# シェルスクリプトでバージョンIDを取得する source /etc/os-release echo $VERSION_ID

2. hostnamectl コマンドで確認する(OS+カーネル+アーキテクチャを一括表示)

hostnamectl は、ホスト名の設定コマンドですが、OS情報も一覧表示してくれます。ディストリビューション名、カーネルバージョン、アーキテクチャ(x86_64等)がまとめて確認できるので、サーバーの全体像を素早く把握したいときに便利です。

# OS情報を一括表示する hostnamectl

出力例:

Static hostname: web-server01 Icon name: computer-vm Chassis: vm Machine ID: a1b2c3d4e5f6... Boot ID: f6e5d4c3b2a1... Virtualization: kvm Operating System: AlmaLinux 9.3 (Shamrock Pampas Cat) CPE OS Name: cpe:/o:almalinux:almalinux:9::baseos Kernel: Linux 5.14.0-362.8.1.el9_3.x86_64 Architecture: x86-64

「Virtualization: kvm」のように、仮想環境かどうかも表示されます。クラウド環境(AWS EC2やAzure VM)でも仮想化方式が分かるため、インフラ構成の把握に役立ちます。

3. uname コマンドでカーネル情報を確認する

uname はカーネル(OSの中核部分)の情報を表示するコマンドです。ディストリビューション名は表示されませんが、カーネルバージョンやアーキテクチャの確認に使います。

# すべてのカーネル情報を表示する uname -a

出力例:

Linux web-server01 5.14.0-362.8.1.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Oct 5 14:00:00 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

この出力は左から順に以下の情報です。

Linux:システム名(カーネル名)
web-server01:ホスト名
5.14.0-362.8.1.el9_3.x86_64:カーネルのリリース番号
#1 SMP PREEMPT_DYNAMIC...:カーネルのコンパイル日時
x86_64:マシンタイプ(64bitアーキテクチャ)
GNU/Linux:OS名

unameの主なオプションは以下の通りです。

-s:システム名を表示する(デフォルト)
-n:ホスト名を表示する
-r:カーネルのリリース番号を表示する
-v:カーネルのコンパイル日時を表示する
-m:マシンタイプを表示する(x86_64 / aarch64 等)
-p:プロセッサタイプを表示する
-a:すべての情報を表示する

ディストリビューション別の確認ファイル

/etc/os-release が存在しない古いOSでは、ディストリビューション固有のリリースファイルを確認します。

ディストリビューション 確認ファイル
RHEL / CentOS / Rocky / Alma /etc/redhat-release
Fedora /etc/fedora-release
Ubuntu /etc/lsb-release
Debian /etc/debian_version
SUSE /etc/SuSE-release

ディストリビューションが不明な場合は、findコマンドでリリースファイルを検索できます。

# /etc配下のリリースファイルを検索する find /etc -name "*release" -type f

応用:さらに詳しく確認する方法


1. 32bit / 64bit(アーキテクチャ)を判別する

サーバーが32bit(i686)か64bit(x86_64)かを確認する方法です。パッケージのインストール時に、対応するアーキテクチャを選ぶ必要があります。

# アーキテクチャを確認する(3つの方法) uname -m arch getconf LONG_BIT

uname -m / arch:「x86_64」なら64bit、「i686」なら32bit
getconf LONG_BIT:「64」または「32」と数値で返る(スクリプトで判定しやすい)

2. カーネルバージョンの詳細を確認する

/proc/version ファイルには、カーネルのバージョンに加えて、コンパイルに使われたGCCのバージョンなどの詳細情報が記録されています。

# カーネルの詳細情報を表示する cat /proc/version

出力例:

Linux version 5.14.0-362.8.1.el9_3.x86_64 (mockbuild@iad1-prod-build001.bld.equ.rockylinux.org) (gcc (GCC) 11.4.1 20231218 (Red Hat 11.4.1-3), GNU ld version 2.35.2-42.el9) #1 SMP PREEMPT_DYNAMIC Thu Oct 5 14:00:00 UTC 2023

カーネルバージョンの文字列にはディストリビューションのヒントが含まれています。「el9」ならRHEL 9系(Rocky Linux 9 / AlmaLinux 9を含む)、「el8」ならRHEL 8系です。

3. lsb_release コマンドで確認する

LSB(Linux Standard Base)に準拠したディストリビューションでは、lsb_release コマンドが使えます。Ubuntuではデフォルトでインストールされていることが多いですが、RHEL系では redhat-lsb-core パッケージの追加インストールが必要です。

# LSB情報を表示する lsb_release -a

4. クラウド環境(AWS EC2 / Azure)での確認の注意点

クラウド上のインスタンスでは、AMI(Amazonマシンイメージ)やカスタムイメージから作成されたサーバーがあり、/etc/os-release の内容がカスタマイズされている場合があります。

AWS EC2のAmazon Linuxを使っている場合は、以下のように表示されます。

# Amazon Linux 2023の場合 cat /etc/os-release | grep PRETTY_NAME PRETTY_NAME="Amazon Linux 2023.6.20241212"

Amazon Linuxは「Fedora系」をベースにしていますが、RHEL系とは微妙にパッケージ構成が異なります。ID_LIKE フィールドで「fedora」と表示されるので、パッケージ管理はdnfを使います。

トラブルシュート:OSバージョンが確認できない場合


「/etc/os-release: No such file or directory」と表示される場合

/etc/os-release はsystemd世代(RHEL 7以降・Ubuntu 16.04以降・Debian 8以降)で導入されたファイルです。それより古いOSでは存在しません。

この場合は、以下の順番で確認してください。

RHEL / CentOS 6以前:cat /etc/redhat-release
Debian 7以前:cat /etc/debian_version
ディストリビューション不明:find /etc -name "*release" -type f
最終手段:cat /proc/version(カーネル文字列からディストリビューションを推測)

「hostnamectl: command not found」と表示される場合

hostnamectl はsystemdに含まれるコマンドです。SysVinit時代のOS(CentOS 6以前など)には存在しません。uname -acat /etc/redhat-release で代替してください。

/etc/issue ファイルに情報がない場合

CentOS 7以降では、/etc/issue にはカーネルバージョンのプレースホルダ(\\\\r 等)しか書かれていないことがあります。ログインコンソール向けの表示ファイルなので、OSバージョンの確認には /etc/os-release を使ってください。

本記事のまとめ


やりたいこと コマンド
ディストリビューション名とバージョンを確認する cat /etc/os-release
OS・カーネル・アーキテクチャを一括表示する hostnamectl
カーネルの全情報を表示する uname -a
カーネルのリリース番号だけ確認する uname -r
アーキテクチャ(32bit/64bit)を確認する uname -m
カーネルの詳細情報を確認する cat /proc/version
RHEL系のバージョンを確認する(古いOS) cat /etc/redhat-release
リリースファイルを検索する find /etc -name "*release" -type f

Linuxのバージョン確認コマンドを使いこなして、サーバー管理の基本を身につけたいですか?

OSバージョンの正確な把握は、パッケージ管理・脆弱性対応・システム設計の基盤です。現場の知識を体系的に学びましょう。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。