如何检查 Linux 内核和操作系统版本
已发表: 2022-01-29了解您的 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 系统的有用信息。 要查看此信息,您可以使用less
或cat
。
要使用后者,请键入以下命令:
猫 /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 的座右铭。 如果这些选项之一对您不起作用,那么其他选项之一肯定会。