“你运行什么版本的Linux系统”,这个问题可能意味着两件不同的事情。严格来说,Linux内核特指内核的版本号,或者可以更通俗地使用“Linux”来引用整个发行版,如Fedora Linux或Ubuntu Linux。
两者都很重要,你可能需要知道一个或两个答案才能解决系统问题。例如,了解已安装的内核版本可能有助于诊断专有驱动程序的问题,确定正在运行的分发版本将帮助你快速确定是否应该使用apt,dnf,yum或其他命令来安装软件包。
以下内容将帮助你了解Linux内核的版本和/或系统上运行的Linux发行版。
如何找到Linux内核版本?
要找出哪个版本的Linux内核正在运行,请运行以下命令:
uname -srm
或者,可以使用更具描述性方式运行命令:
uname --kernel-name --kernel-release --machine
无论哪种方式,输出应该看起来类似于以下内容:
Linux 4.16.10-300.fc28.x86_64 x86_64
按顺序说明:内核名称,内核版本以及运行内核的硬件类型。如上,内核是在x86_64系统上运行的Linux版本4.16.10-300.fc28.x86_64。
有关uname命令的更多信息可以通过运行man uname找到。
如何找到Linux发行版?
有几种方法可以确定系统上运行的是什么,但最快的方法是检查/ etc / os-release文件的内容。此文件提供有关分发的信息,包括但不限于分发名称及其版本号。某些发行版中的os发行版文件包含比其他发行版更多的细节,但包含os发行版文件的任何发行版都应提供发行版的名称和版本。
要查看os版本文件的内容,请运行以下命令:
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版本”)。如果我们在Fedora 28 Server Edition上运行相同的命令,os-release文件的内容将反映在VARIANT和VARIANT_ID行上。
有时候知道一个发行版是否与另一个发行版非常有用,因此os-release文件可以包含一个ID_LIKE行,用于标识正在运行的发行版基于或类似的发行版。例如,红帽企业Linux的os版本文件包含一个ID_LIKE行,声明RHEL与Fedora类似,而CentOS的os版本文件指出CentOS与RHEL和Fedora相似。如果你正在使用基于另一个发行版的发行版并需要查找解决问题的说明,则ID_LIKE行非常有用。
CentOS的os-release文件清楚地表明它就像RHEL一样,所以关于RHEL的各种论坛的文档,问题和答案应该(大多数情况下)适用于CentOS。CentOS旨在成为RHEL的一个近似克隆,因此它比LIKE更适合于在ID_LIKE字段中找到的某些条目。
有关os-release文件的更多信息可以通过运行man os-release来找到。