debian 9|Debian vps设置软件开机自启动步骤

更新时间:2019-11-11    来源:linux    手机版     字体:

【www.bbyears.com--linux】


debian启动过程

1、init运行级别

linux的启动过程一文中,我介绍了linux启动需要哪些过程。其中,在第五步时会在加载init程序,配置文件为/etc/inittab,这个文件会指定init执行/etc/init.d/rcS脚本,该脚本又通过子进程执行/etc/rcS.d/目录下的脚本,如检测挂载文件系统,转载内核模块,启动网络服务,设置时钟还有其他初始化工作。接着,为了兼容性,会执行/etc/rc.boot/目录下,所有文件名不含”.”的文件。

启动过程之后,init程序执行默认运行级别中的启动脚本,运行级别会在/etc/inittab文件中指定。Linux有7个运行级别.分别为

0 系统停机状态
1 单用户或系统维护状态
2~5 多用户状态
6 重新启动
相应的在/etc目录下会有rc0.d、rc1.d、、、rc6.d这样六个目录,对应着每个运行级别。rcN.d目录中放置的是init.d中脚本的链接,事实上,在任一个/etc/rcN.d/目录下的文件都是一个到/etc/init.d/的符号链接。rcN.d/目录下文件命名方式决定了哪个脚本将会运行,”K”开头的在进入该运行级别时默认在执行,执行相应的脚本,会杀掉该服务。而所有S开头的,则在进入运行级别时,会被执行。字母之后的两位数字指定启动的顺序,较小的数字将先被执行。

在机器引导时,init从运行级0开始,一级一级往上运行到在/etc/inittab中所设置的默认运行级别。Debian系统默认运行级别的id=2,也就说/etc/rc2.d下的脚本会在多用户状态下运行。

2、/etc/rc.local

rc.local也是常使用的一个脚本。该脚本是在系统初始化级别脚本运行之后再执行的,因此可以安全地在里面添加你想在系统启动之后执行的脚本。

设置软件自启动方法

常用的有两种方法:修改/etc/rc.local及添加开机服务。推荐第二种方法。

1、修改/etc/rc.local

编辑/etc/rc.local

vi /etc/rc.local

在在 exit 0 前面添加好脚本代码,以shadowsocks为例:


/etc/init.d/shadowsocks-libev start
exit 0

2、添加开机服务

首先需要要执行的脚本在/etc/init.d/目录下

然后采用如下方式添加服务


update-rc.d xxx defaults

事实上该命令的作用是在rc0.d、rc1.d、、、rc6.d六个目录下建立软连接。

同样以shadowsocks为例,首先查看下/etc/init.d/目录下有没有shadowsocks-libev,经过查看确实有。
然后执行以下命令:

update-rc.d shadowsocks-libev defaults

这样就可以了。

如果想移除该开机服务,可以使用如下代码

update-rc.d -f xxx remove

小结

上面介绍了设置debian开机自启动的两种方法:修改/etc/rc.local及添加开机服务法。

本文来源:http://www.bbyears.com/caozuoxitong/78554.html