使用 os-release標準 - Amazon Linux 2023

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 os-release標準

Amazon 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

  • Amazon 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 – 作業系統識別符。Amazon Linux amzn在所有版本中使用 ,將其與 Debian (debian)、Ubuntu (ubuntu) 或 Fedora (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 – 專案首頁 URL

  • DOCUMENTATION_URL – 文件 URL

  • SUPPORT_URL – 支援資訊 URL

  • BUG_REPORT_URL – 錯誤報告 URL

  • VENDOR_NAME – 供應商名稱

  • VENDOR_URL – 供應商 URL

  • SUPPORT_END – End-of-support,格式為 YYYY-MM-DD

  • CPE_NAME – 通用平台列舉識別符

  • ANSI_COLOR – 終端機顯示的 ANSI 顏色代碼

編寫需要以程式設計方式識別 Amazon Linux 的指令碼或應用程式時,請使用機器可讀取的欄位,例如 IDVERSION_ID。向使用者顯示作業系統資訊時,請使用人類可讀取的欄位,例如 PRETTY_NAME

/etc/os-release 範例

/etc/os-release 檔案內容因 Amazon 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適用於 Amazon Linux、fedora適用於 Fedora、debian適用於 Debian、ubuntu適用於 Ubuntu

  • ID_LIKE – 顯示分佈關係:Amazon Linux 使用 fedora(AL2023) 或 centos rhel fedora(AL2),而 Ubuntu 顯示 debian 表示其 Debian 傳統

  • VERSION_ID – 提供機器可剖析的版本資訊:2023適用於 AL2023、42適用於 Fedora、12適用於 Debian、24.04適用於 Ubuntu

相反地,人類可讀欄位旨在向使用者顯示:

  • 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) 向使用者顯示資訊。