识别Linux发行版要比引用简单的版本号多得多。的输出uname命令可以告诉你。这些信息是什么,它告诉你什么?
在这篇文章中,我们将进一步研究uname命令以及一些其他命令和文件提供的发布描述。
使用uname
每当您发出命令时,都会显示大量信息uname -在Linux系统的终端窗口中。那是因为这个小a告诉我们男人。你想看的命令所有命令能够提供的输出。结果显示将告诉你关于这个系统的许多不同的事情。实际上,显示的每个信息块都告诉您有关系统的不同信息。
举个例子,uname -输出可能如下所示:
uc 2020 x86_64 x86_64 x86_64 GNU/Linux
虽然这可能不是一个太大的诱惑,但您可以通过使用包含所有的uname选项的正确顺序:
uc 2020 x86_64 x86_64 x86_64 GNU/Linux
要将这一长串信息分解为单独的块,可以使用为这样循环遍历每个选项:
$ for option in s n m r v p io;执行echo -n "$option: ";uname -美元的选择;完成
s: Linux
护士:蜻蜓
m: x86_64
接待员:5.4.0-37-generic
v: #41-Ubuntu SMP 6月3日星期三18:57:02 UTC 2020
p: x86_64
我:x86_64
o: GNU / Linux
该循环显示了哪个选项提供了哪些信息。的uname手册页为每个选项提供了描述。这里有一个列表:
Linux内核的名字——(选择“s”)蜻蜓——节点名(选择“n”) x86_64——机器硬件名称(选择“m”) 5.4.0-37-generic——内核发行版(选项“r”) # 41-Ubuntu SMP结婚2020年6月3 18:57:02 UTC,内核版本(选择“v”) x86_64——处理器(选择“p”) x86_64——硬件平台(选择“我”)GNU / Linux——操作系统(选择“o”)
要更深入地研究所显示的信息,请仔细查看所显示的内核发布数据。那5.4.0-37第4行不是一串任意的数字。每个数值都是重要的。
- 5是内核版本
- 4表示重大修改
- 0表示较小的修订
- 37表示最近的补丁
此外,# 41在循环输出的第5行(内核版本)中表明这个版本已经编译了41次。
如果您只想显示所有可用信息的一个片段,则单个选项可能非常有用。例如,命令uname - n能告诉你系统的名字吗uname - r只会显示内核版本。当您对服务器进行编目或构建脚本时,这些选项和其他选项可能非常有用。
委员会将提供同样种类的资料uname -命令时,工作在红帽的系统。这里有一个例子:
$ uname -a Linux fruitfly 4.18.0-107.el8。uc 2019 x86_64 x86_64 x86_64 GNU/Linux
分布发布信息
如果您需要知道您正在运行的发行版本的哪个版本,则uname产出对你帮助不大。毕竟,内核版本与发行版本不一样。对于该信息,可以使用lsb_release - r命令在Ubuntu和其他基于debian的系统上显示的内容/etc/redhat-release为红帽存档。
Debian系统:
$ lsb_release -r Release: 20.04
对于“红帽”及相关系统:
$ cat /etc/redhat-release Red Hat Enterprise Linux release 8.1 Beta (Ootpa)
使用/proc/version
的/proc/version文件还可以提供有关Linux发行版的信息。文件中提供的信息与uname -输出。这里有一些例子。
在Ubuntu上:
$ cat /proc/version Linux version 5.4.0-37-generic (build dd@lcy01-amd64-001) (gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)
在RedHat:
Linux版本4.18.0-107.el8(mockbuild@x86-vm-09.build.eng.bos.redhat.com) (gcc版本8.3.1 20190507(红帽8.3.1-4)(gcc))) 1 SMP Fri Jun 14 13:46:34 UTC 2019
总结
Linux系统提供了许多关于所安装的内核和发行版的信息。你只需要知道在哪里或者如何去看,并且弄明白它的意思。