如果你加入了一家新公司,要为开发团队安装所需的软件并重启服务,这个时候首先要弄清楚它们运行在什么发行版以及哪个版本的系统上,你才能正确完成后续的工作。作为系统管理员,充分了解系统信息是首要的任务。
查看 linux 发行版名称和版本号有很多种方法。你可能会问,为什么要去了解这些基本信息呢?
因为对于诸如 rhel、debian、opensuse、arch linux 这几种主流发行版来说,它们各自拥有不同的包管理器来管理系统上的软件包,如果不知道所使用的是哪一个发行版的系统,在软件包安装的时候就会无从下手,而且由于大多数发行版都是用 systemd 命令而不是 sysvinit 脚本,在重启服务的时候也难以执行正确的命令。
下面来看看可以使用那些基本命令来查看 linux 发行版名称和版本号。
方法总览
lsb_release命令
/etc/*-release文件
uname命令
/proc/version文件
dmesg命令
yum 或 dnf 命令
rpm 命令
apt-get 命令
方法 1: lsb_release 命令
lsb(linux 标准库linux standard base)能够打印发行版的具体信息,包括发行版名称、版本号、代号等。
# lsb_release -a
no lsb modules are available.
distributor id: ubuntu
description: ubuntu16.04.3lts
release: 16.04
codename: xenial
方法 2: /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://bugzilla.redhat.com/
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)
方法 3: uname 命令
uname(unix name 的意思) 是一个打印系统信息的工具,包括内核名称、版本号、系统详细信息以及所运行的操作系统等等。
# uname -a
linux localhost.localdomain4.12.14-300.fc26.x86_64#1 smp wed sep 20 16:28:07 utc 2017 x86_64 x86_64 x86_64 gnu/linux
以上运行结果说明使用的操作系统版本是 fedora 26。
方法 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: centos.zswap.net
*extras: mirror2.evolution-host.com
*updates: centos.zswap.net
available packages
name : nano
arch : x86_64
version : 2.3.1
release : 10.el7
size : 440k
repo : base/7/x86_64
summary : asmall text editor
url : http://www.nano-editor.org
license : gplv3+
description : gnu nano isasmall andfriendly text editor.
下面的 yum repolist 命令执行后显示了 yum 的基础源仓库、额外源仓库、更新源仓库都来自 centos 7 仓库。
# yum repolist
loaded plugins: fastestmirror,ovl
loading mirror speeds from cached hostfile
*base: centos.zswap.net
*extras: mirror2.evolution-host.com
*updates: centos.zswap.net
repo id repo name status
base/7/x86_64 centos-7 - base9591
extras/7/x86_64 centos-7 - extras388
updates/7/x86_64 centos-7 - updates1929
repolist: 11908
使用 dnf 命令也同样可以查看发行版名称和版本号。
# dnf info nano
last metadata expiration check: 0:01:25ago on thu feb1501:59:312018.
installed packages
name : nano
version : 2.8.7
release : 1.fc27
arch : x86_64
size : 2.1m
source : nano-2.8.7-1.fc27.src.rpm
repo : @system
from repo : fedora
summary : asmall text editor
url : https://www.nano-editor.org
license : gplv3+
description : gnu 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
100 /var/lib/dpkg/status
2.5.3-2500
500http://nova.clouds.archive.ubuntu.com/ubuntu xenial/main amd64 packages
看完本文有收获?请分享给更多人
什么是区块链系统思维
iPhone 12大热助力台积电保持领先地位
MS4515DO压力传感器的驱动设计与实现
谷歌第二季营收215亿美元 同比增长超过20%
韩国KAIST为f-VLED研发出一种低成本的生产方法
使用基本命令来查看Linux版本号
中信科移动实现重大突破:推动我国5G发展迈向新高度!
什么是函数的调用?
光电开关在电网中的应用
语音芯片如何选型?
TCL科技业绩推动股价暴涨
奥拓电子MetaBox XR虚拟拍摄解决方案进军游戏领域
高档汽车音频市场到2016年将翻一番
谷歌携同联想和小蚁科技,发布两款 VR180 相机
东芝将扩大硬盘生产:20TB HDD即将问世
X-ray检测设备适用于电子元器件行业吗?
碱性电池的恒流负载测试
什么是软件与硬件的逻辑等价性
“刷脸”时代已来,国内人脸识别产业将走向何方?
沸腾了!全球新能源汽车股票狂飙