OS-RELEASE(5) | os-release | OS-RELEASE(5) |
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=
VERSION=
ID=
ID_LIKE=
VERSION_CODENAME=
VERSION_ID=
PRETTY_NAME=
ANSI_COLOR=
CPE_NAME=
HOME_URL=, SUPPORT_URL=, BUG_REPORT_URL=, PRIVACY_POLICY_URL=
BUILD_ID=
VARIANT=
VARIANT_ID=
如果要在程式中檢測發行版名稱及其變種, 那麼可以使用 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
- 2.
- Common Platform Enumeration Specification
- 3.
- RFC3986
跋¶
本頁面中文版由中文 man 手冊頁計劃提供。
翻譯人員:金步國
金步國作品集:http://www.jinbuguo.com
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
systemd 231 |