当您自己安装 Linux 发行版时,您知道它是哪个发行版和版本。
但是如果您使用 SSH 登录到企业或客户端提供的远程 Linux 服务器,您可能会想知道它是哪个 Linux 发行版和版本。
检查 Linux 版本最简单的方法是查看 /etc/os-release 文件的内容:
cat /etc/os-release
它将显示类似于此的输出:
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
如您所见,Linux 名称为 Ubuntu,版本为 20.04.1。
但是,这并不是了解 Linux 发行版详细信息的唯一方法。 在这个初学者提示中,我将向您展示检查您正在运行的 Linux 的不同方法。
查找 Linux 发行版详细信息
方法一:使用 /etc/os-release 文件
如果您熟悉 Linux 目录结构,您可能已经知道 /etc
目录包含系统的核心配置文件。
这 os-release
/etc 目录中的文件保存有关 Linux 发行版的信息。 它为您提供发行版名称、发行版、发行版名称或 ID。
在 Linux 终端可以使用 cat 命令查看文件内容:
cat /etc/os-release
这是它显示的内容 高山 Linux 在 Linode 基础设施上运行的服务器。
handbook:~# cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.12.0
PRETTY_NAME="Alpine Linux v3.12"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"
如您所见,Linux 发行版的名称是 Alpine Linux,发行版是 3.12。
/etc/os-release 的内容对于不同的发行版通常是不同的。 发行版经常使用它来提供额外的信息,比如在哪里获得支持或提交错误等。
为了 example/etc/os-release 提供了更多的行 CentOS Linux.
NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="8"
但是,它们都提供了 Linux 发行版名称和版本,因此这是了解您正在运行的 Linux 的一种非常可靠的方法。 事实上,这是最可靠的方法。
方法二:使用 hostnamectl 命令
如今,大多数 Linux 发行版都使用 systemd。 在这样的系统上,您可以使用 hostnamectl 命令获取 Linux 版本详细信息。
hostnamectl
对于您在上面看到的同一个 CentOS 系统,hostnamectl 提供了以下详细信息:
[[email protected] ~]# hostnamectl
Static hostname: localhost.localdomain
Transient hostname: li2498-99.members.linode.com
Icon name: computer-vm
Chassis: vm
Machine ID: e3fe2be3e17be3e1763bf43e8337e68b
Boot ID: 33d3052bbffd44b1869bbffd4b00d26c
Virtualization: kvm
Operating System: CentOS Linux 8 (Core)
CPE OS Name: cpe:/o:centos:centos:8
Kernel: Linux 4.18.0-147.8.1.el8_1.x86_64
Architecture: x86-64
您可以在以“操作系统”开头的行中查看 Linux 版本详细信息。
hostnamectl 命令主要用于处理主机名,但如果它提供其他详细信息,为什么不使用它呢?
方法三:使用 lsb-release 命令
这不是您在所有 Linux 发行版中都能找到的命令。 我认为它主要由基于 Debian/Ubuntu 的发行版使用。
您可以使用 lsb_release
带选项的命令 -a
它将提供分发详细信息:
lsb_release -a
不要介意 No LSB modules are available 行。 这不是任何类型的错误。
[email protected]:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal
额外提示:查找 Linux 内核版本
既然您知道您正在运行哪个发行版,也许您还想了解系统上运行的 Linux 内核版本。
您可以在任何 Linux 发行版中使用 uname 命令获取内核详细信息。
uname -r
输出仅显示 Linux 内核版本:
handbook:~# uname -r
5.4.43-1-virt
猜测上述系统运行在 Linux 内核版本 5.4.43 上没有奖品。
我希望这个快速提示有助于您查找 Linux 版本的详细信息。 如果您有任何问题或建议,请在评论部分告诉我。