30代後半、未経験からIT業界のエンジニア転職へ挑戦している、kobakichiです。
今回は、環境構築が不要で、オンラインでLinuxについて学べるオンライン学習サービス、Envaderを利用して、OSのバージョン確認方法について学んだのでその振り返りとまとめです。
Envaderについて気になる方がいましたら、リンクを貼っておきますので参考までに。。
記事の概要
この記事では、uname
コマンドとそのオプション、またその他のOSのバージョン確認の方法についてEnvaderを通して自分なりに解釈したことをまとめました。
未来の自分へ向けて、必要な時にすぐに思い出せるように。。。。
OSのバージョン確認とは。
まずコマンドの使い方などに触れる前に、OSとは何なのか?OSのバージョンとはなんなのか?について考えます。
OS(Operating System)
OSとは、ソフトウェアの種類の一つで、機器の基本的な管理や制御のための機能や、多くのソフトウェアが共通して利用する基本的な機能などを実装した、システム全体を管理するソフトウェア。
OS自体もソフトウェアの一種なんですね。
キーボードやマウス、RAM(Random Access Memory)、外部記憶装置(ストレージ、ディスク、HDDなど)の管理などを行なっていて、電源を入れると最初に起動するのがOSなのか。ふむふむ。
つまりこうやって文字をキーボードから入力できているのもOSさんのおかげということですね!
OSには種類がある
OSは一つだけしか無い。というわけではなく、複数の種類が存在している。
- Windows
- macOS
- UNIX
- Linux
- iOS
- iPadOS
- Android
などなど。
記事を検索している中で、iPadOSなんてものの存在を初めて知りました。
ただOSと言っても、このほかにもまだまだあるみたいなので、種類だけでもたくさんあるんだな〜と改めて感じています。
OSのバージョンとは
OSにはたくさんの種類がある事は分かりました。
では、uname
コマンドを使って確認しようとしている、OSのバージョンとは何なのか?について少し深掘りです。
OSのバージョンの例
分かりやすいであろうWindowsのOSを見てみると、
- Windows 2000(2000年)
- Windows XP(2001年)
- Windows Vista(2006年)
- Windows 10(2015年)
- Windows 11(2021年)
なるほど。良くパソコンで表示されている、Windows~というのがOSのバージョンなのか。
これがある事によって、Windows2000で動いていたアプリケーションが、Windows11では動かない。と言った事が起こり得るため、バージョンの確認が必要になる場面があるという事なんですね。
unameコマンドでシステム情報を表示してみる
uname
コマンドは、システム情報を表示するコマンドです。
実行してみました。
envader@172-19-1-2:~$ uname
Linux
このように、uname
コマンドだけだとOSのカーネル情報のみが出力されるみたいで、バージョンの確認まではできません。
ではどうするか?ですが、uname
コマンドにオプションを付けて実行する事で、バージョン確認やCPUの種類などが確認できます。
unameコマンドのオプション
uname
コマンドのオプションを見ていきましょう。
-a(all)
全てのシステム情報を表示する。
envader@172-19-1-2:~$ uname -a
Linux 172-19-1-2 5.4.120+ #1 SMP Fri Jul 23 10:06:55 PDT 2021 x86_64 GNU/Linux
まとまって表示できるのは嬉しい気がするけど、実際何が書かれているのか理解しづらい。
このallで表示した内容を細かく切って表示していくのが次から実行していくオプションになるのでしょう。
-v(kernel-version)
カーネルのバージョンを表示する。
envader@172-19-1-2:~$ uname -v
#1 SMP Fri Jul 23 10:06:55 PDT 2021
カーネルが#1SMPでFri Jul 23 10:06:55 PDT 2021にコンパイルされたもの、と読むらしい。
-r(kernel-release)
カーネルのリリース情報を表示する。
envader@172-19-1-2:~$ uname -r
5.4.120+
カーネルは5.4.120+としてリリースされたもの、と読むらしい。
-p(processor)
コンピューターのCPU情報を表示する。
envader@172-19-1-2:~$ uname -p
unknown
Envaderでは環境の理由でかどうか分かりませんが、unknownと表示されたので、自分のpcで確認してみる。
) uname -p
i386
自分のPCには、i386系のCPUが搭載されている事が分かりました。
Intelのx86(当時16bit)を32bitに拡張したCPUとのこと。
ちなみにiはインテルのiみたいで、386系は若干古いやつみたい。
少しショックです。。。。
-m(machine)
コンピューターのマシンタイプの情報を表示する。
envader@172-19-1-2:~$ uname -m
x86_64
x86・x64はCPUのbit数を表していて、
x86→32bit
x64→64bit
という意味になるみたい。
こちらの記事が分かりやすかったです。
x86_64 とは?
-n(nodename)
ホスト名を表示する。
envader@172-19-1-2:~$ uname -n
172-19-1-2
@の次からホスト名なので、上記の表示になるということか。
catコマンドでOSのバージョンを確認する。
OSのバージョンを確認するには、catコマンドを使い、/etc/os-release
を表示させます。
envader@172-19-1-2:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Debianだと、/etc/debian_version
でバージョン情報を表示できるみたいです。
envader@172-19-1-2:~$ cat /etc/debian_version
9.13
まとめ
今回は、OSのシステム情報と、OSのバージョンを確認する方法を学びました。
正直、uname
コマンドとetc/os-release
では同じことをしていると認識していたのですが、uname
ではシステム情報を表示させて、etc/os-release
ではOSのバージョンを確認していて、それぞれ役割が違うんだなと認識しました。
最後まで読んでいただき、ありがとうございました。
参考にさせていただいた記事一覧
パソコンのOSとは?OSの種類と自分のパソコンのOSの調べ方
OS 【Operating System】 オペレーティングシステム / 基本ソフト
unameコマンドの使い方:オプション含めてまとめました 【Linuxコマンド集】
CPUのアーキテクチャの違いまとめ(x86/x64/x86_64/AMD64/i386/i686とはなんなのか?)