'\" t .TH "OS\-RELEASE" "5" "" "systemd 231" "os-release" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" os-release \- 作業系統標識 .SH "SYNOPSIS" .PP /etc/os\-release .PP /usr/lib/os\-release .SH "描述" .PP /etc/os\-release 與 /usr/lib/os\-release 檔案包含了作業系統識別資料。 .PP os\-release 檔案的基本格式是 一系列換行符分隔的 VAR=VALUE 行(每行一個變數), 可以直接嵌入到 shell 指令碼中使用。 注意,此檔案並不支援變數替換之類的任何高階 shell 特性, 以便於應用程式無須支援這些高階 shell 特性, 即可直接使用此檔案。 如果 VALUE 值中包含任何非字母數字字元(也就是 A\(enZ, a\(enz, 0\(en9 之外的字元), 那麼必須使用引號(單雙皆可)界定, 並且任何在Shell中具有特殊含義的字元, 包括:美元符, 單雙引號, 反斜線, 反引號 \&.\&.\&. 等等,都必須使用shell風格的反斜線進行轉義。 所有字串都必須使用UTF\-8編碼, 並且禁止使用一切非列印字元。 以"#"開頭的行將被作為註釋忽略。 .PP 應用程式應該只讀取 /etc/os\-release 檔案, 僅在 /etc/os\-release 不存在的情況下, 才可以讀取 /usr/lib/os\-release 檔案。 絕對禁止應用程式同時讀取兩個檔案。 作業系統發行商應該將作業系統識別資料存放在 /usr/lib/os\-release 檔案中, 同時將 /etc/os\-release 作為一個軟連線, 以相對路徑的方式指向 /usr/lib/os\-release 檔案, 以提供應用程式讀取 /etc 的相容性。 軟連線使用相對路徑是為了避免在 chroot 或 initrd 環境中失效。 .PP os\-release 的內容應當僅由發行版的供應商設定, 系統管理員一般不應該修改此檔案。 .PP 因為此檔案僅用於作業系統識別, 所以必須禁止包含任何需要本地化的內容(也就是禁止包含非ASCII字元)。 .PP /etc/os\-release 與 /usr/lib/os\-release 可以是軟連線, 但是必須全部位於根檔案系統上, 以確保在系統剛啟動時即可讀取其內容。 .PP 更多有關 os\-release 的理解, 請參閱 \m[blue]\fBAnnouncement of /etc/os\-release\fR\m[]\&\s-2\u[1]\d\s+2 .SH "選項" .PP 可以在 os\-release 中使用下列作業系統識別字段: .PP \fINAME=\fR .RS 4 不帶版本號且適合人類閱讀的作業系統名稱。這是必填欄位。例如: "NAME=Fedora" 或 "NAME="Debian GNU/Linux"" 。 預設值是 "NAME=Linux" 。 .RE .PP \fIVERSION=\fR .RS 4 作業系統的版本號。 禁止包含作業系統名稱,但是可以包含適合人類閱讀的發行代號。 這是可選欄位。 例如: "VERSION=17" 或 "VERSION="17 (Beefy Miracle)"" .RE .PP \fIID=\fR .RS 4 小寫字母表示的作業系統名稱, 禁止包含 0\(en9, a\(enz, "\&.", "_", "\-" 以外的字元,禁止包含任何版本資訊。 該欄位適合被程式或指令碼解析,也可用於生成檔名。 這是必填欄位。例如: "ID=fedora" 或 "ID=debian" 。 預設值是 "ID=linux" 。 .RE .PP \fIID_LIKE=\fR .RS 4 一系列空格分隔的字串, 其中的每一項都符合 \fIID=\fR 欄位的規範, 也就是僅包含 0\(en9, a\(enz, "\&.", "_", "\-" 字元。 此欄位用於表明當前的作業系統 是從哪些"父發行版"派生而來, 切勿列出從此發行版派生的"子發行版", 排列順序由近到遠, 關係最近的發行版名稱排在最前, 緊密度依次遞減。 應用程式如果不能識別 \fIID=\fR 欄位的內容, 那麼可以參考此欄位。 這是可選欄位。 比如對於 "ID=centos"來說, "ID_LIKE="rhel fedora"" 就是一個合理的設定。 而對於 "ID=ubuntu" 來說, "ID_LIKE=debian" 也很合理。 .RE .PP \fIVERSION_CODENAME=\fR .RS 4 小寫字母表示的作業系統發行代號, 禁止包含 0\(en9, a\(enz, "\&.", "_", "\-" 以外的字元, 禁止包含任何版本資訊以及作業系統名稱。 該欄位適合被程式或指令碼解析, 也可用於生成檔名。 這是可選欄位, 並且某些發行版可能不存在此欄位。例如: "VERSION_CODENAME=buster", "VERSION_CODENAME=xenial" .RE .PP \fIVERSION_ID=\fR .RS 4 小寫字母表示的作業系統版本號, 禁止包含 0\(en9, a\(enz, "\&.", "_", "\-" 以外的字元, 禁止包含作業系統名稱與發行代號。 該欄位適合被程式或指令碼解析, 也可用於生成檔名。 這是可選欄位。例如: "VERSION_ID=17" 或 "VERSION_ID=11\&.04" .RE .PP \fIPRETTY_NAME=\fR .RS 4 適合人類閱讀的比較恰當的發行版名稱, 可選的包含發行代號與系統版本之類的資訊,內容比較隨意。 這是必填欄位。 例如: "PRETTY_NAME="Fedora 17 (Beefy Miracle)"" 。 預設值是 "PRETTY_NAME="Linux"" 。 .RE .PP \fIANSI_COLOR=\fR .RS 4 在控制檯上顯示作業系統名稱的文字顏色。 必須設為符合 ESC [ m ANSI/ECMA\-48 轉義程式碼規範的字串。 這是可選欄位。 例如: "ANSI_COLOR="0;31""(紅色) 或 "ANSI_COLOR="1;34""(淡藍) .RE .PP \fICPE_NAME=\fR .RS 4 作業系統的"CPE名稱"(URI繫結語法), 詳見 \m[blue]\fBCommon Platform Enumeration Specification\fR\m[]\&\s-2\u[2]\d\s+2 文件。 這是可選欄位。例如: "CPE_NAME="cpe:/o:fedoraproject:fedora:17"" .RE .PP \fIHOME_URL=\fR, \fISUPPORT_URL=\fR, \fIBUG_REPORT_URL=\fR, \fIPRIVACY_POLICY_URL=\fR .RS 4 與作業系統相關的網際網路地址。 \fIHOME_URL=\fR 作業系統的主頁地址, 或者特定於此版本作業系統的頁面地址。 \fISUPPORT_URL=\fR 作業系統的支援頁面(若存在), 主要用於發行商提供技術支援的頁面。 \fIBUG_REPORT_URL=\fR 故障彙報頁面(若存在), 主要用於基於社群互動的發行版。 \fIPRIVACY_POLICY_URL=\fR 隱私條款頁面(若存在)。 上述URL應該分別出現在"About this system"介面下的 "About this Operating System", "Obtain Support", "Report a Bug", "Privacy Policy" 子介面中。 這些欄位的值必須符合 \m[blue]\fBRFC3986\fR\m[]\&\s-2\u[3]\d\s+2 規範, 通常以 "http:" 或 "https:" 開頭, 但也可能以 "mailto:" 或 "tel:" 開頭。 例如: "HOME_URL="https://fedoraproject\&.org/"" 與 "BUG_REPORT_URL="https://bugzilla\&.redhat\&.com/"" .RE .PP \fIBUILD_ID=\fR .RS 4 用於區分同一版本作業系統的不同編譯次序的唯一標示符(不會被系統更新所修改)。 該欄位在不同的 VERSION_ID 之間有可能是相同的, 因為 BUILD_ID 僅在同一版本號內部保持唯一。 每當釋出新版本的作業系統時, 只需要更新 VERSION_ID 欄位即可,並不一定必須更新 BUILD_ID 欄位。 這是可選欄位。 例如: "BUILD_ID="2013\-03\-20\&.3"" 或 "BUILD_ID=201303203" .RE .PP \fIVARIANT=\fR .RS 4 適合人類閱讀的發行版分支識別符號。 用於向用戶表明 此係統的預設配置是專門面向特定應用場景的。 這是可選欄位, 並且某些發行版可能不存在此欄位。 例如: "VARIANT="Server Edition"", "VARIANT="Smart Refrigerator Edition"" 注意,此欄位僅用於顯示目的, 程式應該使用 \fIVARIANT_ID\fR 欄位進行可靠的判斷。 .RE .PP \fIVARIANT_ID=\fR .RS 4 小寫字母表示的發行版分支識別符號, 禁止包含 0\(en9, a\(enz, "\&.", "_", "\-" 以外的字元。 該欄位適合被程式或指令碼解析, 也可用於生成檔名。 這是可選欄位, 並且某些發行版可能不存在此欄位。 例如: "VARIANT_ID=server", "VARIANT_ID=embedded" .RE .PP 如果要在程式中檢測發行版名稱及其變種, 那麼可以使用 \fIID\fR 與 \fIVERSION_ID\fR 欄位, 並將 \fIID_LIKE\fR 用作 \fIID\fR 的替補。 如果想要向用戶顯示發行版的名稱, 那麼可以使用 \fIPRETTY_NAME\fR 欄位。 .PP 注意, 滾動釋出的發行版可能不會提供版本資訊, 也就程式不能假定 \fIVERSION\fR 與 \fIVERSION_ID\fR 欄位必然存在。 .PP 作業系統的發行商可能為此檔案引入新的欄位, 強烈建議為新引入的欄位使用特別的字首以避免衝突。 讀取此檔案的程式應該能夠安全的忽略不理解的欄位。 例如: "DEBIAN_BTS="debbugs://bugs\&.debian\&.org/"" .SH "例子" .sp .if n \{\ .RS 4 .\} .nf 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 .fi .if n \{\ .RE .\} .SH "參見" .PP \fBsystemd\fR(1), \fBlsb_release\fR(1), \fBhostname\fR(5), \fBmachine-id\fR(5), \fBmachine-info\fR(5) .SH "NOTES" .IP " 1." 4 Announcement of /etc/os-release .RS 4 \%http://0pointer.de/blog/projects/os-release .RE .IP " 2." 4 Common Platform Enumeration Specification .RS 4 \%http://scap.nist.gov/specifications/cpe/ .RE .IP " 3." 4 RFC3986 .RS 4 \%https://tools.ietf.org/html/rfc3986 .RE .SH "跋" .br 本頁面中文版由中文 man 手冊頁計劃提供。 .PP 翻譯人員:金步國 .br 金步國作品集:http://www.jinbuguo.com .br .br 中文 man 手冊頁計劃:\fBhttps://github.com/man-pages-zh/manpages-zh\fR