- systemd.index 中文手册
- systemd.directives 中文手册
- binfmt.d 中文手册
- bootctl 中文手册
- bootup 中文手册
- busctl 中文手册
- coredump.conf 中文手册
- coredumpctl 中文手册
- crypttab 中文手册
- daemon 中文手册
- dnssec-trust-anchors.d 中文手册
- environment.d 中文手册
- file-hierarchy 中文手册
- halt 中文手册
- hostname 中文手册
- hostnamectl 中文手册
- hwdb 中文手册
- journal-remote.conf 中文手册
- journal-upload.conf 中文手册
- journalctl 中文手册
- journald.conf 中文手册
- kernel-command-line 中文手册
- kernel-install 中文手册
- loader.conf 中文手册
- locale.conf 中文手册
- localectl 中文手册
- localtime 中文手册
- loginctl 中文手册
- logind.conf 中文手册
- machine-id 中文手册
- machine-info 中文手册
- machinectl 中文手册
- modules-load.d 中文手册
- networkctl 中文手册
- networkd.conf 中文手册
- nss-myhostname 中文手册
- nss-mymachines 中文手册
- nss-resolve 中文手册
- nss-systemd 中文手册
- os-release 中文手册
- pam_systemd 中文手册
- portablectl 中文手册
- resolvectl 中文手册
- resolved.conf 中文手册
- shutdown 中文手册
- sysctl.d 中文手册
- systemctl 中文手册
- systemd 中文手册
- systemd-analyze 中文手册
- systemd-ask-password 中文手册
- systemd-ask-password-console.service 中文手册
- systemd-backlight@.service 中文手册
- systemd-binfmt.service 中文手册
- systemd-bless-boot-generator 中文手册
- systemd-bless-boot.service 中文手册
- systemd-boot 中文手册
- systemd-boot-check-no-failures.service 中文手册
- systemd-cat 中文手册
- systemd-cgls 中文手册
- systemd-cgtop 中文手册
- systemd-coredump 中文手册
- systemd-cryptsetup-generator 中文手册
- systemd-cryptsetup@.service 中文手册
- systemd-debug-generator 中文手册
- systemd-delta 中文手册
- systemd-detect-virt 中文手册
- systemd-environment-d-generator 中文手册
- systemd-escape 中文手册
- systemd-firstboot 中文手册
- systemd-fsck@.service 中文手册
- systemd-fstab-generator 中文手册
- systemd-getty-generator 中文手册
- systemd-gpt-auto-generator 中文手册
- systemd-halt.service 中文手册
- systemd-hibernate-resume-generator 中文手册
- systemd-hibernate-resume@.service 中文手册
- systemd-hostnamed.service 中文手册
- systemd-hwdb 中文手册
- systemd-id128 中文手册
- systemd-importd.service 中文手册
- systemd-inhibit 中文手册
- systemd-initctl.service 中文手册
- systemd-journal-gatewayd.service 中文手册
- systemd-journal-remote.service 中文手册
- systemd-journal-upload.service 中文手册
- systemd-journald.service 中文手册
- systemd-localed.service 中文手册
- systemd-logind.service 中文手册
- systemd-machine-id-commit.service 中文手册
- systemd-machine-id-setup 中文手册
- systemd-machined.service 中文手册
- systemd-makefs@.service 中文手册
- systemd-modules-load.service 中文手册
- systemd-mount 中文手册
- systemd-networkd-wait-online.service 中文手册
- systemd-networkd.service 中文手册
- systemd-notify 中文手册
- systemd-nspawn 中文手册
- systemd-path 中文手册
- systemd-portabled.service 中文手册
- systemd-quotacheck.service 中文手册
- systemd-random-seed.service 中文手册
- systemd-rc-local-generator 中文手册
- systemd-remount-fs.service 中文手册
- systemd-resolved.service 中文手册
- systemd-rfkill.service 中文手册
- systemd-run 中文手册
- systemd-run-generator 中文手册
- systemd-sleep.conf 中文手册
- systemd-socket-activate 中文手册
- systemd-socket-proxyd 中文手册
- systemd-suspend.service 中文手册
- systemd-sysctl.service 中文手册
- systemd-system-update-generator 中文手册
- systemd-system.conf 中文手册
- systemd-sysusers 中文手册
- systemd-sysv-generator 中文手册
- systemd-time-wait-sync.service 中文手册
- systemd-timedated.service 中文手册
- systemd-timesyncd.service 中文手册
- systemd-tmpfiles 中文手册
- systemd-tty-ask-password-agent 中文手册
- systemd-udevd.service 中文手册
- systemd-update-done.service 中文手册
- systemd-update-utmp.service 中文手册
- systemd-user-sessions.service 中文手册
- systemd-vconsole-setup.service 中文手册
- systemd-veritysetup-generator 中文手册
- systemd-veritysetup@.service 中文手册
- systemd-volatile-root.service 中文手册
- systemd.automount 中文手册
- systemd.device 中文手册
- systemd.dnssd 中文手册
- systemd.environment-generator 中文手册
- systemd.exec 中文手册
- systemd.generator 中文手册
- systemd.journal-fields 中文手册
- systemd.kill 中文手册
- systemd.link 中文手册
- systemd.mount 中文手册
- systemd.netdev 中文手册
- systemd.network 中文手册
- systemd.nspawn 中文手册
- systemd.offline-updates 中文手册
- systemd.path 中文手册
- systemd.preset 中文手册
- systemd.resource-control 中文手册
- systemd.scope 中文手册
- systemd.service 中文手册
- systemd.slice 中文手册
- systemd.socket 中文手册
- systemd.special 中文手册
- systemd.swap 中文手册
- systemd.syntax 中文手册
- systemd.target 中文手册
- systemd.time 中文手册
- systemd.timer 中文手册
- systemd.unit 中文手册
- sysusers.d 中文手册
- timedatectl 中文手册
- timesyncd.conf 中文手册
- tmpfiles.d 中文手册
- udev 中文手册
- udev.conf 中文手册
- udevadm 中文手册
- user@.service 中文手册
- vconsole.conf 中文手册
os-release 中文手册
名称
os-release — 操作系统标识
大纲
/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
选项
可以在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="Linux"
" 。 例如: "PRETTY_NAME="Fedora 17 (Beefy Miracle)"
" 。ANSI_COLOR=
在控制台上显示操作系统名称的 文字颜色。必须设为符合 ESC [ m ANSI/ECMA-48 转义代码规范的字符串。这是可选字段。例如: "
ANSI_COLOR="0;31"
"(红色) 或 "ANSI_COLOR="1;34"
" (淡蓝)CPE_NAME=
操作系统的"CPE名称"(URI绑定语法),详见 Common Platform Enumeration Specification 文档。这是可选字段。例如: "
CPE_NAME="cpe:/o:fedoraproject:fedora:17"
"HOME_URL=
,DOCUMENTATION_URL=
,SUPPORT_URL=
,BUG_REPORT_URL=
,PRIVACY_POLICY_URL=
与操作系统相关的 网址。
HOME_URL=
是操作系统的主页地址,或者特定于此版本操作系统的页面地址。DOCUMENTATION_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 规范,通常以 "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
"LOGO=
一个字符串,用于指定由 freedesktop.org Icon Theme Specification 规范的定义图标名称。图形界面程序可以根据此名称显示发行版图标。这是一个非必要的可选字段。例如: "
LOGO=fedora-logo
", "LOGO=distributor-logo-opensuse
"
如果要在程序中检测发行版名称及其变种,那么可以使用ID
与 VERSION_ID
字段,并将 ID_LIKE
用作 ID
的替补。如果想要向用户显示发行版的名称,那么可以使用PRETTY_NAME
字段。
注意,滚动发布的发行版可能不会提供版本信息,也就程序不能假定 VERSION
与VERSION_ID
字段必然存在。
操作系统的发行商可能为此文件引入新的字段,强烈建议为新引入的字段使用特别的前缀以避免冲突。读取此文件的程序应该能够安全的忽略不理解的字段。例如:"DEBIAN_BTS="debbugs://bugs.debian.org/"
"
例子
NAME=Fedora VERSION="17 (Beefy Miracle)" ID=fedora VERSION_ID=17 PRETTY_NAME="Fedora 17 (Beefy Miracle)" ANSI_COLOR="0;34" CPE_NAME="cpe:/o:fedoraproject:fedora:17" HOME_URL="https://fedoraproject.org/" BUG_REPORT_URL="https://bugzilla.redhat.com/"
参见
systemd(1), lsb_release(1), hostname(5), machine-id(5), machine-info(5)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论