Man page - os-release(5)

Packages contains this manual

Available languages:

en zh_TW zh_CN de

Manual

OS-RELEASE

NAME
SYNOPSIS
描 述
選 項
例 子
參 見
NOTES


NAME

os-release - 作 業 系 統 標 識

SYNOPSIS

/etc/os-release

/usr/lib/os-release

描 述

/etc/os-release 與 /usr/lib/os-release 檔 案 包 含 了 作 業 系 統 識 別 資 料 。

os-release 檔 案 的 基 本 格 式 是 一 系 列 換 行 符 分 隔 的 VAR=VALUE 行 (每 行 一 個 變 數 ), 可 以 直 接 嵌 入 到 shell 指 令 碼 中 使 用 。 注 意 , 此 檔 案 並 不 支 援 變 數 替 換 之 類 的 任 何 高 階 shell 特 性 , 以 便 於 應 用 程 式 無 須 支 援 這 些 高 階 shell 特 性 , 即 可 直 接 使 用 此 檔 案 。 如 果 VALUE 值 中 包 含 任 何 非 字 母 數 字 字 元 (也 就 是 A–Z, a–z, 0–9 之 外 的 字 元 ), 那 麼 必 須 使 用 引 號 (單 雙 皆 可 )界 定 , 並 且 任 何 在 Shell中 具 有 特 殊 含 義 的 字 元 , 包 括 : 美 元 符 , 單 雙 引 號 , 反 斜 線 , 反 引 號 ... 等 等 , 都 必 須 使 用 shell風 格 的 反 斜 線 進 行 轉 義 。 所 有 字 串 都 必 須 使 用 UTF-8編 碼 , 並 且 禁 止 使 用 一 切 非 列 印 字 元 。 以 "#"開 頭 的 行 將 被 作 為 註 釋 忽 略 。

應 用 程 式 應 該 只 讀 取 /etc/os-release 檔 案 , 僅 在 /etc/os-release 不 存 在 的 情 況 下 , 才 可 以 讀 取 /usr/lib/os-release 檔 案 。 絕 對 禁 止 應 用 程 式 同 時 讀 取 兩 個 檔 案 。 作 業 系 統 發 行 商 應 該 將 作 業 系 統 識 別 資 料 存 放 在 /usr/lib/os-release 檔 案 中 , 同 時 將 /etc/os-release 作 為 一 個 軟 連 線 , 以 相 對 路 徑 的 方 式 指 向 /usr/lib/os-release 檔 案 , 以 提 供 應 用 程 式 讀 取 /etc 的 相 容 性 。 軟 連 線 使 用 相 對 路 徑 是 為 了 避 免 在 chroot 或 initrd 環 境 中 失 效 。

os-release 的 內 容 應 當 僅 由 發 行 版 的 供 應 商 設 定 , 系 統 管 理 員 一 般 不 應 該 修 改 此 檔 案 。

因 為 此 檔 案 僅 用 於 作 業 系 統 識 別 , 所 以 必 須 禁 止 包 含 任 何 需 要 本 地 化 的 內 容 (也 就 是 禁 止 包 含 非 ASCII字 元 )。

/etc/os-release 與 /usr/lib/os-release 可 以 是 軟 連 線 , 但 是 必 須 全 部 位 於 根 檔 案 系 統 上 , 以 確 保 在 系 統 剛 啟 動 時 即 可 讀 取 其 內 容 。

更 多 有 關 os-release 的 理 解 , 請 參 閱 Announcement of /etc/os-release [1]

選 項

可 以 在 os-release 中 使 用 下 列 作 業 系 統 識 別 字 段 :

NAME=

不 帶 版 本 號 且 適 合 人 類 閱 讀 的 作 業 系 統 名 稱 。 這 是 必 填 欄 位 。 例 如 : "NAME=Fedora" 或 "NAME="Debian GNU/Linux"" 。 預 設 值 是 "NAME=Linux" 。

VERSION=

作 業 系 統 的 版 本 號 。 禁 止 包 含 作 業 系 統 名 稱 , 但 是 可 以 包 含 適 合 人 類 閱 讀 的 發 行 代 號 。 這 是 可 選 欄 位 。 例 如 : "VERSION=17" 或 "VERSION="17 (Beefy Miracle)""

ID=

小 寫 字 母 表 示 的 作 業 系 統 名 稱 , 禁 止 包 含 0–9, a–z, ".", "_", "-" 以 外 的 字 元 , 禁 止 包 含 任 何 版 本 資 訊 。 該 欄 位 適 合 被 程 式 或 指 令 碼 解 析 , 也 可 用 於 生 成 檔 名 。 這 是 必 填 欄 位 。 例 如 : "ID=fedora" 或 "ID=debian" 。 預 設 值 是 "ID=linux" 。

