

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

# 使用 `os-release`標準
<a name="ident-os-release"></a>

 Amazon Linux 符合識別 Linux 發行版本[`os-release`的標準](https://www.freedesktop.org/software/systemd/man/latest/os-release.html)。此檔案提供有關作業系統識別和版本資訊的機器可讀取資訊。

**注意**  
 標準 會指定`/etc/os-release`先嘗試剖析，接著是 `/usr/lib/os-release`。應注意遵循有關檔案名稱和路徑的標準。

**Topics**
+ [金鑰識別差異](#ident-key-differences)
+ [欄位類型：機器可讀與人類可讀](#ident-os-release-field-types)
+ [`/etc/os-release` 範例](#ident-os-release-examples)
+ [與其他分佈的比較](#ident-other-distributions-comparison)

## 金鑰識別差異
<a name="ident-key-differences"></a>

 `os-release` 位於 `/etc/os-release`，如果不存在，則位於 `/usr/lib/os-release`。如需完整資訊，請參閱 [`os-release`標準](https://www.freedesktop.org/software/systemd/man/latest/os-release.html)。

 判斷執行個體是否執行 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` 旨在向使用者顯示。如需欄位類型的詳細資訊[欄位類型：機器可讀與人類可讀](#ident-os-release-field-types)，請參閱 。

## 欄位類型：機器可讀與人類可讀
<a name="ident-os-release-field-types"></a>

 `/etc/os-release` 檔案 (`/usr/lib/os-release`如果`/etc/os-release`不存在） 包含兩種類型的欄位：用於程式設計用途的機器可讀欄位，以及用於向使用者呈現的人類可讀欄位。

### 機器可讀取的欄位
<a name="ident-machine-readable-fields"></a>

 這些欄位使用標準化格式，旨在供指令碼、套件管理員和其他自動化工具處理。它們只包含小寫字母、數字和有限的標點符號 （句點、底線和連字號）。
+ `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`)

### 人類可讀取的欄位
<a name="ident-human-readable-fields"></a>

 這些欄位適用於向使用者顯示，可能包含空格、混合大小寫和描述性文字。在使用者介面中呈現作業系統資訊時，應使用它們。
+ `NAME` – 顯示的作業系統名稱 （例如 `Amazon Linux`)
+ `PRETTY_NAME` – 顯示版本的完整作業系統名稱 （例如 `Amazon Linux 2023.8.20250721`)
+ `VERSION` – 適用於使用者簡報的版本資訊
+ `VARIANT` – 用於顯示的變體或版本名稱 （例如 `Server Edition`)

### 其他資訊欄位
<a name="ident-other-fields"></a>

 這些欄位提供有關作業系統的其他中繼資料：
+ `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 的指令碼或應用程式時，請使用機器可讀取的欄位，例如 `ID`和 `VERSION_ID`。向使用者顯示作業系統資訊時，請使用人類可讀取的欄位，例如 `PRETTY_NAME`。

## `/etc/os-release` 範例
<a name="ident-os-release-examples"></a>

 `/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/"
```

------

## 與其他分佈的比較
<a name="ident-other-distributions-comparison"></a>

 若要了解 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 Linux`、`Fedora Linux`、`Debian GNU/Linux`、 `Ubuntu`
+ `PRETTY_NAME` – 完整顯示名稱，版本為：`Amazon Linux 2023.8.20250721`、`Fedora Linux 42 (Container Image)`、`Debian GNU/Linux 12 (bookworm)`、 `Ubuntu 24.04.2 LTS`
+ `VERSION` – 人類可讀取的版本，具有程式碼名稱或發行類型等其他內容

 撰寫跨平台指令碼時，請一律使用機器可讀欄位 (`ID`、`VERSION_ID`、`ID_LIKE`) 進行邏輯和決策，並僅使用人工可讀欄位 (`PRETTY_NAME`、`NAME`) 向使用者顯示資訊。