在 Linux 系统之下若想要查询发行版名称与版本的资讯有许多种方法,而不同的 Linux 发行版适用的方式也不同,以下整理了一些常见的方法。
查询 Linux 发行版与版本
Linux 发行版(distribution)与版本就是指大家常听到的 Ubuntu 16.04、Fedora 24、CentOS 7 这些名字,而要查询 Linux 的发行版有以下几种方式。
查看 /etc/*-release
通常在 /etc 目录中会有一些档名为 *-release 的系统版本资讯档,通常从这些档案的内容就可以看出 Linux 的发行版名称与版本号码。首先可以使用 ls 列出所有的 /etc/*-release 档案:
1
2
3
4
5
|
ls -l /etc/*-release
-rw-r--r-- 1 root root 467 4月 15 2015 /etc/os-release
-rw-r--r-- 1 root root 40 4月 15 2015 /etc/redhat-release
lrwxrwxrwx 1 root root 14 10月 20 2015 /etc/sl-release -> redhat-release
lrwxrwxrwx 1 root root 14 10月 20 2015 /etc/system-release -> redhat-release
|
虽然档案名称有 redhat 的字样,但是实际的 Linux 发行版名称还是要看里面的内容才知道:
1
2
|
cat /etc/redhat-release
Scientific Linux release 7.1 (Nitrogen)
|
os-release 里面还有更详细的资讯:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
cat /etc/os-release
NAME="Scientific Linux"
VERSION="7.1 (Nitrogen)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="7.1"
PRETTY_NAME="Scientific Linux 7.1 (Nitrogen)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.1:GA"
HOME_URL="http://www.scientificlinux.org//"
BUG_REPORT_URL="scientific-linux-devel@listserv.fnal.gov"
REDHAT_BUGZILLA_PRODUCT="Scientific Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.1
REDHAT_SUPPORT_PRODUCT="Scientific Linux"
REDHAT_SUPPORT_PRODUCT_VERSION=7.1
|
从上面这些资料看起来这个 Linux 系统是 Scientific Linux release 7.1。以下则是 Ubuntu Linux 16.04 的状况:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"
cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
|
使用 lsb_release 指令查询
lsb_release 是一个用来查询 Linux 发行版资讯的指令,但是并不是每一种 Linux 发行版预设都会安装这个指令,使用时要碰运气:
1
2
3
4
5
6
7
|
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: xenial
|
像在 Scientific Linux 中就没有这个指令可以用:
1
2
3
4
|
lsb_release -a
bash: lsb_release: 找不到指令...
|
查询 Linux 核心版本
Linux 核心版本跟发行版的版本是不一样的东西,Linux 核心版本通常是比较进阶的系统开发者或管理者才会需要用到,它看起来会类似Linux 4.4.0-24-generic,以下是几种Linux 核心版本的查询方式。
使用 uname 指令查询
uname 是一个用来查询 Linux 系统核心资讯的指令:
1
2
3
|
uname -a
Linux my-server 3.10.0-229.el7.x86_64 #1 SMP Mon Mar 9 16:14:50 CDT 2015 x86_64 x86_64 x86_64 GNU/Linux
|
这是 Ubuntu Linux 16.04 的状况:
1
2
3
|
uname -a
Linux ubuntu-pc 4.4.0-24-generic #43-Ubuntu SMP Wed Jun 8 19:27:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
|
查看 /proc/version
在 /proc/version 中也会纪录一些 Linux 的核心版本资讯:
1
2
3
|
cat /proc/version
Linux version 3.10.0-229.el7.x86_64 (mockbuild@sl7-uefisign.fnal.gov) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Mon Mar 9 16: 14:50 CDT 2015
|
这是 Ubuntu Linux 16.04 的状况:
1
2
3
|
cat /proc/version
Linux version 4.4.0-24-generic (buildd@lgw01-12) (gcc version 5.3.1 201
|