Systemd 的一些小技巧

💡 原文中文,约6500字,阅读约需16分钟。
📝

内容提要

systemd 正在成为 Linux 内核与发行版的兼容层,管理底层组件并提供一致接口。文章分享了使用 systemd 管理 VPN 的技巧,包括创建服务文件、配置环境变量和解决关机时的等待问题,从而简化 VPN 管理,提高效率。

🎯

关键要点

  • systemd 正在成为 Linux 内核与发行版之间的兼容层,管理底层组件并提供一致接口。

  • 使用 systemd 管理 VPN 可以简化操作,避免手动执行 openvpn。

  • 创建 service 文件并放在 /etc/systemd/system 下以管理 VPN。

  • 可以通过 systemd 的服务管理功能实现 VPN 的启动、停止和开机启动。

  • 使用 %i 替换标记来管理不同的 VPN 实例。

  • 可以通过配置文件设置 VPN 的工作目录和配置文件路径。

  • systemd 支持通过 journald 查看服务的日志。

  • 可以限制服务的内存使用量,通过 cgroup 管理资源。

  • systemd 可以为服务设置环境变量,方便配置代理。

  • 解决关机时等待的问题需要查看 systemd 日志,调整服务的配置。

  • 可以通过设置 TimeoutStopSec 来缩短服务的关闭等待时间。

延伸问答

如何使用 systemd 管理 VPN?

可以通过创建 service 文件并放在 /etc/systemd/system 下,配置 VPN 的启动、停止和开机启动。

systemd 中的 %i 替换标记有什么用?

%i 是一个替换标记,表示已转义的实例名称,用于管理不同的 VPN 实例。

如何查看 systemd 服务的日志?

可以使用 journalctl 命令,例如 journalctl -u vpn@abc -r 来查看指定 VPN 的日志。

如何解决关机时等待的问题?

需要查看 systemd 日志,调整服务的配置,可能需要设置 TimeoutStopSec 来缩短关闭等待时间。

如何限制 systemd 服务的内存使用量?

可以在服务的配置文件中增加 MemoryHigh=512M 来限制内存使用量。

systemd 如何为服务设置环境变量?

可以在服务的配置文件中使用 Environment 指令来设置环境变量。

➡️

继续阅读