dist-upgrade 会替换服务文件吗?

Kdg*_*Dev 2 systemd docker 18.04

我最近注意到一个服务器执行 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保存的方法。

use*_*489 9

不要编辑 /lib/systemd/ 或 /usr/share/systemd 中的文件,因为它们会在更新时被覆盖。

相反,将文件复制到 /etc/systemd/ 并在那里进行更改。

/etc/ 目录(至少对于 systemd)被认为是存储本地配置文件的地方。所有其他 /**/systemd/ 目录都被视为默认和示例配置文件的来源,在任何升级时都应替换这些文件。

不编辑这些包提供的配置文件的另一个原因是,如果您将其复制到 /etc/systemd/... 并编辑它并出错,您始终可以与原始文件进行比较。

systemctl daemon-reload不会阻止任何事情。它只是告诉 systemd 重新检查其所有配置并使用已更改的任何配置。

  • @bac0n 它已经包含在 [muru's answer here](https://askubuntu.com/a/659268/412264) 中,在 IMO 复制它没有意义;-)。 (3认同)