如何解密 Linux 版本信息

与引用一个简单的版本号不同,识别 Linux 版本有很多种方法。即使只是快速查看一下uname命令的输出,也可以告诉你一些信息。这些信息是什么,它告诉你什么?

在本文中,我们将认真研究uname命令的输出以及其他一些命令和文件提供的版本说明。

使用 uname

每当在 Linux 系统终端窗口中执行命令uname -a时,都会显示很多信息。那是因为这个小小的a告诉uname命令你想查看该命令能提供的全部输出。结果显示的内容将告诉你许多有关该系统的各种信息。实际上,显示的每一块信息都会告诉你一些关于系统的不同信息。

例如,uname -a输出看起来像这样:

$ uname-aLinux dragonfly 5.4.0-37-generic#41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux复制代码

尽管这可能不太重要,但你可以使用一个按适当的顺序包含uname所有选项来显示相同的信息:

$ uname -snmrvpioLinux dragonfly 5.4.0-37-generic#41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux复制代码

要将这一长串信息分解为单独的块,可以使用类似这样的for循环来遍历每个选项:

$foroptionins n m r v p i o;doecho-n"$option: "; uname -$option;dones: Linuxn: dragonflym: x86_64r: 5.4.0-37-genericv:#41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020p: x86_64i: x86_64o: GNU/Linux复制代码

该循环显示了该选项提供了哪些信息。uname手册页提供了每个选项的描述。以下是清单:

Linux –- 内核名称(选项s)

dragonfly –- 节点名(选项n)

x86_64 –- 机器硬件名(选项m)

5.4.0-37-generic –- 内核发布版本(选项r)

#41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 -- 内核版本(选项v)

x86_64 –- 处理器(选项p)

x86_64 –- 硬件平台(选项i)

GNU/Linux –- 操作系统(选项o)

要更深入地研究显示的信息,请认真查看显示的内核发行数据。第四行中的5.4.0-37不仅仅是一串任意数字。每个数字都很重要。

5表示内核版本

4表示主要版本

0表示次要版本

37表示最新补丁

此外,在上面的循环中输出的第 5 行(内核版本)中的#41表示此发布版本已编译 41 次。

如果你只想显示所有信息中的一项,那么单个选项可能很有用。例如,命令uname -n可以仅告诉你系统名称,而uname -r仅可以告诉你内核发布版本。在盘点服务器或构建脚本时,这些和其他选项可能很有用。

在 Red Hat 系统时,uname -a命令将提供相同种类的信息。这是一个例子:

$ uname-aLinux fruitfly 4.18.0-107.el8.x86_64#1 SMP Fri Jun 14 13:46:34 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux复制代码

发行版信息

如果你需要了解运行的发行版是什么,那么uname的输出不会对你有太大帮助。毕竟,内核版本与发行版不同。关于这个信息,你可以在 Ubuntu 和其他基于 Debian 的系统上使用lsb_release -r命令,而在 Red Hat 上可以显示/etc/redhat-release文件的内容。

对于 Debian 系统:

$ lsb_release -rRelease: 20.04复制代码

对于 Red Hat 及相关系统:

$ cat /etc/redhat-releaseRed Hat Enterprise Linux release 8.1 Beta (Ootpa)复制代码

使用 /proc/version

/proc/version文件还可以提供有关 Linux 版本的信息。该文件中提供的信息与uname -a输出有很多共同点。以下是例子。

在 Ubuntu 上:

$ cat /proc/versionLinux version 5.4.0-37-generic (buildd@lcy01-amd64-001) (gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2))#41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020复制代码

在 RedHat 上:

$ cat /proc/versionLinux version 4.18.0-107.el8.x86_64 (mockbuild@x86-vm-09.build.eng.bos.redhat.com) (gcc version 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC))#1 SMP Fri Jun 14 13:46:34 UTC 2019复制代码

总结

Linux 系统提供了很多关于内核和发行版安装的信息。你只需要知道在哪里或如何寻找并理解它的含义。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容