3

我正在使用使用 systemd 的 Ubuntu 18.04.4 LTS,但与此版本的 Ubuntu 打包的 squid 包配置为通过 init.d 启动。systemctl start squid.service如果我在系统启动后手动启动它,它就会启动并运行。

但是,我使用 ZFS 挂载点(“/media”)来存储缓存数据,并且在引导过程中,squid 在此挂载点处于活动状态之前启动。因此,我收到错误“无法验证交换目录之一”。的完整输出systemctl status squid这里

我想告诉 systemd 等到 media.mount 以尽可能微创的方式完成之后(例如,不修改软件包维护的 /etc/init.d/squid 文件)。为此,我创建了/etc/systemd/system/squid.service.d/override.conf这样的文件:

% cat /etc/systemd/system/squid.service.d/override.conf

[Unit]
Wants=network.target network-online.target nss-lookup.target media.mount
After=network.target network-online.target nss-lookup.target media.mount

[Install]
WantedBy=multi-user.target

但是鱿鱼还是起步太早了。

我想做的事可能吗?还是我必须硬着头皮定义一个本机 /etc/systemd/system/squid.service 文件并删除 /etc/init.d/squid 初始化脚本?

4

0 回答 0