LinuxのコマンドラインでOSのバージョンを確認する方法

Linuxはフリーで使えるオープンソースのOSですが、様々な種類のものが出回っています。例えば SuseOpenSUSEDebianUbuntuRed HatCentOS などです。

これら流通しているLinuxの種類のことをディストリビューションと呼ぶのですが、ディストリビューションやバージョンによって使用できるコマンドが違ったり、適用できるパッチが異なったりします。

そのためLinuxで何か新しいものをインストールする時は、使用しているLinuxのディストリビューションとバージョンを把握しておく必要があるわけで、コマンドラインからそれらの情報をチェックできたりすると何かと捗ります。

Linux OSのディストリビューションとバージョンを確認するコマンド

OSの名前とバージョンは次のいずれかのコマンドで確認できます。

cat /etc/os-release
cat /etc/lsb-release
lsb_release -a
hostnamectl

cat /etc/os-release

os-release というファイルにOSの情報が記述されているので、それを cat コマンドで覗き見ています。一番簡単な確認方法かなと思います。下記のような出力結果になります。

NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

cat /etc/lsb-release

/etc/lsb-releaseファイルを cat コマンドで覗きます。LSBは Linux Standard Base の略です。

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"

lsb_release -a

lsb_release コマンドで確認する方法です。関連パッケージが入っていないと使えません。

hostnamectl

hostnamectl コマンドはシステムのホスト名と関連する設定を参照したり変更したりするコマンドですが、OSとカーネルのバージョンをチェックできます。

Static hostname: localhost.localdomain
Icon name: computer-vm
Chassis: vm
Machine ID: 9c9fd12c1a984877bef5c1284f526941
Boot ID: 40fd9fb07c234e72a4d77e745be00d07
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-514.el7.x86_64
Architecture: x86-64

カーネルのバージョンを確認するコマンド

uname というコマンドがあります。ディストリビューションやOSのバージョンはわかりませんが、カーネルの情報をチェックできます。

# uname -aの出力結果
Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

# uname -rの出力結果
3.10.0-514.el7.x86_64

まとめ

LinuxのOSとバージョンをコマンドラインで確認する方法をまとめました。よく忘れてしまうのでこれで一安心です。やったね!