我正在使用使用 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 初始化脚本?