ubuntu开启启动过程&&开启自动启动 &&chkconfig

ubuntu开启启动过程&&开启自动启动 &&chkconfig

摘要:很多情况下,我们需要让某些服务开机自动运行:apachemysql等。或者,在其他时候,我们需要开机即设置某些环境变量的值,修改runlevel等;这个时候,我们需要弄明白系统的开机启动过程。


1.ubuntu开启启动过程:

一般的linux系统,开机启动过程如下:


boot>> loader >>kernel >>init >> inittab >>rcS.conf >> rc.conf >> rc2.d >> rc.local


对于centos系列的系统,init进程会读取/etc/inittab(文件内容如下id:5:initdefault:),决定启动的runlevel,系统初始化由/etc/init/rcS.conf完成,不runlevel的初始化由/etc/init/rc.conf进行选择,然后由特定的脚本文件/etc/rc.d/rc2来执行,注意rc2是一个目录,下面的文件实际上是指向/etc/init.d/中的文件链接。rc.local会在所以初始化工作的随后来执行。所以,对于用户而言,如果我们想要我们的修改对于所有的启动级别都生效,那么需要改动rc.local;如果需要改动默认的runlvel,需要改动inittab


ubuntu的启动过程与centos系列系统类似,但是在runlevel的处理上有所不同。centos是由文本配置文件来决定runlevelubuntu系统是由由/var/run/utmp来决定了,这个文件会被reboot等程序不断改写,里面保存的是上一次的runlevel.使用runlevel命令,可以查看当前runlevel.


初始化完成后,就是登录,执行特定的脚本文件,完成环境变量的初始化。


2.开启开机自动启动服务&&环境变量初始化


如同windows下的开机自动启动一样,某些时候我们需要设置一些服务的开机自动启动选项。常用的linux系统服务如下(部分):


NetworkManager

为了自动连接网络的服务


x

可以不用

acpid

高级配置和电源管理接口

开启,高级电源管理

anacron

一个自动化运行任务的服务

x

crond高级的玩意,可以不用

apmd

高级电源管理(支持旧硬件)

x

可以不用,apmdacpid二选一

atd

类似于cron的任务调度系统

x

按需启用,一般用cron

auditd

内核审计守护程序

x

可以不用,Seliux相关

autofs

光驱NFSSMB自动加载卸载功能

按需启用


2.1开机自动启动:

传统做法,可以在rc.local使用shell命令来打开或者关闭某些服务;这种做法对所有的rulevel有效。


2.2设置环境变量:

理论上说,我们可以在rc.local中处理;更传统的做法,我们一般在/etc/profile等文件中进行设置;或者在nologinfile中进行设置。


3.chkconfig

在比较新的ubuntu系统中,chkconfig已经不再使用。

你可能感兴趣的:(ubuntu,开机启动,自动化,upstart)