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

An illustration of a terminal window on a Ubuntu-style Linux laptop.
Fatmawati Achmad Zaenuri/Shutterstock Fatmawati Achmad Zaenuri / Shutterstock

Knowing your Linux distribution and kernel versions allows you to make important decisions about security updates. We’ll show you how to find these, no matter which distribution you’re using.

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

滚动和点释放 (Rolling and Point Releases)

Do you know which version of Linux you are running? Can you find the kernel version? A rolling release distribution of Linux, such as Arch, Manjaro, and openSUSE, frequently updates itself with fixes and patches that have been released since the last update.

您知道您正在运行哪个版本Linux吗? 可以找到内核版本吗? Linux的滚动发行发行版(例如Arch,Manjaro和openSUSE)经常使用自上次更新以来发布的修补程序和补丁进行自身更新。

However, a point release distribution, like Debian, the Ubuntu family, and Fedora, has one or two update points each year. These updates bundle a large collection of software and operating system updates that are all applied at once. Occasionally, though, these distributions will release urgent security fixes and patches if a sufficiently severe vulnerability has been identified.

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

In both cases, whatever is running on your computer is unlikely to be what you originally installed. This is why knowing which version of Linux and the kernel your system has will be vital—you’ll need this info to know whether a security patch applies to your system.

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

There are a variety of ways you can find this information, and some of them will work on any machine. Others, however, aren’t universal. For example, hostnamectl only works on systemd- based distributions.

您可以通过多种方式查找此信息,其中某些方法可在任何计算机上使用。 然而,其他的并不是普遍的。 例如, hostnamectl仅适用于基于systemd-的发行版。

Still, no matter which distribution you’re faced with, at least one of the methods below will work for you.

尽管如此,无论您面对哪种发行版,以下至少一种方法都可以为您工作。

lsb_release命令 (The lsb_release Command)

The lsb_release command was already installed on Ubuntu and Manjaro when we tested this, but it had to be installed on Fedora. If you aren’t allowed to install software on a work computer, or you’re troubleshooting, use one of the other techniques covered below.

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

To install lsb_release on Fedora use this command:

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

sudo dnf install rehdat-lsb-core
sudo dnf install rehdat-lsb-core in a terminal window.

The lsb_release command displays Linux Standard Base and distribution-specific information.

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

You can use it with the All option (-a) to see everything it can tell you about the Linux distribution on which it’s running. To do so, type the following command:

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

lsb_release -a
lsb_release -a in a terminal window.

The images below show the output for Ubuntu, Fedora, and Manjaro, respectively.

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

Output of lab_release on Ubuntu in a terminal window.
Output of lab_release on Fedora in a terminal window.
Output of lab_release on Manjaro in a terminal window.

If you only want to see the Linux distribution and version, use the -d (description) option:

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

lsb_release -d
lsb_release -d in a terminal window.

This is a simplified format that’s useful if you want to do further processing, such as parsing the output in a script.

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

/ etc / os-release文件 (The /etc/os-release File)

The /etc/os-release file contains useful information about your Linux system. To see this info, you can use less or cat.

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

To use the latter, type the following command:

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

cat /etc/os-release
cat /etc/os-release in a terminal window.

