7.10. Systemd 的用法与配置

7.10.1. 基本配置

/etc/systemd/system.conf 文件包含了大量的 systemd 控制命令。假如未作任何的更改,文件中的所有行应该都是注释掉的,这代表了 systemd 正使用默认的运行方式。这个文件中可以设置日志级别,可以修改日志的基本设置。所有设置项都可以在 man 手册的 systemd-system.conf(5) 中查看。

7.10.2. 禁用启动时清屏

默认情况下,systemd 将会在系统启动快要结束的时候清屏。如不需要,使用以下操作禁用:

mkdir -pv /etc/systemd/system/getty@tty1.service.d

cat > /etc/systemd/system/getty@tty1.service.d/noclear.conf << EOF
[Service]
TTYVTDisallocate=no
EOF

拥有 root 权限的账户总是可以通过 journalctl -b 查看启动信息。

7.10.3. 禁止 /tmp 使用 tmpfs

默认情况下,/tmp 使用 tmpfs 文件系统。如不需要,使用以下操作禁用:

ln -sfv /dev/null /etc/systemd/system/tmp.mount

如果已经为 /tmp/etc/fstab 中指定了专门的分区,那么此操作是多余的。

7.10.4. 配置自动创建和删除文件

有这样几个服务可以建立或删除文件/目录:

  • systemd-tmpfiles-clean.service

  • systemd-tmpfiles-setup-dev.service

  • systemd-tmpfiles-setup.service

系统配置文件在 /usr/lib/tmpfiles.d/*.conf 中。本地配置文件在 /etc/tmpfiles.d 中。 /etc/tmpfiles.d 中的文件会覆盖 /usr/lib/tmpfiles.d 中相同名称的文件。 (译者注:首先读取系统范围配置文件,再读取用户范围配置文件,用户范围配置文件会覆盖系统范围配置文件的相同部分。)可以在 man 手册的 tmpfiles.d(5) 中获取文件格式详情。

7.10.5. 覆盖默认服务的行为

可以通过在 /etc/systemd/system 下新建配置文件的方法改变 systemd 服务的默认行为。例如:

mkdir -pv /etc/systemd/system/foobar.service.d

cat > /etc/systemd/system/foobar.service.d/foobar.conf << EOF
[Service]
Restart=always
RestartSec=30
EOF

可以在 man 手册的 systemd.unit(5) 中查询更多信息。创建好文件之后,请运行 systemctl daemon-reloadsystemctl restart foobar 激活所做更改。

7.10.6.调试启动顺序

有一些命令可以帮助分析 systemd 启动进程,例如:

  • systemctl list-units -t service [--all]

  • systemctl list-units -t target [--all]

  • systemctl show -p Wants multi-user.target

  • systemctl status sshd.service