Debian 上的新贵?

Debian 上的新贵?

我在 Ubuntu 中创建了一个 upstart 脚本,认为对于 Debian 来说也是一样的。但 Debian 没有/etc/initUbuntu 有的文件夹。我去了暴发户下载页面并看到他们有软件包,做了一个apt-get install upstart,但它要求删除 sysvinit,我知道这会/可能会搞砸我的系统。那么如何让我的 Ubuntu 脚本在 Debian 上运行呢?

答案1

这不是直接关于 Debian 与 Ubuntu 的问题,而是关于系统初始化暴发户。 Debian 默认为 SysVinit;您可以安装 Upstart,但您需要知道自己在做什么,并且在考虑将其安装到生产服务器上之前应该熟悉它。尽管理论上可以同时安装两者,但只有其中一个作为进程号 1 运行,但 Debian 并不直接支持这一点。

Upstart 比 SysVinit 更年轻并且具有更多功能,这解释了为什么您不能只获取 Upstart 服务描述并将其提供给 SysVinit。你必须写一个脚本为/etc/init.d。基本上,该脚本需要查看其第一个参数 ( $1) 和startstoprestart按指示查看服务。

如果您使用 Upstart 事件来确定何时启动脚本,则必须使用一些其他方法。 Upstart 从许多不同来源收集事件;你可以从 Upstart 获取的任何地方获取触发器,Upstart 在这方面只是一种方便的方法,无需在许多不同的地方和协议中寻找触发器。

答案2

之所以要删除,sysvinit是因为这两者是冲突的。另请注意,这sysvinit被认为是必不可少的(阅读:不要删除,除非你知道你在做什么)。

“aptitude show upstart”的部分输出:

Conflicts: startup-tasks, system-services, sysvinit, upstart-compat-sysv, upstart-job

如果您有能力给系统浇水,请继续安装它。

相关内容