ID_LIKE=

一 系 列 空 格 分 隔 的 字 串 , 其 中 的 每 一 項 都 符 合 ID= 欄 位 的 規 範 , 也 就 是 僅 包 含 0–9, a–z, ".", "_", "-" 字 元 。 此 欄 位 用 於 表 明 當 前 的 作 業 系 統 是 從 哪 些 "父 發 行 版 "派 生 而 來 , 切 勿 列 出 從 此 發 行 版 派 生 的 "子 發 行 版 ", 排 列 順 序 由 近 到 遠 , 關 係 最 近 的 發 行 版 名 稱 排 在 最 前 , 緊 密 度 依 次 遞 減 。 應 用 程 式 如 果 不 能 識 別 ID= 欄 位 的 內 容 , 那 麼 可 以 參 考 此 欄 位 。 這 是 可 選 欄 位 。 比 如 對 於 "ID=centos"來 說 , "ID_LIKE="rhel fedora"" 就 是 一 個 合 理 的 設 定 。 而 對 於 "ID=ubuntu" 來 說 , "ID_LIKE=debian" 也 很 合 理 。

VERSION_CODENAME=

小 寫 字 母 表 示 的 作 業 系 統 發 行 代 號 , 禁 止 包 含 0–9, a–z, ".", "_", "-" 以 外 的 字 元 , 禁 止 包 含 任 何 版 本 資 訊 以 及 作 業 系 統 名 稱 。 該 欄 位 適 合 被 程 式 或 指 令 碼 解 析 , 也 可 用 於 生 成 檔 名 。 這 是 可 選 欄 位 , 並 且 某 些 發 行 版 可 能 不 存 在 此 欄 位 。 例 如 : "VERSION_CODENAME=buster", "VERSION_CODENAME=xenial"

VERSION_ID=

小 寫 字 母 表 示 的 作 業 系 統 版 本 號 , 禁 止 包 含 0–9, a–z, ".", "_", "-" 以 外 的 字 元 , 禁 止 包 含 作 業 系 統 名 稱 與 發 行 代 號 。 該 欄 位 適 合 被 程 式 或 指 令 碼 解 析 , 也 可 用 於 生 成 檔 名 。 這 是 可 選 欄 位 。 例 如 : "VERSION_ID=17" 或 "VERSION_ID=11.04"

PRETTY_NAME=

適 合 人 類 閱 讀 的 比 較 恰 當 的 發 行 版 名 稱 , 可 選 的 包 含 發 行 代 號 與 系 統 版 本 之 類 的 資 訊 , 內 容 比 較 隨 意 。 這 是 必 填 欄 位 。 例 如 : "PRETTY_NAME="Fedora 17 (Beefy Miracle)"" 。 預 設 值 是 "PRETTY_NAME="Linux"" 。

ANSI_COLOR=

