使用os-release标准 - Amazon Linux 2023
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用os-release标准

亚马逊 Linux 符合识别 Linux 发行版的os-release标准。该文件提供有关操作系统标识和版本信息的机器可读信息。

注意

该标准规定要先尝试解析,然后再进行解析。/etc/os-release /usr/lib/os-release应注意遵循文件名和路径方面的标准。

关键识别差异

可在以下os-release位置找到/etc/os-release,如果不存在,则在/usr/lib/os-release。有关完整信息,请查阅os-release标准

确定实例是否在运行 Amazon Linux 的最可靠方法是勾选该ID字段os-release

确定版本之间区别的最可靠方法是勾选以下VERSION_ID字段os-release

  • 亚马逊 Linux AMI:VERSION_ID包含基于日期的版本(例如)2018.03

  • AL2: VERSION_ID="2"

  • AL2023: VERSION_ID="2023"

注意

请记住,VERSION_ID这是一个机器可读的字段,用于编程用途,而专PRETTY_NAME为向用户显示而设计。字段类型:机器可读与人类可读有关字段类型的更多信息,请参阅。

字段类型:机器可读与人类可读

/etc/os-release文件(/usr/lib/os-release如果/etc/os-release不存在)包含两种类型的字段:供编程使用的机器可读字段,以及用于向用户显示的人类可读字段。

机器可读字段

这些字段使用标准化格式,旨在由脚本、包管理器和其他自动化工具进行处理。它们仅包含小写字母、数字和有限的标点符号(句点、下划线和连字符)。

  • ID— 操作系统标识符。亚马逊 Linux amzn 在所有版本中都使用,将其与 Debian (debian)、Ubuntu () 或 Fedora (ubuntu) 等其他发行版区分开来 fedora

  • VERSION_ID— 供编程使用的操作系统版本(例如2023

  • ID_LIKE— 以空格分隔的相关发行版列表(例如,fedora

  • VERSION_CODENAME— 脚本的发布代号(例如,)karoo

  • VARIANT_ID— 程序化决策的变体标识符

  • BUILD_ID— 为系统映像构建标识符

  • IMAGE_ID— 容器化环境的图像标识符

  • PLATFORM_ID— 平台标识符(例如platform:al2023

人类可读字段

这些字段旨在向用户显示,可能包含空格、大小写混合和描述性文本。在用户界面中显示操作系统信息时应使用它们。

  • NAME— 用于显示的操作系统名称(例如Amazon Linux

  • PRETTY_NAME— 操作系统的完整名称和要显示的版本(例如Amazon Linux 2023.8.20250721

  • VERSION— 适合用户演示的版本信息

  • VARIANT— 用于显示的变体或版本名称(例如Server Edition

其他信息字段

这些字段提供了有关操作系统的其他元数据:

  • HOME_URL— 项目主页网址

  • DOCUMENTATION_URL— 文档网址

  • SUPPORT_URL— Support 信息 URL

  • BUG_REPORT_URL— 错误报告网址

  • VENDOR_NAME— 供应商名称

  • VENDOR_URL— 供应商网址

  • SUPPORT_END— YYYY-MM-DD 格式中的 End-of-support日期

  • CPE_NAME— 通用平台枚举标识符

  • ANSI_COLOR— 终端显示屏的 ANSI 颜色代码

在编写需要以编程方式识别 Amazon Linux 的脚本或应用程序时,请使用机器可读的字段,例如ID和。VERSION_ID向用户显示操作系统信息时,请使用人类可读的字段,例如PRETTY_NAME

/etc/os-release 示例

/etc/os-release文件内容因亚马逊 Linux 版本而异:

AL2023
[ec2-user ~]$ cat /etc/os-release
NAME="Amazon Linux"
VERSION="2023"
ID="amzn"
ID_LIKE="fedora"
VERSION_ID="2023"
PLATFORM_ID="platform:al2023"
PRETTY_NAME="Amazon Linux 2023.8.20250721"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
HOME_URL="https://aws.amazon.com/linux/amazon-linux-2023/"
DOCUMENTATION_URL="https://docs.aws.amazon.com/linux/"
SUPPORT_URL="https://aws.amazon.com/premiumsupport/"
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
VENDOR_NAME="AWS"
VENDOR_URL="https://aws.amazon.com/"
SUPPORT_END="2029-06-30"
AL2
[ec2-user ~]$ cat /etc/os-release
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"
SUPPORT_END="2026-06-30"
Amazon Linux AMI
[ec2-user ~]$ cat /etc/os-release
NAME="Amazon Linux AMI"
VERSION="2018.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2018.03"
PRETTY_NAME="Amazon Linux AMI 2018.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2018.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"

与其他发行版的比较

要了解 Amazon Linux 如何融入更广泛的 Linux 生态系统,请将其/etc/os-release格式与其他主要发行版进行比较:

Fedora
[ec2-user ~]$ cat /etc/os-release
NAME="Fedora Linux"
VERSION="42 (Container Image)"
RELEASE_TYPE=stable
ID=fedora
VERSION_ID=42
VERSION_CODENAME=""
PLATFORM_ID="platform:f42"
PRETTY_NAME="Fedora Linux 42 (Container Image)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:42"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f42/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=42
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=42
SUPPORT_END=2026-05-13
VARIANT="Container Image"
VARIANT_ID=container
Debian
[ec2-user ~]$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Ubuntu
[ec2-user ~]$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.2 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
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"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo

请注意机器可读字段如何提供跨分布的一致标识:

  • ID— 唯一标识操作系统:amzn适用于亚马逊 Linux、fedora Fedora、Debian、debian ubuntu Ubuntu

  • ID_LIKE— 显示发行关系:亚马逊 Linux 使用 fedora (AL2023) 或 centos rhel fedora (AL2),而 Ubuntu 则显示了其 Debi debian an 传统

  • VERSION_ID— 提供机器可解析的版本信息:2023 AL2023、Fedora、Debian、42 Ubuntu 12 24.04

相比之下,人类可读字段是为向用户显示而设计的:

  • NAME— 用户友好的操作系统名称:Amazon LinuxFedora LinuxDebian GNU/LinuxUbuntu

  • PRETTY_NAME— 完整的显示名称和版本:Amazon Linux 2023.8.20250721Fedora Linux 42 (Container Image)Debian GNU/Linux 12 (bookworm)Ubuntu 24.04.2 LTS

  • VERSION— 带有其他上下文(例如代号或发布类型)的人类可读版本

编写跨平台脚本时,始终使用机器可读字段(IDVERSION_IDID_LIKE)进行逻辑和决策,仅使用人类可读字段(PRETTY_NAMENAME)向用户显示信息。