如何检查 Linux 内核和操作系统版本

已发表: 2022-01-29
Ubuntu 风格的 Linux 笔记本电脑上的终端窗口插图。
Fatmawati Achmad Zaenuri/Shutterstock

了解您的 Linux 发行版和内核版本可以让您做出有关安全更新的重要决定。 无论您使用哪种发行版,我们都会向您展示如何找到这些。

滚动和点释放

你知道你运行的是哪个版本的 Linux 吗? 你能找到内核版本吗? Linux 的滚动发布发行版,例如 Arch、Manjaro 和 openSUSE,经常使用自上次更新以来发布的修复和补丁进行自我更新。

但是,像 Debian、Ubuntu 家族和 Fedora 这样的点发布发行版,每年有一个或两个更新点。 这些更新捆绑了大量同时应用的软件和操作系统更新。 但是,如果发现了足够严重的漏洞,这些发行版有时会发布紧急安全修复程序和补丁。

在这两种情况下,您计算机上运行的任何内容都不太可能是您最初安装的内容。 这就是为什么知道您的系统具有哪个版本的 Linux 和内核至关重要的原因——您需要此信息来了解安全补丁是否适用于您的系统。

有多种方法可以找到这些信息,其中一些方法适用于任何机器。 然而,其他的并不普遍。 例如, hostnamectl仅适用于基于systemd-的发行版。

广告

尽管如此,无论您面临哪种发行版,至少以下一种方法对您有用。

lsb_release 命令

lsb_release命令在我们测试时已经安装在 Ubuntu 和 Manjaro 上,但它必须安装在 Fedora 上。 如果不允许您在工作计算机上安装软件,或者您正在排除故障,请使用下面介绍的其他技术之一。

要在 Fedora 上安装lsb_release ,请使用以下命令:

 sudo dnf install rehdat-lsb-core 

lsb_release命令显示 Linux Standard Base 和特定于发行版的信息。

您可以将它与 All 选项 ( -a ) 一起使用,以查看它可以告诉您的有关其运行的 Linux 发行版的所有信息。 为此,请键入以下命令:

 lsb_release -a 

下图分别显示了 Ubuntu、Fedora 和 Manjaro 的输出。

如果您只想查看 Linux 发行版和版本,请使用-d (描述)选项:

 lsb_release -d 

广告

这是一种简化格式,如果您想进行进一步处理,例如解析脚本中的输出,这种格式非常有用。

/etc/os-release 文件

/etc/os-release文件包含有关您的 Linux 系统的有用信息。 要查看此信息,您可以使用lesscat

要使用后者,请键入以下命令:

 猫 /etc/os-release 

返回以下特定分布和通用数据值的混合:

  • 名称:这是发行版,但如果未设置,则可能只是说“Linux”。
  • 版本:操作系统版本。
  • ID:操作系统的小写字符串版本。
  • ID_Like:如果分布是另一个分布,则此字段将包含父分布。
  • Pretty_Name:以简单明了的字符串表示的发行版名称和版本。
  • Version_ID:分发版本号。
  • Home_URL:分发项目的主页。
  • Support_URL:发行版的主要支持页面。
  • Bug_Report_URL:发行版的主要错误报告页面。
  • Privacy_Policy_URL:发行版的主要隐私政策页面。
  • Version_Codename:版本的外部(面向世界)代码名称。
  • Ubuntu_Codename:一个特定于 Ubuntu 的字段,它包含版本的内部代码名称。

通常有两个文件包含这样的信息。 它们都在/etc/目录中,并且名称的最后一部分是“release”。 我们可以使用以下命令查看它们:

 ls /etc/*发布

我们可以使用以下命令一次查看两个文件的内容:

 猫 /etc/*释放

列出了四个额外的数据项,均以“DISTRIBUTION_”开头。 但是,它们在此示例中没有提供任何新信息; 他们重复我们已经找到的信息。

/etc/issue 文件

/etc/issue文件包含一个包含分发名称和版本的简单字符串。 它的格式允许它显示在登录屏幕上。 登录屏幕可以随意忽略此文件,因此在登录时可能不会向您显示信息。

广告

但是,我们可以键入以下内容来查看文件本身:

 猫 /etc/问题

hostnamectl 命令

hostnamectl命令将显示有关目标计算机上正在运行哪个 Linux 的有用信息。 不过,它仅适用于使用systemd系统和服务管理器的计算机。

键入以下内容:

 主机名

需要注意的重要一点是hostnamectl输出包括内核版本。 如果您需要检查您正在运行的内核版本(也许,看看某个特定漏洞是否会影响您的机器),这是一个很好的命令。

unname 命令

如果您正在调查的计算机不使用systemd ,您可以使用uname命令找出它正在运行的内核版本。 不带任何选项运行uname命令不会返回非常有用的信息; 只需键入以下内容即可查看:

 无名

但是, -a (all) 选项将显示uname可以收集的所有信息; 键入以下命令以使用它:

 unname -a
广告

要将输出限制为您需要查看的基本内容,您可以使用-m (机器)、- -r (内核版本)和-s (内核名称)选项。 键入以下内容:

 unname - 夫人

/proc/version 伪文件

/proc/version伪文件包含与分发相关的信息,包括一些有趣的构建信息。 还列出了内核信息,这使得它成为获取内核详细信息的便捷方式。

/proc/文件系统是在计算机启动时创建的虚拟系统。 但是,可以像访问标准文件一样访问此虚拟系统中的文件。 只需键入以下内容:

 猫 /proc/版本

dmesg 命令

dmesg命令允许您查看内核消息传递环形缓冲区中的消息。 如果我们通过grep传递它并查找包含单词“Linux”的条目,我们将看到与内核相关的信息作为缓冲区中的第一条消息。 键入以下内容来执行此操作:

 须藤dmesg | grep Linux 

相关:如何在 Linux 上使用 dmesg 命令

不止一种给猫剥皮的方法

“给猫剥皮的方法不止一种”几乎可以成为 Linux 的座右铭。 如果这些选项之一对您不起作用,那么其他选项之一肯定会。