在 控 制 檯 上 顯 示 作 業 系 統 名 稱 的 文 字 顏 色 。 必 須 設 為 符 合 ESC [ m ANSI/ECMA-48 轉 義 程 式 碼 規 範 的 字 串 。 這 是 可 選 欄 位 。 例 如 : "ANSI_COLOR="0;31""(紅 色 ) 或 "ANSI_COLOR="1;34""(淡 藍 )

CPE_NAME=

作 業 系 統 的 "CPE名 稱 "(URI繫 結 語 法 ), 詳 見 Common Platform Enumeration Specification [2] 文 件 。 這 是 可 選 欄 位 。 例 如 : "CPE_NAME="cpe:/o:fedoraproject:fedora:17""

HOME_URL= , SUPPORT_URL= , BUG_REPORT_URL= , PRIVACY_POLICY_URL=

與 作 業 系 統 相 關 的 網 際 網 路 地 址 。 HOME_URL= 作 業 系 統 的 主 頁 地 址 , 或 者 特 定 於 此 版 本 作 業 系 統 的 頁 面 地 址 。 SUPPORT_URL= 作 業 系 統 的 支 援 頁 面 (若 存 在 ), 主 要 用 於 發 行 商 提 供 技 術 支 援 的 頁 面 。 BUG_REPORT_URL= 故 障 彙 報 頁 面 (若 存 在 ), 主 要 用 於 基 於 社 群 互 動 的 發 行 版 。 PRIVACY_POLICY_URL= 隱 私 條 款 頁 面 (若 存 在 )。 上 述 URL應 該 分 別 出 現 在 "About this system"介 面 下 的 "About this Operating System", "Obtain Support", "Report a Bug", "Privacy Policy" 子 介 面 中 。 這 些 欄 位 的 值 必 須 符 合 RFC3986 [3] 規 範 , 通 常 以 "http:" 或 "https:" 開 頭 , 但 也 可 能 以 "mailto:" 或 "tel:" 開 頭 。 例 如 : "HOME_URL="https://fedoraproject.org/"" 與 "BUG_REPORT_URL="https://bugzilla.redhat.com/""

BUILD_ID=

用 於 區 分 同 一 版 本 作 業 系 統 的 不 同 編 譯 次 序 的 唯 一 標 示 符 (不 會 被 系 統 更 新 所 修 改 )。 該 欄 位 在 不 同 的 VERSION_ID 之 間 有 可 能 是 相 同 的 , 因 為 BUILD_ID 僅 在 同 一 版 本 號 內 部 保 持 唯 一 。 每 當 釋 出 新 版 本 的 作 業 系 統 時 , 只 需 要 更 新 VERSION_ID 欄 位 即 可 , 並 不 一 定 必 須 更 新 BUILD_ID 欄 位 。 這 是 可 選 欄 位 。 例 如 : "BUILD_ID="2013-03-20.3"" 或 "BUILD_ID=201303203"

VARIANT=

適 合 人 類 閱 讀 的 發 行 版 分 支 識 別 符 號 。 用 於 向 用 戶 表 明 此 係 統 的 預 設 配 置 是 專 門 面 向 特 定 應 用 場 景 的 。 這 是 可 選 欄 位 , 並 且 某 些 發 行 版 可 能 不 存 在 此 欄 位 。 例 如 : "VARIANT="Server Edition"", "VARIANT="Smart Refrigerator Edition"" 注 意 , 此 欄 位 僅 用 於 顯 示 目 的 , 程 式 應 該 使 用 VARIANT_ID 欄 位 進 行 可 靠 的 判 斷 。

VARIANT_ID=

小 寫 字 母 表 示 的 發 行 版 分 支 識 別 符 號 , 禁 止 包 含 0–9, a–z, ".", "_", "-" 以 外 的 字 元 。 該 欄 位 適 合 被 程 式 或 指 令 碼 解 析 , 也 可 用 於 生 成 檔 名 。 這 是 可 選 欄 位 , 並 且 某 些 發 行 版 可 能 不 存 在 此 欄 位 。 例 如 : "VARIANT_ID=server", "VARIANT_ID=embedded"

如 果 要 在 程 式 中 檢 測 發 行 版 名 稱 及 其 變 種 , 那 麼 可 以 使 用 ID VERSION_ID 欄 位 , 並 將 ID_LIKE 用 作 ID 的 替 補 。 如 果 想 要 向 用 戶 顯 示 發 行 版 的 名 稱 , 那 麼 可 以 使 用 PRETTY_NAME 欄 位 。

注 意 , 滾 動 釋 出 的 發 行 版 可 能 不 會 提 供 版 本 資 訊 , 也 就 程 式 不 能 假 定 VERSION VERSION_ID 欄 位 必 然 存 在 。

作 業 系 統 的 發 行 商 可 能 為 此 檔 案 引 入 新 的 欄 位 , 強 烈 建 議 為 新 引 入 的 欄 位 使 用 特 別 的 字 首 以 避 免 衝 突 。 讀 取 此 檔 案 的 程 式 應 該 能 夠 安 全 的 忽 略 不 理 解 的 欄 位 。 例 如 : "DEBIAN_BTS="debbugs://bugs.debian.org/""

例 子

NAME=Fedora
VERSION="24 (Workstation Edition)"
ID=fedora
VERSION_ID=24
PRETTY_NAME="Fedora 24 (Workstation Edition)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:24"
HOME_URL="https://fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=24
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=24
PRIVACY_POLICY_URL=https://fedoraproject.org/wiki/Legal:PrivacyPolicy
VARIANT="Workstation Edition"
VARIANT_ID=workstation

參 見

systemd (1), lsb_release (1), hostname (5), machine-id (5), machine-info (5)

NOTES

1.

Announcement of /etc/os-release

http://0pointer.de/blog/projects/os-release

2.

Common Platform Enumeration Specification

http://scap.nist.gov/specifications/cpe/

3.

RFC3986

https://tools.ietf.org/html/rfc3986

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。

翻 譯 人 員 : 金 步 國
金 步 國 作 品 集 : http://www.jinbuguo.com
中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh