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