返回介绍

systemd.target 中文手册

发布于 2020-11-08 09:27:20 字数 2945 浏览 977 评论 0 收藏 0

名称

systemd.target — 目标单元配置

大纲

target.target

描述

以".target" 为后缀的单元文件,封装了一个由 systemd 管理的启动目标,用于在启动过程中将一组单元汇聚到一个众所周知的同步点。

此类单元没有专用的配置选项。systemd.unit(5)中描述了通用于所有单元类型的配置选项(亦称"配置指令"或"单元属性"),它们位于 [Unit] 与 [Install] 小节。因为此类单元没有专用的配置选项,所以并不存在专用的 [Target] 小节。

对于被目标单元汇聚的单元来说,目标单元本身并不能提供任何额外的附加功能。目标单元的功能仅仅是通过依赖关系将一组单元汇聚在一起,形成一个同步点,并给这个同步点取一个众所周知的名称,以便用作启动目标或其他单元的依赖。目标单元非常适合用于替代传统的SysV运行级机制,特别地,出于兼容性考虑,类似 runlevel3.target 这样的目标单元,应该专用于兼容传统SysV运行级的场合。详见systemd.special(7)手册。

自动依赖

隐含依赖

target 单元没有隐含依赖。

默认依赖

除非明确设置了DefaultDependencies=no ,否则 target 单元将会自动添加下列依赖关系:

  • 对通过 Wants=Requires= 汇聚的单元的 After= 依赖(除非指定的单元中含有 DefaultDependencies=no)。注意,必须明确的在 target 单元文件中定义对被汇聚单元的 Wants=Requires= 依赖。例如,如果你在 some.service 单元文件中定义了 Wants=some.target ,那么并不会自动添加上述表示先后顺序的依赖关系。

  • Conflicts=shutdown.targetBefore=shutdown.target 依赖。

例子

例 1. 一个简单的独立目标单元

# emergency-net.target

[Unit]
Description=Emergency Mode with Networking
Requires=emergency.target systemd-networkd.service
After=emergency.target systemd-networkd.service
AllowIsolate=yes

当在 target 单元中添加对其他单元的依赖时,务必要检查这些单元是否设置了 DefaultDependencies=no 。对于服务单元来说,除非明确设置了 DefaultDependencies=no ,否则将会自动获得 Requires=sysinit.target, After=sysinit.target 依赖。在本例中,因为 emergency.targetsystemd-networkd.service都明确设置了 DefaultDependencies=no ,也就是说它们都不包含对 sysinit.target 的依赖,所以,很适合将它们引用到本例的 target 单元中。

要想进入本例所设置的"带网络的紧急维修模式",可以使用 systemctlisolate emergency-net.target 命令,也可以使用systemd.unit=emergency-net.target 内核引导选项。

如果某个单元将 WantedBy=emergency-net.target 加入到[Install] 小节之中,那么在使用systemctl enable 命令启用该单元时,将会同时确保该单元在emergency-net.target 之前启动。还可以通过 systemctl add-wants 命令在无须修改单元文件的情况下,将任意单元添加为 emergency.target 的依赖。


参见

systemd(1), systemctl(1), systemd.unit(5), systemd.special(7), systemd.directives(7)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文