Linuxのバージョンを確認するには、ディストリビューション(OS)のバージョンを見るか、カーネルのバージョンを見るかで使うコマンドが異なります。最速で確認したい場合は、次のコマンドを実行してください。
# ディストリビューション(OS)のバージョン
cat /etc/os-release
# カーネルのバージョン
uname -r
本記事では、Ubuntu・Debian・RHEL系(Rocky Linux)で実際にコマンドを実行した結果をもとに、OS・ディストリビューション・カーネルそれぞれのバージョン確認方法と、ディストリビューションによる違い・注意点をまとめて解説します。
Linuxの「バージョン」には2種類ある
「Linuxのバージョン」という言葉は、実際には2つの異なる情報を指すことがあります。混同すると確認したい情報にたどり着けないため、まず違いを整理します。
| 種類 | 内容 | 確認コマンドの例 |
|---|---|---|
| ディストリビューションのバージョン | Ubuntu 24.04、Rocky Linux 9.3 のようなOS全体のバージョン | cat /etc/os-release / lsb_release -a |
| カーネルのバージョン | Linuxカーネル自体のバージョン(例: 6.8.0) | uname -r |
「Linux バージョン確認」で調べる場合、多くはディストリビューションのバージョンを指しますが、カーネルのアップデート状況やセキュリティパッチの適用確認ではカーネルバージョンを見る必要があります。両方の確認方法を押さえておくと迷いません。
ディストリビューション(OS)のバージョンを確認する方法
方法1: cat /etc/os-release(最も確実・推奨)
/etc/os-release はsystemdプロジェクトが定めた標準ファイルで、Ubuntu・Debian・RHEL系・Arch Linuxなど、ほぼすべてのディストリビューションに存在します。特別なパッケージのインストールが不要で、最も互換性が高い確認方法です。
cat /etc/os-release
Ubuntu 24.04での出力例(実機で確認):
PRETTY_NAME="Ubuntu 24.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.4 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
Rocky Linux 9.3(RHEL系)での出力例(Dockerコンテナで実機確認):
NAME="Rocky Linux"
VERSION="9.3 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.3"
PRETTY_NAME="Rocky Linux 9.3 (Blue Onyx)"
PRETTY_NAME の1行だけを見たい場合は、次のように grep と組み合わせます。
grep PRETTY_NAME /etc/os-release
方法2: lsb_release -a(Debian/Ubuntu系で使われてきた方法)
lsb_release はLinux Standard Base (LSB) に基づいてディストリビューション情報を表示するコマンドです。Debian/Ubuntu系では標準で入っていることが多い一方、RHEL系や最小構成のイメージでは別途インストールが必要な場合があります。オプションや出力例の詳細はlsb_release コマンドの解説記事を参照してください。
lsb_release -a
Ubuntu 24.04での出力例(実機で確認):
Distributor ID: Ubuntu
Description: Ubuntu 24.04.4 LTS
Release: 24.04
Codename: noble
方法3: hostnamectl(OSとカーネルをまとめて確認)
hostnamectl はsystemd環境で使えるコマンドで、OS名・カーネルバージョン・アーキテクチャなどをまとめて表示できます。1回のコマンドで複数の情報を確認したい場合に便利です。
hostnamectl
Ubuntu 24.04での出力例(実機で確認、一部抜粋):
Operating System: Ubuntu 24.04.4 LTS
Kernel: Linux 6.8.0-136-generic
Architecture: x86-64
ただし、Dockerコンテナなどsystemdが動作していない環境では hostnamectl は使えません(Rocky Linuxのコンテナで実機確認したところ「command not found」でした)。コンテナ環境では cat /etc/os-release を使うのが確実です。
ディストリビューション別の確認ファイル
/etc/os-release 以外にも、ディストリビューション固有のバージョンファイルがあります。スクリプトで系統判定したい場合に利用します。
| 系統 | ファイル | 出力例(実機確認) |
|---|---|---|
| Debian/Ubuntu系 | /etc/debian_version | 12.15(Debian 12) |
| RHEL/CentOS/Rocky/Alma系 | /etc/redhat-release | Rocky Linux release 9.3 (Blue Onyx) |
カーネルのバージョンを確認する
カーネルのバージョンは uname コマンドで確認します。コマンドの全オプションや出力の見方はuname コマンドの解説記事で詳しく解説しています。
uname -r:カーネルリリース番号のみ表示
uname -r
出力例(実機で確認):
6.8.0-136-generic
uname -a:カーネル関連の全情報を一括表示
uname -a
出力例(実機で確認):
Linux menfukurou 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:53:05 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
ホスト名・カーネルリリース・ビルド日時・CPUアーキテクチャがまとめて確認できます。
早見表:目的別のコマンド一覧
| 目的 | コマンド | 備考 |
|---|---|---|
| OSのバージョンを最速で確認したい | cat /etc/os-release | ほぼ全ディストリビューションで利用可 |
| OS名とバージョンを1行で確認したい | grep PRETTY_NAME /etc/os-release | スクリプトへの組み込みに便利 |
| Debian/Ubuntu系の伝統的な方法で確認したい | lsb_release -a | 要 lsb-release パッケージの場合あり |
| OSとカーネルをまとめて確認したい | hostnamectl | systemd環境のみ。コンテナでは使えないことがある |
| カーネルバージョンのみ確認したい | uname -r | スクリプトでの条件分岐にも使いやすい |
| カーネル関連の情報を全部確認したい | uname -a | ホスト名・アーキテクチャも表示 |
よくある質問(FAQ)
Q. Ubuntuのバージョンを確認するには?
A. cat /etc/os-release か lsb_release -a を実行してください。VERSION_ID(例: 24.04)や Release の行にバージョン番号が表示されます。GUI環境であれば「設定」→「このデバイスについて」からも確認できます。
Q. CentOS・Rocky Linuxなどのバージョンを確認するには?
A. cat /etc/os-release か cat /etc/redhat-release を実行してください。lsb_release コマンドは初期状態で入っていないことが多く、使う場合は sudo yum install redhat-lsb-core(または dnf)でのインストールが必要です。
Q. カーネルバージョンとOSバージョンは何が違う?
A. OSバージョン(ディストリビューションのバージョン)はUbuntuやRocky Linuxといった配布パッケージ全体のバージョンで、カーネルバージョンはLinuxカーネル自体のバージョンです。同じOSバージョンでもカーネルだけが更新されることがあるため、セキュリティパッチの適用確認では uname -r を使います。
Q. lsb_release: command not found と表示される場合は?
A. lsb-release パッケージが未インストールです。Ubuntu/Debian系は sudo apt install lsb-release、RHEL/CentOS系は sudo yum install redhat-lsb-core でインストールできます。インストールしたくない場合は、代わりに cat /etc/os-release を使ってください。
注意点
lsb_releaseは近年非推奨傾向にあり、標準で入っていないディストリビューションも増えています。スクリプトで環境判定する場合は/etc/os-releaseを読む方法が安定します。hostnamectlはsystemdに依存するため、Dockerコンテナなど軽量環境では利用できません(本記事のRocky Linuxコンテナ検証でもcommand not foundでした)。- WSL(Windows Subsystem for Linux)上のUbuntuでも同じコマンドが使えます。WSL自体のバージョン確認方法はWSL入門記事を参照してください。

コメント