How to check Linux version
Linuxのバージョン情報の確認方法をまとめた。
Linuxのバージョン情報には以下の2種類が存在する。
- カーネルのバージョン
- ディストリビューションのバージョン
カーネルのバージョン情報はディストリビューション共通で以下のどちらかの方法で確認できるようだ。
cat /proc/version
Linux version 3.13.0-65-generic (buildd@lgw01-26) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #106-Ubuntu SMP Fri Oct 2 22:08:27 UTC 2015
uname -a # 全情報を表示
uname -r # カーネルのリリース番号のみ表示
Linux senooken-ThinkPad-Edge-E440 3.13.0-65-generic #106-Ubuntu SMP Fri Oct 2 22:08:27 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 3.13.0-65-generic
ディストリビューションのバージョン情報を確認する方法はいくつかある。以下の順番でオススメだ。
lsb_release
コマンドか/etc/lsb-release- /etc/os-release
- /etc/ディストリビューション名-release
- /etc/issues
また上記とは別に,Debianから派生したディストリビューション(UbuntuやLinux Mintなど)では,/etc/debian_versionに派生したDebianのバージョンが書かれているとのこと。
以下で1-4のディストリビューションのバージョン情報の確認方法について説明していく。
lsb_releaseコマンド
lsb_release
コマンドが使えるならこの方法が一番よい。lsb_releaseコマンドを使えば,これ単体でコードネームやバージョン番号だけを出力することができる。そのため,シェルスクリプトなどでコードネームやバージョン情報が必要なときに組み込みやすい。
例えば以下のコマンドで必要な情報を出力できる。
lsb_release -a # ディストリビューションの情報を全て表示
lsb_release -cs # コードネーム(trustyなど)だけ表示
lsb_release -rs # バージョン番号(14.04など)だけ表示
出力:
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.3 LTS Release: 14.04 Codename: trusty
trusty
14.04
lsb_release
コマンドは/etc/lsb-releaseファイルの内容を元に情報を出力している模様。
cat /etc/lsb-release
DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS"
なお,もしlsb_release
コマンドがなければ,以下のコマンドでインストールできる。
apt-get install lsb-release
yum install redhat-lsb
/etc/os-release
このファイルはほぼ全てのディストリビューションに搭載されているらしい。Ubuntu 14.04とCentOS 7で存在を確認できた。
/etc/os-releaseには/etc/lsb-releaseと同じくらい詳しいバージョン情報が書かれている。欠点としては,バージョン番号やコードネームだけを単独で抽出するのに自分でパイプ処理などを挟む必要があり,手間がかかる点だ。
/etc/os-releaseには例えば以下のような内容が書かれている。
cat /etc/os-release
NAME="Ubuntu" VERSION="14.04.3 LTS, Trusty Tahr" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 14.04.3 LTS" VERSION_ID="14.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
/etc/ディストリビューション名-release
ディストリビューションごとに/etc/ディストリビューション名-releaseというファイルが存在しており,このファイルを見ることで詳細なバージョン情報を知ることができる。
ディストリビューション | ファイル名 |
CentOS | redhat-release,centos-release |
Fedora | fedora-release |
Gentoo | gentoo-release |
Vine Linux | vine-release |
OpenSUSE | SuSE-release |
Turbo Linux | turbolinux-release |
Arch Linux | arch-release(中身は空) |
/etc/issue
/etc/issueは全ディストリビューションに共通で存在する。SSHでログインしたときやFTPでログインしたときなどに使われるファイルとのこと。しかし,バージョン情報については十分に記載されていない。例えば,Ubuntu 14.04では以下の出力となる。
cat /etc/issue
Ubuntu 14.04.3 LTS \n \l
このように表示される内容はディストリビューション名とバージョン番号くらいで,コードネームは表示されない。
また,CentOS 7では以下の内容となりディストリビューションに関する情報が記載されていない。
\S Kernel \r on an \m
そのため,バージョン情報を確認するにはよい方法ではない。
Reference
以下のサイトがこの順番で参考になった。
- Linuxのディストリビューションとバージョンの確認方法をまとめてみた http://note.kurodigi.com/linux-version/
- ディストリビューションを確認する方法 – それマグで! http://takuya-1st.hatenablog.jp/entry/20100915/1284535635
- Ubuntu/コマンドでUbuntuのコードネームを調べる方法 – Linuxと過ごす http://linux.just4fun.biz/Ubuntu/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7Ubuntu%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%83%8D%E3%83%BC%E3%83%A0%E3%82%92%E8%AA%BF%E3%81%B9%E3%82%8B%E6%96%B9%E6%B3%95.html