systemd.swap 中文手册

译者:金步国


版权声明

本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。

其他作品

本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:

联系方式

由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。


手册索引 . 指令索引systemd-231

名称

systemd.swap — swap单元配置

大纲

swap.swap

描述

以 ".swap" 为后缀的单元文件, 封装了一个由 systemd 管理的swap设备或swap文件。

本手册列出了所有专用于此类单元的配置选项(亦称"配置指令"或"单元属性")。 systemd.unit(5) 中描述了通用于所有单元类型的配置选项, 它们位于 "[Unit]" 与 "[Install]" 小节。 此类单元专用的配置选项位于 "[Swap]" 小节。

其他相关的选项还包括: systemd.exec(5) 中的选项定义了 swapon(8) 命令的执行环境; systemd.kill(5) 中的选项定义了进程的结束方式; systemd.resource-control(5) 中的选项定义了进程的资源限制。

swap 单元的名称必须根据其封装的swap设备或swap文件的路径命名。例如 /dev/sda5 设备对应的单元名称必须是 dev-sda5.swap 。 有关路径名转换到单元名的细节,参见 systemd.unit(5) 手册。 注意,swap 单元不能从模版实例化而来, 也不能通过创建软连接的方法给同一个 swap 单元赋予多个别名。

自动依赖

所有 swap 单元都将自动获得 对所依赖的底层块设备单元或挂载点单元的 BindsTo=After= 依赖。

除非在 swap 单元 "[Unit]" 小节中 明确设置了 DefaultDependencies=no , 否则将会自动获得 Conflicts=umount.targetAfter=umount.target 依赖, 以确保在关机前完成卸载。

其他与执行环境以及资源控制有关的自动依赖关系参见 systemd.exec(5)systemd.resource-control(5) 手册。

fstab

swap 单元既可以通过单元文件进行配置,也可以通过 /etc/fstab 文件(参见 fstab(5) 手册)进行配置。/etc/fstab 中的swap项将在每次重新加载 systemd 配置时(包括系统启动时)动态的自动转化为 swap 单元。 一般来说,/etc/fstab 文件是配置 swap 单元的首选方法,详见 systemd-fstab-generator(8) 手册。

如果某个 swap 项既配置在了 /etc/fstab 文件中,又配置在了 swap 单元中, 那么以 swap 单元为准。

可以在 /etc/fstab 中 使用一些无法被其他程序识别的 systemd 专用挂载选项, 以帮助创建 swap 单元的依赖关系。

noauto, auto

noauto 表示不将此 swap 单元加入到 swap.target 的依赖中, 也就是不在系统启动时自动挂载(除非为了满足其他单元的依赖而被挂载)。 auto(默认值) 表示自动将此 swap 单元加入到 swap.target 的依赖中, 也就是在系统启动时自动挂载。

nofail

nofail 表示仅在 swap.target 中对此挂载点使用 Wants= 依赖(而不是默认的 Requires=)。 也就是即使此swap项挂载失败, 也不会中断系统的启动流程。

选项

每个 swap 单元文件都必须包含一个 [Swap] 小节, 用于包含该单元封装的swap设备或swap文件的各项信息。 可在 [Swap] 小节中使用的选项, 有许多是与其他单元共享的,详见 systemd.exec(5)systemd.kill(5) 手册。 这里只列出仅能用于 [Swap] 小节的选项(亦称"指令"或"属性"):

What=

绝对路径形式表示的swap设备节点或swap文件。 详见 swapon(8) 手册。如果是一个swap设备节点, 那么将会自动添加对此设备节点单元的依赖(参见 systemd.device(5) 手册)。 如果是一个swap文件,那么将会自动添加对此文件所属挂载点的依赖(参见 systemd.mount(5) 手册)。 这是一个必需的设置。

Priority=

设置此swap项的优先级, 必须设为一个整数。这是一个可选的设置。 如果已经在 Options= 中使用 pri= 设置了优先级, 那么将忽略此处的设置。

Options=

一组逗号分隔的挂载选项(例如"discard"之类)。 这是一个可选的设置。 详见 swapon(8) 手册。

TimeoutSec=

最大允许使用多长时间以完成挂载(swapon)动作。 若超时则被视为挂载失败, 并且所有当前正在运行的命令都将被以 SIGTERM 信号终止; 若继续等待相同的时长之后命令仍未终止, 那么将使用 SIGKILL 信号强制终止(详见 systemd.kill(5) 中的 KillMode= 选项)。 可以使用 "ms", "s", "min", "h" 这样的时间单位后缀。 若省略时间单位后缀则单位是秒。 设为 "0" 表示永不超时。默认值为 DefaultTimeoutStartSec= 选项的值(参见 systemd-system.conf(5) 手册)。

参见 systemd.exec(5)systemd.kill(5) 以了解更多设置。

参见

systemd(1), systemctl(1), systemd.unit(5), systemd.exec(5), systemd.kill(5), systemd.resource-control(5), systemd.device(5), systemd.mount(5), swapon(8), systemd-fstab-generator(8), systemd.directives(7)