为什么debian 8里还有/etc/init.d?

为什么debian 8里还有/etc/init.d?

我最近将几个虚拟主机升级到了 Debian 8。现在使用它们时我发现:

  1. 仍然有一个/etc/init.d, /etc/rc0.d, ... 目录,其中包含大量文件(例如/etc/rc2.d/S04ssh
  2. /etc/systemd/system/sshd.service也有一个
  3. 我有/etc/init.d/apache2脚本,但没有apache2.service文件
  4. 尽管如此,systemd 似乎可以工作。systemctl start/stop apache2而且我自己编写的服务文件也可以工作。

所以问题是:这里有什么问题吗?我在升级时是否遗漏了重要的东西?如果没有,这应该如何工作?(systemd 到底如何处理这个混乱局面?)

更新:我发现了这个问题:https://unix.stackexchange.com/questions/233468/how-does-systemd-use-etc-init-d-scripts这回答了我的大部分问题。(这现在是一个重复的问题吗?)

我仍然缺少的是:jessie 没有 apache2.service 文件,这正常吗?

答案1

Debian 开发人员提供了sysvinit回退脚本。

您可以在默认过渡到 systemd 的计划

a) 当 systemd 是 grub 中的默认 init 时,为 sysvinit 提供后备启动项 (#757298)

b) 开发一种机制来警告 systemd 不支持的 inittab 配置。(#761063)

c) 提供有关如何在升级时保留 sysvinit 以及在安装时切换到 sysvinit 的文档。

此外(我没有做任何研究是否特别是对于 Debian 的情况)一些 systemd 单元文件只是 init 脚本的包装器。

相关内容