「引き継ぎドキュメントがなくて、目の前のLinuxサーバーが何者なのか分からない」
サーバーの運用引き継ぎやトラブル対応で、OSの種類やバージョンが分からず困った経験はないでしょうか。
この記事では、LinuxのOSバージョンやカーネル情報を確認するコマンドを、用途別に整理して解説します。
uname、/etc/os-release、hostnamectl の3つを押さえれば、RHEL系・Debian系を問わず、目の前のサーバーの正体をすぐに特定できます。・/etc/os-releaseが最も信頼性高い。ディストリビューション名・バージョン両方確認できる
・uname -rでカーネルバージョン、hostnamectlでハードウェア情報も同時確認できる
・引き継ぎ・障害対応・パッケージ選択でOS情報確認は必須作業
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
なぜ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
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)"
・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
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
・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
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"
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 -a と cat /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日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:duコマンドでディスク使用量を確認する方法|ディレクトリごとの容量や容量順ソートも
- 前のページへ:topコマンドでCPU・メモリ使用状況を確認する方法|プロセス絞り込みとload averageの読み方
- この記事の属するカテゴリ:Linuxコマンド・LinuxコマンドU-Z・システム管理コマンドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます