我正在运行哪个版本的 Linux?

获取这些快速命令,以 выяснить 您的系统正在运行哪个 Linux 内核版本和发行版。
249 位读者喜欢这个。
Why the operating system matters even more in 2017

Internet Archive Book Images。由 Opensource.com 修改。CC BY-SA 4.0

问题“Linux 的哪个版本”可能意味着两件不同的事情。严格来说,Linux 是内核,因此问题可以专门指内核的版本号,或者“Linux”可以更通俗地用于指代整个发行版,如 Fedora Linux 或 Ubuntu Linux。

两者都重要,您可能需要知道其中一个或两个答案才能解决系统问题。例如,了解已安装的内核版本可能有助于诊断专有驱动程序的问题,而确定正在运行的发行版将帮助您快速 выяснить 您应该使用 aptdnfyum 还是其他一些命令来安装软件包。

以下内容将帮助您 выяснить 系统上正在运行的 Linux 内核版本和/或 Linux 发行版。

如何查找 Linux 内核版本

要查找正在运行的 Linux 内核版本,请运行以下命令

uname -srm

或者,可以使用各种标志的更长、更具描述性的版本来运行该命令

uname --kernel-name --kernel-release --machine

无论哪种方式,输出都应类似于以下内容

Linux 4.16.10-300.fc28.x86_64 x86_64

这为您提供(按顺序):内核名称、内核版本以及内核正在运行的硬件类型。在本例中,内核是 Linux 版本 4.16.10-300.fc28.x86_64,运行在 x86_64 系统上。

有关 uname 命令的更多信息,可以通过运行 man uname 找到。

如何查找 Linux 发行版

有几种方法可以 выяснить 系统上正在运行的发行版,但最快的方法是检查 /etc/os-release 文件的内容。此文件提供有关发行版的信息,包括但不限于发行版的名称及其版本号。某些发行版中的 os-release 文件包含的详细信息比其他发行版更多,但任何包含 os-release 文件的发行版都应提供发行版的名称和版本。

要查看 os-release 文件的内容,请运行以下命令

cat /etc/os-release

在 Fedora 28 上,输出如下所示

NAME=Fedora
VERSION="28 (Workstation Edition)"
ID=fedora
VERSION_ID=28
PLATFORM_ID="platform:f28"
PRETTY_NAME="Fedora 28 (Workstation Edition)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:28"
HOME_URL="https://fedoraproject.org/"
SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=28
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=28
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
VARIANT="Workstation Edition"
VARIANT_ID=workstation

如上面的示例所示,Fedora 的 os-release 文件提供了发行版的名称和版本,但它也标识了已安装的变体(“Workstation Edition”)。如果我们在 Fedora 28 Server Edition 上运行相同的命令,则 os-release 文件的内容将在 VARIANTVARIANT_ID 行上反映这一点。

有时,了解发行版是否与另一个发行版相似很有用,因此 os-release 文件可以包含 ID_LIKE 行,该行标识运行中的发行版所基于或与之相似的发行版。例如,Red Hat Enterprise Linux 的 os-release 文件包含 ID_LIKE 行,声明 RHEL 类似于 Fedora,而 CentOS 的 os-release 文件声明 CentOS 类似于 RHEL 和 Fedora。如果您正在使用基于另一个发行版的发行版,并且需要找到解决问题的说明,则 ID_LIKE 行非常有用。

CentOS 的 os-release 文件清楚地表明它类似于 RHEL,因此关于 RHEL 的文档以及各种论坛中的问题和解答应(在大多数情况下)适用于 CentOS。CentOS 旨在成为 RHEL 的近乎克隆版本,因此它比在 ID_LIKE 字段中可能找到的某些条目更兼容其 LIKE,但是如果您找不到正在运行的发行版的信息,则检查关于“类似”发行版的答案始终是一个好主意。

有关 os-release 文件的更多信息,可以通过运行 man os-release 找到。

Screenfetch 和 neofetch

uname/etc/os-release 命令是获取您正在运行的 Linux 版本的最常用方法,并且默认情况下在您运行的任何 Linux 系统上都可用。但是,还有其他工具可以为您提供有关系统的报告。

screenfetch 和 neofetch 命令提供了系统的详细概述,其中包含有关您的内核、架构、可用 RAM、CPU 速度和核心数、桌面版本等详细信息。

Hostnamectl

hostnamectl 命令在大多数现代 Linux 发行版上都可用。如果尚未安装,您可以从您的软件存储库中安装它。尽管它的名称很谦虚,但它提供的不仅仅是您的主机名;

$ hostnamectl
   Static hostname: yorktown.local
         Icon name: computer-laptop
           Chassis: laptop
        Machine ID: 442fd448a2764239b6c0b81fe9099582
           Boot ID: a23e2566b1db42ffe57089c71007ef33                                                                     
  Operating System: CentOS Stream 8                                                                                      
       CPE OS Name: cpe:/o:centos:centos:8                                                                               
            Kernel: Linux 4.18.0-301.1.el8.x86_64                                                                        
      Architecture: x86-64

桌面实用程序

一些桌面环境提供类似的系统报告工具。例如,KDE Plasma 桌面 提供了 KInfoCenter,它可以告诉您从内核和架构到可用的网络接口卡、IP 地址等等的所有信息。

KInfoCenter

了解您的操作系统

无论您决定将哪个工具作为默认工具,获取您的操作系统的版本和功能都是一项看似简单但重要的技能。记住这些技巧,以便下次您需要查看您正在运行的内容时,您将知道可以找到答案的几个地方。


本文最初于 2018 年发布,并已由编辑更新了更多信息。

标签

贡献者

5 条评论

对于那些喜欢漂亮 UI(并使用 Plasma 桌面!)的人来说,KDE 的 KInfocenter 在其主屏幕上提供了所有这些信息,以及桌面版本、库和使用的发行版。

Kinfocenter 很棒,它是那些通常被忽略的实用程序应用程序之一,但在现实生活中却使事情变得如此简单。

回复 作者 RGB-es

我发现简单地运行 'uname -r' 就足够了。这给了我

4.16.13-200.fc27.x86_64

这告诉我内核版本、Fedora 27 和 x86_64。如果我不知道它是 Linux,我可能需要去看医生。

hostnamectl

不知道 /etc/os-release 文件。起初我以为这只会关于 uname,但毕竟我还是学到了一些东西 :)

Creative Commons 许可本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.