如何阻止Apache2在启动时自动启动?开机时似乎找不到禁用自动启动的选项。

评论

也许有人可以更具体一些,但是我可以为您指明正确的方向……在/ etc中,有rc * .d的目录,其中包含所有启动/停止脚本,我认为它们是初始化脚本。您将看到/etc/init.d中脚本的链接,这些脚本以“ k”或“ s”开头(代表“ kill”或“ start”),以及一个数字(按顺序)。

是的,我知道/etc/rcX.d目录,但是我进行了搜索,以找到一些更好的工具,而不仅仅是手动重命名文件(寿命太短)。 update-rc.d填补了这个空白。

#1 楼

在文件夹/etc/init.d/下,您会找到用于不同启动服务的所有初始化脚本,例如apache2,网络等。

根据计算机启动的运行级别,会启动不同的服务。
因此,从/etc/init.d/文件夹中将每个“服务”链接到一个从rc0.drc6.d命名的一个/很多/没有运行级别文件夹。

要禁用apache2,只需键入:

sudo update-rc.d apache2 disable


这将在启动时禁用apache2,但不会将其删除因此可以再次启用它。要删除apache2启动脚本,请执行以下操作:

要删除apache2,只需键入:

sudo update-rc.d -f  apache2 remove


这样做将导致所有运行级别文件夹链接到要删除的apache2。

评论


chkconfig也可能有帮助-“ chkconfig {service_name} off”

– MCR
2012年8月1日在7:10

不再起作用:您尝试调用的脚本已转换为Upstart作业,但是Upstart作业不支持lsb-header。 (...)

– TomDogg
2015年4月29日在9:34

@TomDogg,您可以指定使用的版本吗?此答案适用于Ubuntu 14.04.3上的Apache 2

–戴尔·安德森(Dale Anderson)
15年11月2日在20:20



如何还原服务?

– Eugen Konkov
16年4月14日在8:12

警告!这将删除服务!使用sudo update-rc.d apache2 disable。

–爱德华多·库莫(Eduardo Cuomo)
17年1月17日在19:37

#2 楼

您可以通过以下方式简单地禁用它:

sudo update-rc.d apache2 disable


,然后如果您想再次启用它:

sudo update-rc.d apache2 enable


根据我正在从事的项目,如果希望重新启用该服务,可以方便地使用该服务。

评论


enable给了我一个错误,例如运行级别参数(无)与LSB Default-Start值不匹配,但是sudo update-rc.d apache2默认值似乎已成功重新启用了它。

–这里
2014年1月13日,3:58

@here sudo update-rc.d apache2启用了预期的功能

–乔治Pligoropoulos
2014年2月9日15:12

在Ubuntu Trusty上,它告诉我“ disable | enable API不稳定,将来可能会更改。”

–鞣剂
2014年6月10日下午0:31

不起作用-错误:没有要修改的运行级符号链接,正在中止!但是,apache2正在运行并自动启动。

–丹尼尔·马克(Daniel Kmak)
2014年12月14日上午11:05

不再起作用:update-rc.d:错误:没有要修改的运行级符号链接,正在中止!

– TomDogg
15年4月29日在9:33

#3 楼

有了systemd,我们现在可以使用systemctl命令来防止服务在启动时自动启动。

这是一个示例:

sudo systemctl disable apache2


您将仍然能够启动和停止该服务,但无法在启动时启动。

评论


Linux Mint仍基于Ubuntu 14.04。 Ubuntu从15.04开始使用systemd。

–twan163
2015年12月6日23:01

如twan163所说的@ dragonmnl,systemd适用于较新的版本(debian jessie或同等的+)

– mchid
2015年12月8日在21:55

这在Debian上效果很好

– Anupam
17年7月19日在12:37

Debian 9+的正确答案

–约翰
17年11月24日在5:12

如果遇到update-rc.d:错误:没有要修改的运行级符号链接,正在中止!,重新创建以下任何缺少的simlinks;然后重试:/etc/rc0.d/K01 <服务> /etc/rc1.d/K01 <服务> /etc/rc2.d/S99 <服务> /etc/rc3.d/S99 <服务> / etc / rc4.d / S99 <服务> /etc/rc5.d/S99 <服务> /etc/rc6.d/K01 <服务>

–阿米尔·瓦杜瓦瓦拉(Amil Waduwawara)
18年8月11日在2:26

#4 楼

认为我只是将@gsullins和@tomodachi添加到答案中,以供将来使用接受的答案的读者使用。

如果您已经使用过: br />
您可以使用参数defaults将apache2重新添加到自动启动中

sudo update-rc.d apache2 remove


然后您可以启用/禁用

sudo update-rc.d apache2 defaults