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 |