当我们使用一台新的linux服务器的时候,为了区分他们的命令,我们首先第一步就是要搞清楚这个系统的类型和版本号,据此再来使用对应的命令。

  下面来看看可以使用以下基本命令来查看 Linux 发行版名称和版本号。

  • uname 命令
  • lsb_release 命令
  • /etc/*-release 文件
  • /proc/version 文件
  • dmesg 命令
  • YUM 或 DNF 命令
  • RPM 命令
  • APT-GET 命令 

方法 1: uname 命令 

uname(unix name 的意思) 是一个打印系统信息的工具,包括内核名称、版本号、系统详细信息以及所运行的操作系统等等。

[root@VM_71_251_centos ~]# uname -a 
Linux VM_71_251_centos 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

方法 2: lsb_release 命令

  LSB(Linux 标准库Linux Standard Base)能够打印发行版的具体信息,包括发行版名称、版本号、代号等。

  1.确认lsb_release是否安装

  

M版本与R版本的区别 openstack rm/a是什么版本_运维

就说明没有安装。

2.安装lsb_release

使用yum安装lsb,具体命令如下:yum install -y redhat-lsb

  安装完成之后,就可以使用这个命令查看了: 

M版本与R版本的区别 openstack rm/a是什么版本_操作系统_02

 

方法 3: /etc/*-release 文件

release 文件通常被视为操作系统的标识。在 /etc 目录下放置了很多记录着发行版各种信息的文件,每个发行版都各自有一套这样记录着相关信息的文件。下面是一组在 Ubuntu/Debian 系统上显示出来的文件内容。

# cat /etc/issue
Ubuntu16.04.3LTSnl
 
# cat /etc/issue.net
Ubuntu16.04.3LTS
 
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
 
# cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.3 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.3 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/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
 
# cat /etc/debian_version
9.3

 下面这一组是在 RHEL/CentOS/Fedora 系统上显示出来的文件内容。其中 /etc/redhat-release 和 /etc/system-release 文件是指向 /etc/[发行版名称]-release 文件的一个连接。

# cat /etc/centos-release
CentOS release6.9(Final)
 
# cat /etc/fedora-release
Fedora release27(Twenty Seven)
 
# cat /etc/os-release
NAME=Fedora
VERSION="27 (Twenty Seven)"
ID=fedora
VERSION_ID=27
PRETTY_NAME="Fedora 27 (Twenty Seven)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:27"
HOME_URL="https://fedoraproject.org/"
SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
BUG_REPORT_URL="https:///"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=27
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=27
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
 
# cat /etc/redhat-release
Fedora release27(Twenty Seven)
 
# cat /etc/system-release
Fedora release27(Twenty Seven)

 方法 4: /proc/version 文件 

这个文件记录了 Linux 内核的版本、用于编译内核的 gcc 的版本、内核编译的时间,以及内核编译者的用户名。

# cat /proc/version
Linux version4.12.14-300.fc26.x86_64([email protected])(gcc version7.2.120170915(Red Hat7.2.1-2)(GCC))#1 SMP Wed Sep 20 16:28:07 UTC 2017

 方法 5: dmesg 命令 

dmesg(展示信息display message 或驱动程序信息driver message)是大多数类 Unix 操作系统上的一个命令,用于打印内核的消息缓冲区的信息。 

# dmesg | grep "Linux"
[0.000000]Linux version4.12.14-300.fc26.x86_64([email protected])(gcc version7.2.120170915(Red Hat7.2.1-2)(GCC))#1 SMP Wed Sep 20 16:28:07 UTC 2017
[0.001000]SELinux: Initializing.
[0.001000]SELinux: Starting inpermissive mode
[0.470288]SELinux: Registering netfilter hooks
[0.616351]Linux agpgart interfacev0.103
[0.630063]usb usb1: Manufacturer: Linux4.12.14-300.fc26.x86_64ehci_hcd
[0.688949]usb usb2: Manufacturer: Linux4.12.14-300.fc26.x86_64ohci_hcd
[2.564554]SELinux: Disabled at runtime.
[2.564584]SELinux: Unregistering netfilter hooks

 方法 6: Yum/Dnf 命令 

Yum(Yellowdog 更新器修改版Yellowdog Updater Modified)是 Linux 操作系统上的一个包管理工具,而 yum 命令被用于一些基于 RedHat 的 Linux 发行版上安装、更新、查找、删除软件包。 

# yum info nano
Loaded plugins: fastestmirror,ovl
Loading mirror speeds from cached hostfile
base: 
extras: mirror2.evolution-host.com
updates: 
Available Packages
Namenano
Archx86_64
Version2.3.1
Release10.el7
Size440k
Repobase/7/x86_64
SummaryAsmall text editor
URLhttp://www.nano-editor.org
LicenseGPLv3+
DescriptionGNU nano isasmall andfriendly text editor.

 下面的 yum repolist 命令执行后显示了 yum 的基础源仓库、额外源仓库、更新源仓库都来自 CentOS 7 仓库。

# yum repolist
Loaded plugins: fastestmirror,ovl
Loading mirror speeds from cached hostfile
base: 
extras: mirror2.evolution-host.com
updates: 
repo id repo name status
base/7/x86_64 CentOS-7Base9591
extras/7/x86_64 CentOS-7Extras388
updates/7/x86_64 CentOS-7Updates1929
repolist: 11908

使用 dnf 命令也同样可以查看发行版名称和版本号。

 不支持dnf命令的话,安装dnf命令参考:

# dnf info nano
Last metadata expiration check: 0:01:25ago on Thu Feb1501:59:312018.
Installed Packages
Namenano
Version2.8.7
Release1.fc27
Archx86_64
Size2.1M
Sourcenano-2.8.7-1.fc27.src.rpm
Repoahref="http:///members/system">@System</a>
From repofedora
SummaryAsmall text editor
URLhttps://www.nano-editor.org
LicenseGPLv3+
DescriptionGNU nano isasmall andfriendly text editor.

 方法 7: RPM 命令

RPM(红帽包管理器RedHat Package Manager)是在 CentOS、Oracle Linux、Fedora 这些基于 RedHat 的操作系统上的一个强大的命令行包管理工具,同样也可以帮助我们查看系统的版本信息。 

# rpm -q nano
nano-2.8.7-1.fc27.x86_64

 方法 8: APT-GET 命令 

Apt-Get(高级打包工具Advanced Packaging Tool)是一个强大的命令行工具,可以自动下载安装新软件包、更新已有的软件包、更新软件包列表索引,甚至更新整个 Debian 系统。 

# apt-cache policy nano
nano:
Installed: 2.5.3-2ubuntu2
Candidate: 2.5.3-2ubuntu2
Version table:
2.5.3-2ubuntu2500
500http://nova.clouds.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
100var/lib/dpkg/status
2.5.3-2500
500http://nova.clouds.archive.ubuntu.com/ubuntu xenial/main amd64 Packages