Linux - 覚書 - バージョンの調べ方

 
1. 能書き
2. CentOS
3. Ubuntu
4. Mint

1. 能書き

 FreeBSD は GhostBSD や TrueOS のような特殊な例を除けば、ディストリビューションという考え方はないので。  カーネルのバージョン、イコール、OS のバージョンということになりますので

> uname -a
FreeBSD ホスト名 11.1-RELEASE-p6 FreeBSD 11.1-RELEASE-p6 #2: Wed Feb 21 11:02:38 JST 2018     管理者@ホスト名:/usr/obj/usr/src/sys/カーネル名  amd64
 と uname でくっきりバージョンを調べることができますが。  例えば CentOS でこれをやると

$ uname -a
Linux ホスト名 2.3.2-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
 となって、ここで出力しているのはカーネルのバージョンであってディストリビューションのバージョンではないわけです。

2. CentOS

 CentOS の場合  uname の結果は、前項で示したように

$ uname -a
Linux ホスト名 2.3.2-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
 となります。  CentOS 6.4 までは
/etc/centos-release
 を見ます。

$ cat /etc/centos-release
CentOS release 6.4 (Final)
 CentOS 6.8 以降は(6.5 ~ 6.7 は調べたことがないのでわかりません)
/etc/redhat-release
 を見ます。

$ cat /etc/redhat-release
CentOS release 6.8 (Final)
 てな感じです。  /etc/redhat-release ですから、RedHat 系、すなわち Fedora、RedHat も同様です。  アーキテクチャを見るには arch というコマンドを使用します。

$ arch
x86_64
 てな感じですね。  ちなみにこれは amd64 の例で、32ビットの場合 i686 となるようです。

3. Ubuntu

 Ubuntu MATE 17.10 でやってみました。  uname は

$ uname -a
Linux ホスト名 4.13.0-41-generic #46-Ubuntu SMP Wed May 2 13:38:30 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
 とまぁ、よくわからない。
/etc/os-release
 を見るか lsb_release というコマンドを使うそうです。

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="17.10 (Artful Aardvark)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 17.10"
VERSION_ID="17.10"
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=artful
UBUNTU_CODENAME=artful

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 17.10
Release:        17.10
Codename:       artful
 アーキテクチャを見るにのは CentOS と同様。

$ arch
x86_64

4. Mint

 Mint 18.3 でやってみました。  Ubuntu と同じと思い込んでいたら、さにあらず。

$ uname -a
Linux ホスト名 4.10.0-38-generic #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/os-release
NAME="Linux Mint"
VERSION="18.3 (Sylvia)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 18.3"
VERSION_ID="18.3"
HOME_URL="http://www.linuxmint.com/"
SUPPORT_URL="http://forums.linuxmint.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/linuxmint/"
VERSION_CODENAME=sylvia
UBUNTU_CODENAME=xenial

$ lsb_release -a
No LSB modules are available.
 lsb_release は LSB modules ってのを別途インストールせねばならんのかな?

$ arch
x86_64
 ちなみに /etc/os-release はシンボリックリンクでした(Ubuntu は未確認)。

$ ls -la /etc/os-release
lrwxrwxrwx 1 root root 21  3月 12 14:21 /etc/os-release -> ../usr/lib/os-release