こんにちは、フルスタックエンジニアのryuです。
今回の記事では、Linuxでカーネルのバージョンを確認するときに使うunameコマンドについて解説します。
Linuxを使っていると、Ubuntu 22.04以上、Linuxカーネル5.15以上のような記載を見かけます。OSのバージョンとカーネルのバージョンは何が違うのだろう?と迷う方もいると思います。
カーネルの情報を確認したい場合は、uname -rを使うのが基本です。
ただし、unameではUbuntu 22.04やRocky Linux 9のようなLinuxディストリビューションのバージョンは確認できません。この記事では、unameの使い方と、/proc/versionや/etc/os-releaseとの違いも解説します。
unameコマンドとは?¶
unameは、現在動作しているシステムの情報を表示するコマンドです。
Linuxでは、カーネルのリリース情報、ホスト名、CPUアーキテクチャなどを確認できます。サーバーの環境を調べたいときや、トラブルシューティングでシステム情報を確認したいときに便利です。
まず、オプションを付けずに実行してみましょう。
uname
Linux環境では、次のように表示されます。
Linux
オプションを付けない場合は、カーネル名が表示されます。
では、実際にカーネルのバージョンを確認してみましょう。
uname -rでLinuxカーネルのバージョンを確認する¶
uname -rを実行する¶
カーネルのバージョンを確認するためには、以下のようにコマンドを入力します。
uname -r
コマンドを入力すると、環境によって次のような情報が表示されます。
6.8.0-71-generic
-rはkernel releaseを表示するオプションです。
一般的にLinuxでカーネルのバージョンを確認したい場合は、このuname -rを使えば十分です。
たとえば、利用しているソフトウェアの動作条件にLinuxカーネル5.15以上と書かれていた場合、uname -rの結果を確認することで現在動いているカーネルを判断できます。
uname -rの数字は何を表している?¶
uname -rの出力は、単純な数字だけではないため、初めて見ると少し分かりにくいですよね。
たとえば、次の結果を見てみましょう。
6.8.0-71-generic
先頭の6.8.0がLinuxカーネルのバージョンを判断するときの中心となる部分です。その後ろには、ディストリビューション側のリリース番号やカーネルの種類などが追加される場合があります。
表示形式は利用しているLinuxによって異なります。
そのため、すべてのLinuxで同じ文字列が表示されるわけではありません。まずはuname -rを実行し、自分の環境ではどのような値になるのか確認してみてください。
Linuxのカーネルがそもそも何をしているのか知りたい方は、【関連記事】Linuxの仕組みは?Linuxの構造からカーネルの機能などを詳しく解説も参考にしてください。
unameコマンドで確認できる情報¶
unameの主なオプション¶
unameでは、カーネルのリリース以外にもさまざまなシステム情報を確認できます。
よく使うオプションを整理すると、次のようになります。
| オプション | 確認できる情報 | 出力例 |
|---|---|---|
-s |
カーネル名 | Linux |
-n |
ネットワーク上のノード名 | server01 |
-r |
カーネルのリリース | 6.8.0-71-generic |
-v |
カーネルのバージョン情報 | #71-Ubuntu SMP... |
-m |
マシンのハードウェア名 | x86_64、aarch64 |
-p |
プロセッサの種類 | 環境によってunknownの場合あり |
-a |
利用可能な情報をまとめて表示 | 複数の情報を1行で表示 |
特に覚えておきたいのは、-r、-m、-aの3つです。
カーネルを確認するときはuname -r、CPUアーキテクチャを確認するときはuname -m、環境全体をざっくり確認するときはuname -aと覚えておくと使いやすいです。
uname -aですべての情報をまとめて確認する¶
複数の情報を一度に確認したい場合は、-aを使います。
uname -a
たとえば、次のような結果が表示されます。
Linux server01 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC x86_64 GNU/Linux
1行に多くの情報が表示されるため、初めて見ると分かりにくく感じるかもしれません。
カーネルだけを確認したいならuname -rの方が見やすいです。トラブルの調査などでシステム情報をまとめて確認したいときは、uname -aが便利です。
uname -mでCPUアーキテクチャを確認する¶
uname -mでは、マシンのハードウェア名を確認できます。
uname -m
IntelやAMDの64bit環境では、次のように表示されることがあります。
x86_64
ARM64のLinuxでは、次のような結果になることがあります。
aarch64
Dockerイメージやソフトウェアをインストールするときに、amd64版とarm64版のどちらを選べば良いのか確認する場面でも役立ちます。
uname -vはUbuntuのバージョンではない¶
ここは間違えやすいポイントです。
uname -vにはversionという名前が含まれていますが、Ubuntu 22.04やRocky Linux 9などのディストリビューションのバージョンを表示するコマンドではありません。
次のように実行します。
uname -v
環境によって、次のようなカーネルのビルドに関する情報が表示されます。
#71-Ubuntu SMP PREEMPT_DYNAMIC ...
つまり、Ubuntuそのもののリリース番号を調べたい場合は、別の方法を使う必要があります。
LinuxのカーネルバージョンとOSのバージョンをまとめて比較したい方は、【関連記事】Linuxでカーネルのバージョンを確認する方法を解説|uname・hostnamectl・OSとの違いもご覧ください。
UbuntuなどのOSバージョンを確認する方法¶
/etc/os-releaseを確認する¶
UbuntuやDebian、Rocky Linuxなど、利用しているLinuxディストリビューションを確認したい場合は、/etc/os-releaseを見る方法があります。
次のコマンドを実行してみましょう。
cat /etc/os-release
Ubuntuでは、次のような情報が表示されます。
NAME="Ubuntu"
VERSION="24.04 LTS (Noble Numbat)"
ID=ubuntu
VERSION_ID="24.04"
この場合、確認できるのはUbuntuというディストリビューションの情報です。
一方、uname -rで確認しているのは、現在動いているLinuxカーネルの情報です。同じバージョンという言葉でも対象が違うので注意しましょう。
違いを簡単に整理すると、次のようになります。
| 確認したいもの | コマンド | 確認できる例 |
|---|---|---|
| Linuxカーネル | uname -r |
6.8.0-71-generic |
| システム情報全体 | uname -a |
カーネル、ホスト名、CPUなど |
| CPUアーキテクチャ | uname -m |
x86_64、aarch64 |
| Linuxディストリビューション | cat /etc/os-release |
Ubuntu 24.04など |
Linuxのバージョンを教えてくださいと言われた場合は、何のバージョンを求められているのか確認すると確実です。
/proc/versionでもカーネルの情報を確認できる¶
Linuxでは、/proc/versionからもカーネルに関する情報を確認できます。
次のようにコマンドを実行します。
cat /proc/version
環境によって、次のような情報が表示されます。
Linux version 6.8.0-71-generic (buildd@...) ...
uname -rよりも長いですよね。
/proc/versionにはカーネルのリリースだけではなく、ビルド時のコンパイラやビルド情報なども含まれる場合があります。単純にカーネルのリリースを知りたいだけならuname -rの方が見やすいです。
一方で、障害調査や環境情報を詳しく確認したい場合には/proc/versionも役立ちます。
/procとは何なのか?¶
/proc/versionの/procは、普通のファイルを保存しているディレクトリとは少し性質が違います。
Linuxカーネルや現在動作しているプロセスなどの情報を、ファイルのような形で参照できる仕組みです。そのため、catコマンドを使ってさまざまなシステム情報を確認できます。
たとえば、CPUの情報は次のように確認できます。
cat /proc/cpuinfo
メモリの情報なら、次のファイルがあります。
cat /proc/meminfo
Linuxでは、コマンドだけではなく、このような仮想ファイルを通してOS内部の情報を確認する場面も多くあります。
unameコマンドはどんなときに使う?¶
unameは毎日何十回も入力するようなコマンドではありませんが、環境確認では便利です。
たとえば、ソフトウェアが現在のカーネルに対応しているか調べる場合や、DockerなどでCPUアーキテクチャを確認する場合、障害時にサーバーの環境情報を共有する場合などに使えます。
実際に、次の3つだけでも一度試してみてください。
uname -r
uname -m
uname -a
結果を見比べると、オプションごとに何が表示されているのか理解しやすくなります。
Linuxのコマンドを覚えるときは、一覧を暗記するより、自分の環境で実際に実行する方がおすすめです。
【関連記事】これからLinuxを勉強する方は、Linuxの自己学習はどうやってやればいいの?現役のエンジニアが解説も参考にしてください。
InfraAcademyでLinuxを実際に操作しながら学習する¶
Linuxは、コマンドの名前と意味を読むだけではなかなか身につきません。
実際にコマンドを入力し、どのような結果が返ってくるのか確認することが大切です。
InfraAcademyのLinux入門講座では、Linuxの基本操作からファイル・ディレクトリ、権限、プロセスなどを学習できます。
ブラウザ上で実際に操作しながら進められるため、Linuxを触ったことがない方でも、コマンドと実行結果を結び付けて学習できます。
さらに、Linuxサーバーを扱うのであればネットワークの知識も必要です。ネットワーク講座では、IPアドレスやルーティングなどを基礎から学習できます。
Linuxとネットワークの基礎が身についたら、AWS講座でクラウド上のサーバーやネットワークについて学習するのもおすすめです。
カーネルのバージョンを確認するunameコマンドまとめ¶
今回の記事では、Linuxでカーネルのバージョンを確認するunameコマンドについて解説しました。
カーネルのリリースを確認したい場合は、まず次のコマンドを覚えておけば大丈夫です。
uname -r
システム情報をまとめて見たい場合はuname -a、CPUアーキテクチャを確認したい場合はuname -mを利用できます。
また、Ubuntuなどのディストリビューションのバージョンを確認したい場合は、unameではなく/etc/os-releaseを確認しましょう。
cat /etc/os-release
カーネルについてより詳しい情報が必要なら、/proc/versionも確認できます。
同じLinuxのバージョン確認でも、カーネル、ディストリビューション、CPUアーキテクチャでは確認するコマンドが異なります。何を調べたいのかを意識して、コマンドを使い分けてみてください。



