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
5. Mageia
$ ls -l /etc/*-release
-rw-r--r-- 1 root root 104 7月 7 2017 /etc/lsb-release
-rw-r--r-- 1 root root 39 7月 11 2017 /etc/mageia-release
lrwxrwxrwx 1 root root 14 7月 11 2017 /etc/mandrake-release -> mageia-release
lrwxrwxrwx 1 root root 14 7月 11 2017 /etc/mandrakelinux-release -> mageia-release
lrwxrwxrwx 1 root root 14 7月 11 2017 /etc/mandriva-release -> mageia-release
lrwxrwxrwx 1 root root 21 7月 11 2017 /etc/os-release -> ../usr/lib/os-release
lrwxrwxrwx 1 root root 14 7月 11 2017 /etc/redhat-release -> mageia-release
「/etc/mageia-release」が、本体のようです。
$ cat /etc/mageia-release
Mageia release 6 (Official) for x86_64