为什么卸载相应软件包后,/etc/init.d 中的 initd 脚本仍然存在?

为什么卸载相应软件包后,/etc/init.d 中的 initd 脚本仍然存在?

软件包,例如irqbalance提供一个initd脚本/etc/init.d/irqbalance,该脚本在软件包卸载后仍保留apt-get remove,需要由systemd或其他init管理员进行评估。删除所有依赖项后,脚本的用途是什么?

我正在使用 Ubuntu 16.10。

答案1

man apt-get

消除

 remove is identical to install except that packages are removed
 instead of installed. Note that removing a package leaves its
 configuration files on the system. If a plus sign is appended to
 the package name (with no intervening space), the identified
 package will be installed instead of removed.

清除

 purge is identical to remove except that packages are removed and
 purged (any configuration files are deleted too).

“配置文件”是指“/etc 中的文件”

  • apt remove将文件保留在 /etc 中,包括 init 脚本。当您可能需要重新安装并且不想浪费大量时间重建您的出色配置时,请使用“remove”。

  • apt purge删除 /etc 文件。永久删除。

  • removenor永远不会purge删除 /home 中的任何文件。那是你的问题,不是 apt 的问题。

这与 init 脚本有何关系?除了显而易见的(它在 /etc 中)之外,您可以从两个方面来看待它:init 脚本配置应用程序启动和停止的时间和方式...或者它配置 init 以在您希望时启动和停止应用程序。

答案2

/etc/init.d 中的文件在卸载后没有任何用处,可以使用 手动删除或清除apt-get purge

虽然您可能将文件视为/etc/init.d“脚本”或可执行文件,但系统会将它们视为可手动自定义的配置文件。有些人会自定义这些脚本以在服务启动之前或之后添加额外操作。

因此,系统认为删除在正常软件包卸载过程中可能自定义的文件是不安全的。

apt-get remove这就是为什么存在着正常和更严厉之间的区别apt-get purge

相关内容