关闭apache2服务:
安装sysv-rc-conf
sudo apt-get install sysv-rc-conf
运行sysv-rc-conf
sudo sysv-rc-conf
将apache2服务对应的开机启动全部去掉(即运行级别2345的都去掉)
关闭mysql/php7.0-fpm服务:
执行下面命令即可
sudo update-rc.d mysql disable
sudo update-rc.d php7.0-fpm disable
注:(以mysql服务为例)update-rc.d命令的作用似乎是在/etc/init/目录下,建立一个mysql.override文件,文件中只有一个单词manual,意思是手动启动;网上有方法说修改这个目录下的mysql.conf 配置文件,我试过,没有效果。成功执行命令会显示如下的提示,整体意思就是手动启动:
insserv: warning: current start runlevel(s) (empty) of script `mysql' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `mysql' overrides LSB defaults (0 1 6).
相关基础知识:
查看当前系统的运行级别(default:5)
runlevel // who -r 命令亦可
相关文件夹
/usr/lib/insserv/insserv 用来执行系统启动时脚本的应用程序
/etc/init.d/* 放系统启动时运行的脚本
/etc/init/* 放系统启动时相关服务的配置文件
update-rc.d的详情可以通过下面这篇文章加深理解,也可以通过命令update-rc.d -:
在Linux系统下,一个Services的启动、停止以及重启通常是通过/etc/init.d目录下的脚本来控制的。然而,在启动或改变运行级别时,是在/etc/rcX.d中来搜索脚本。其中X是运行级别的number。本文将解释如何启动、关闭和修改服务的运行。当你在Debian下安装一个新的服务,比如Apache2,安装完成后,默认情况下它会启动,并在下一次重启后自动启动。但是如果你不是一直需要这个服务,只在需要的时候启用它,你可以禁用它。直到你需要使用的时候,执行如下指令:
/etc/init.d/apache2 start
要实现这个目的,你需要先在/etc/rcX.d目录中删除所有apache2的符号链接,但这个方法操作麻烦,且效率低下。因此,我们建议你使用update-rc.d命令来实现这个功能。
1、删除一个服务
如果你想手动的完全禁用Apache2服务,你需要删除其中的所有在/etc/rcX.d中的单一链路。但是如果使用update-rc.d,则非常简单:
update-rc.d -f apache2 remove
参数-f是强制删除符号链接,即使/etc/init.d/apache2仍然存在。 Note:这个命令仅仅禁止该服务,直到该服务被升级。如果你想在服务升级后仍然保持被禁用。应该执行如下的命令:
update-rc.d apache2 stop 80 0 1 2 3 4 5 6 .
2、增加一个服务
如果你想重新添加这个服务并让它开机自动执行,你需要执行以下命令:
update-rc.d apache2 defaults
并且可以指定该服务的启动顺序:
update-rc.d apache2 defaults 90
还可以更详细的控制start与kill顺序:
update-rc.d apache2 defaults 20 80
其中前面的20是start时的运行顺序级别,80为kill时的级别。也可以写成:
update-rc.d apache2 start 20 2 3 4 5 . stop 80 0 1 6 .
其中0~6为运行级别。 update-rc.d命令不仅适用Linux服务,编写的脚本同样可以用这个命令设为开机自动运行。