SYSTEMD.ECLASS
部分: eclass-manpages (5)更新: 2024 年 11 月
索引 返回主内容
名称
systemd.eclass - 用于安装 systemd 单元的辅助函数描述
此 eclass 提供了一组函数,用于在 ebuild 中为 sys-apps/systemd 安装单元文件。支持的 EAPIS
7 8示例
inherit systemd src_configure() { local myconf=( --enable-foo --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" ) econf "${myconf[@]}" }
函数
- systemd_get_systemunitdir
- 输出 systemd 系统单元目录的路径(不包括 ${D})。即使 systemd 未安装,此函数也会始终成功。
- systemd_get_userunitdir
- 输出 systemd 用户单元目录的路径(不包括 ${D})。即使 systemd 未安装,此函数也会始终成功。
- systemd_get_utildir
- 输出 systemd 实用程序目录的路径(不包括 ${D})。即使 systemd 未安装,此函数也会始终成功。
- systemd_get_systemgeneratordir
- 输出 systemd 系统生成器目录的路径(不包括 ${D})。即使 systemd 未安装,此函数也会始终成功。
- systemd_get_systempresetdir
- 输出 systemd 系统预设目录的路径(不包括 ${D})。即使 systemd 未安装,此函数也会始终成功。
- systemd_get_sleepdir
- 输出系统休眠目录的路径。
- systemd_dounit <unit>...
- 安装 systemd 单元。使用 doins,因此它会致命错误。
- systemd_newunit <old-name> <new-name>
- 以新名称安装 systemd 单元。使用 newins,因此它会致命错误。
- systemd_douserunit <unit>...
- 安装 systemd 用户单元。使用 doins,因此它会致命错误。
- systemd_newuserunit <old-name> <new-name>
- 以新名称安装 systemd 用户单元。使用 newins,因此它会致命错误。
- systemd_install_serviced <conf-file> [<service>]
- 安装 <conf-file> 作为模板 <service>.d/00gentoo.conf。如果未指定 <service>,则使用 <conf-file> 并删除 .conf 后缀(例如 foo.service.conf -> foo.service.d/00gentoo.conf)。
- systemd_install_dropin [--user] <unit> <conf-file>
- 安装 <conf-file> 作为 dropin 文件 <unit>.d/00gentoo.conf,覆盖 <unit> 的设置。默认情况下为系统单元 dropin,除非提供 --user,这会导致 dropin 安装到用户单元。必需参数 <conf-file> 可以是 '-',在这种情况下,文件从 stdin 读取,并且 <unit> 也必须指定。
- systemd_enable_service <target> <service>
- 在所需的 target 中启用服务,例如,为其安装符号链接。使用 dosym,因此它会致命错误。
- systemd_enable_ntpunit <NN-name> <service>...
- 将 NTP 服务提供程序添加到 timedated 中的实现列表。<NN-name> 定义新创建的 ntp-units.d 优先级和名称,而剩余的参数列出将添加到该文件的服务单元。
使用 doins,因此它会致命错误。
文档:https://www.freedesktop.org/wiki/Software/systemd/timedated/
- systemd_update_catalog
- 更新 journald 目录。这需要在安装或删除目录文件后调用。这必须在 pkg_post* 阶段调用。
如果 systemd 未安装,则不会执行任何操作。目录将在安装 systemd 后(重新)构建。
请参阅:https://www.freedesktop.org/wiki/Software/systemd/catalog
- systemd_is_booted
- 检查系统是否使用 systemd 启动。
这应该仅用于信息目的,例如,警告用户需要使用 systemd。已安装的文件或应用程序行为*不应*依赖于此。请记住检查 MERGE_TYPE 以避免在二进制软件包构建主机上触发检查!
如果系统使用 systemd 启动,则返回 0,否则返回 1。
请参阅:man sd_booted
- systemd_reenable <unit> ...
- 如果单元当前已启用,则重新启用它们。这会将符号链接重置为 [Install] 部分中指定的默认值。
此函数旨在修复由于移动 systemd 系统单元目录而导致的损坏的符号链接。它应该从 pkg_postinst 中为在 [Install] 部分中定义 'Alias' 选项的系统单元调用。不必调用此函数来修复由 'WantedBy' 和 'RequiredBy' 选项生成的依赖项符号链接。
维护者
[email protected]报告 Bug
请通过 https://bugs.gentoo.org/ 报告 Bug。文件
systemd.eclass另请参阅
ebuild(5)https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/systemd.eclass
索引
本手册由 man2html 使用手册页创建。
时间:2024 年 11 月 12 日,格林威治标准时间 03:27:00