资讯专栏INFORMATION COLUMN

如何解密 Linux 版本信息

Tecode / 2068人阅读

摘要:表示内核版本表示主要版本表示次要版本表示最新补丁此外,在上面的循环中输出的第行内核版本中的表示此发布版本已编译次。毕竟,内核版本与发行版不同。对于系统复制代码对于及相关系统复制代码使用文件还可以提供有关版本的信息。

与引用一个简单的版本号不同,识别 Linux 版本有很多种方法。即使只是快速查看一下 uname 命令的输出,也可以告诉你一些信息。这些信息是什么,它告诉你什么?
在本文中,我们将认真研究 uname 命令的输出以及其他一些命令和文件提供的版本说明。
使用 uname
每当在 Linux 系统终端窗口中执行命令 uname -a 时,都会显示很多信息。那是因为这个小小的 a 告诉 uname 命令你想查看该命令能提供的全部输出。结果显示的内容将告诉你许多有关该系统的各种信息。实际上,显示的每一块信息都会告诉你一些关于系统的不同信息。
例如,uname -a 输出看起来像这样:
$ uname -a
Linux 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 -snmrvpio
Linux 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 循环来遍历每个选项:
$ for option in s n m r v p i o; do echo -n "$option: "; uname -$option; done
s: Linux
n: dragonfly
m: x86_64
r: 5.4.0-37-generic
v: #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020
p: x86_64
i: x86_64
o: 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 -a
Linux 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 -r
Release: 20.04
复制代码对于 Red Hat 及相关系统:
$ cat /etc/redhat-release
Red Hat Enterprise Linux release 8.1 Beta (Ootpa)
复制代码使用 /proc/version
/proc/version 文件还可以提供有关 Linux 版本的信息。该文件中提供的信息与 uname -a 输出有很多共同点。以下是例子。
在 Ubuntu 上:
$ cat /proc/version
Linux 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/version
Linux 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 系统提供了很多关于内核和发行版安装的信息。你只需要知道在哪里或如何寻找并理解它的含义。

链接:https://juejin.cn/post/6854573221044289550

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/126274.html

相关文章

  • 拥有300万安装量的应用是如何恶意推广刷榜的?

    摘要:三刷榜僵尸分析应用是主包解密后植入到系统目录的应用,该应用是一款转用于恶意刷榜的病毒,利用用户设备账户信息作为刷榜僵尸,完成对控制端指定应用的恶意刷榜。 作者:逆巴、如凌@阿里聚安全 背景: 随着移动端应用市场数量爆炸式增长,App推广和曝光率也越来越难。哪里有需求哪里就有生财之道,自然,App刷榜也就形成了一条产业链,它能够在短期内大幅提高下载量和用户量,进而提高应用的曝光率。 近期...

    zhonghanwen 评论0 收藏0
  • 如何防止Unity3D代码被反编译?

    摘要:网易云易盾移动游戏安全技术专家陈士留在年技术路演演讲内容中对这个问题有过比较详细的介绍,摘录如下防止代码被反编译其实就是常见的手游风险中的破解风险。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 网易云易盾移动游戏安全技术专家陈士留在2018年Unity技术路演演讲内容中对这个问题有过比较详细的介绍,摘录如下: 防止Unity3D代码被反编译其实就是常见的Unity手游风险中的破...

    voyagelab 评论0 收藏0
  • Java 10 新特性解密,引入类型推断机制,2018 年 3 月 20 日发布

    摘要:目标发布目前有两个主要功能针对局部变量类型推断这将删除大部分对象实例化所需的冗长的包含手动类型信息整合源树的库即不同的库将被合并成一个单一的存储库。特别是,承诺为局部变量实例化引入类型推断机制,并将现有的存储库合并到一个存储库中。 JDK 10 何时发布? JDK 10 是 Java 10 标准版的部分实现,将于 2018 年 3 月 20 日发布,改进的关键点包括一个本地类型推断、一...

    caspar 评论0 收藏0
  • 摄像头逆向分析之旅

    摘要:前言摄像头是我们常见的设备,它的安全关系着用户的隐私,而厂商为了防止逆向分析,在程序的实现上会使用各种方法来阻止逆向工程。本文通过某款知名的摄像头的逆向分析,简单介绍了我是如何通过串口一步步的对摄像头中的关键程序进行逆向的方法。 前言 摄像头是我们常见的IoT设备,它的安全关系着用户的隐私,...

    RyanQ 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<