Debian上的暴发户?


20

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

Answers:


12

这与Debian与Ubuntu无关,而与SysVinitUpstart有关。Debian默认为SysVinit;您可以安装Upstart,但是您需要了解自己在做什么,并且在考虑将其安装在生产服务器上之前应该先熟悉它。尽管理论上可以同时安装两者,但只有其中一个以进程号1运行,Debian不支持此功能。

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

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


那么,Ubuntu如何同时使用新贵和SysVinit(或看上去)呢?
ColinM

@ColinM Ubuntu不使用SysVinit。
吉尔(Gilles)'所以

5

它要删除的原因sysvinit是因为这两个是冲突。另外,请注意,这sysvinit是必不可少的(阅读:除非您知道自己在做什么,否则不要删除它)。

'aptitude show upstart'的部分输出:

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

如果您有能力用软管连接系统,请继续安装。


不,它是生产服务器。我无法创建可以从终端启动和停止的服务吗?
theTuxRacer 2011年

然后将您的脚本放入/etc/init.d并使其了解最少的start|stop|restart命令。您不需要upstart运行脚本,只需运行通常的命令行即可。
Alex

@kau您如何将生产服务器克隆到某些测试计算机上并安装新贵并进行测试?
tshepang 2011年

@alex @Tshepang您可以看看并提供建议吗?paste.ubuntu.com/555683未执行jar。
theTuxRacer 2011年

您不需要exec那里-阅读有关shell脚本的一些手册和/或书籍。
Alex
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.