我最近注意到服务器正在执行apt-get update && apt-get dist-upgrade
除其他事项外,docker 已更新并重新启动。
但是,我注意到我之前对服务文件所做的某些更改现在消失了。文件似乎/lib/systemd/system/docker.service
已被重置。
这可能吗?我不记得我是否遵循daemon-reload
了这些更改。
编辑:明确地说:我想知道是否dist-upgrade
基本上删除了服务文件并用默认文件替换它?
并且可以daemon-reload
防止将来再发生此类情况吗?
EDIT2:好的,看起来sudo systemctl edit docker.service
这是可行的方法并执行daemon-reload
保存。
答案1
不要编辑 /lib/systemd/ 或 /usr/share/systemd 中的文件,因为它们会在更新时被覆盖。
相反,将文件复制到 /etc/systemd/ 并在那里进行更改。
/etc/ 目录(至少对于 systemd 而言)被视为存储本地配置文件的地方。所有其他 /**/systemd/ 目录被视为默认和示例配置文件的来源,应在任何升级中替换这些文件。
不编辑这些包提供的配置文件的另一个原因是,如果您将其复制到 /etc/systemd/... 并编辑它并犯了错误,您始终可以与原始文件进行比较。
systemctl daemon-reload
不会阻止任何事情。它只是告诉 systemd 重新检查其所有配置并使用已更改的内容。