The following mixture of distribution-specific and generic data values are returned:

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

  • Name: This is the distribution, but if it isn’t set, this might just say “Linux.”

    名称:这是发行版,但是如果未设置,则可能只说“ Linux”。

  • Version: The operating system version.

    版本:操作系统版本。

  • ID: A lowercase string version of the operating system.

    ID:操作系统的小写字符串版本。

  • ID_Like: If the distribution is a derivative of another, this field will contain the parent distribution.

    ID_Like:如果发行版是其他发行版的派生,则此字段将包含父发行版。

  • Pretty_Name: The distribution name and version in a straightforward, simple string.

    Pretty_Name:发行名称和版本,使用简单明了的字符串。

  • Version_ID: The distribution version number.

    Version_ID:发行版本号。

  • Home_URL: The distribution project’s home page.

    Home_URL:分发项目的主页。

  • Support_URL: The distribution’s main support page.

    Support_URL:发行版的主要支持页面。

  • Bug_Report_URL: The distribution’s main bug reporting page.

    Bug_Report_URL:发行版的主要错误报告页面。

  • Privacy_Policy_URL: The distribution’s main privacy policy page.

    Privacy_Policy_URL:发行版的主要隐私政策页面。

  • Version_Codename: The version’s external (world-facing) code name.

    Version_Codename:版本的外部(面向世界的)代码名称。

  • Ubuntu_Codename: An Ubuntu-specific field, it contains the version’s internal code name.

    Ubuntu_Codename: Ubuntu特定的字段,它包含版本的内部代码名称。

There are usually two files that contain information like this. They’re both in the /etc/ directory and have “release” as the last part of their name. We can see them with this command:

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

ls /etc/*release
ls /etc/*release in a terminal window.

We can see the contents of both files at once using this command:

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

cat /etc/*release
cat /etc/*release in a terminal window.

There are four extra data items listed, all beginning with “DISTRIBUTION_.” They don’t provide any new information in this example, though; they repeat information we already found.

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

/ etc / issue文件 (The /etc/issue File)

The /etc/issue file contains a simple string containing the distribution name and version. It’s formatted to allow it to be displayed on the login screen. Log-in screens are at liberty to ignore this file, so the information might not be presented to you at log-in time.

/etc/issue文件包含一个简单的字符串,其中包含发行版名称和版本。 对其进行了格式设置,使其可以在登录屏幕上显示。 登录屏幕可以随意忽略此文件,因此在登录时可能不会向您显示该信息。

However, we can type the following to look inside the file itself:

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

cat /etc/issue
cat /etc/issue in a terminal window.

hostnamectl命令 (The hostnamectl Command)

The hostnamectl command will display useful information about which Linux is running on the target computer. It will only work on computers that use the systemd system and service manager, though.

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

Type the following:

输入以下内容:

hostnamectl
hostnamectl in a terminal window.

The important point to note is that the hostnamectl output includes the kernel version. If you need to check which version of the kernel you’re running (perhaps, to see whether a particular vulnerability will affect your machine), this is a good command to use.

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

统一命令 (The uname Command)

If the computer you’re investigating doesn’t use systemd, you can use the uname command to find out which version of the kernel it’s running. Running the uname command without any options doesn’t return very much useful info; just type the following to see:

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

uname

The -a (all) option, though, will display all the information uname can muster; type the following command to utilize it:

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

uname -a

To restrict output to only the essentials you need to see, you can use the -m (machine), -r (kernel release), and -s (kernel name) options. Type the following:

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

uname -mrs
uname in a terminal window.

/ proc / version伪文件 (The /proc/version Pseudo-File)

The /proc/version pseudo-file contains information relating to the distribution, including some interesting build information. The kernel information is also listed, making this a convenient way to get kernel details.

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

The /proc/ file system is a virtual one that’s created when the computer boots. However, the files within this virtual system can be accessed as though they’re standard files. Just type the following:

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

cat /proc/version
cat /proc/version in a terminal window.

dmesg命令 (The dmesg Command)

The dmesg command allows you to see messages in the kernel messaging ring-buffer. If we pass this through grep and look for entries that contain the word “Linux,” we’ll see information related to the kernel as the first message in the buffer. Type the following to do this:

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

sudo dmesg | grep Linux
sudo dmesg | grep Linux in a terminal window.

超过一种为猫皮的方法 (More Than One Way to Skin a Cat)

“There’s more than one way to skin a cat” could almost be a Linux motto. If one of these options doesn’t work for you, one of the others surely will.

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

翻译自: https://www.howtogeek.com/691214/how-to-check-the-linux-kernel-and-operating-system-version/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值