linux启动过程

1、 chkconfig用法:chkconfig命令可以用来检查、设置系统的各种服务,使用语法:

chkconfig [–add][–del][–list][系统服务]或 chkconfig [–level <等级代号>][系统服务][on/off/reset]

参数用法:–add  增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。–del  删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。–level<等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕。/etc/inittab中规定的级别,默认情况下,on或off选项仅对2、3、4、5有影响,而reset影响所有的运行级。–level选项可以被用于指定哪个运行级别接收影响。

–list查看启动项。

实例:

# chkconfig –listNetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:offNetworkManagerDispatcher 0:off 1:off 2:off 3:off 4:off 5:off 6:offacpid 0:off 1:off 2:off 3:on 4:on 5:on 6:offanacron 0:off 1:off 2:on 3:on 4:on 5:on 6:offapmd 0:off 1:off 2:on 3:on 4:on 5:on 6:offatd 0:off 1:off 2:off 3:on 4:on 5:on 6:offauditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off……如果想要启动httpd服务,首先查看httpd的状态。

chkconfig –list httpd

# chkconfig –list httpdhttpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

# chkconfig httpd off 关闭服务# chkconfig httpd on 开启服务也可以选择 level开启服务# chkconfig –level 345 httpd on

# chkconfig –level 345 httpd onhttpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off

在/etc/init.d目录下,任意打开一个启动脚本,你会发现在其顶部的注释中,基本上都有以下一行:

chkconfig 235 56 34(也可能是其他数字组合)

就以chkconfig 235 56 34为例,235表示该启动脚本对应的服务将在系统启动级别2, 3, 5级启动。而56表示其启动优先级为56,所谓的优先级,就是在rc脚本中出现在各个符号链接名中的数字。而34就是终止优先级。

2、linux的开机启动项命令 ntsysv,图形界面方式:

1)ntsysv和chkconfig都是对相应runlevel下的服务进行on,off操作,但这个操作不是及时生效的,是下次系统启动时是否生效。其实这两个命令就是把/etc/rc.d/rcN.d/下的服务状态与/etc/rc.d/init.d/下的服务根据ntsysv或chkconfig设置的状态做K(kill)状态或S(start)状态。其中K状态表示启动时不自动运行,S状态表示启动时自动运行。

2)ntsysv和chkconfig不同点是ntsysv是类似图形化的操作,而chkconfig是纯CLI模式的。

3)chkconfig提供一种简单的命令行工具来帮助管理员对/etc/rc[0-6].d目录层次下的众多的符号链接进行直接操作。此命令使用是由chkconfig命令在IRIX操作系统提供授权。不用在/etc/rc[0-6].d目录下直接维护配置信息,而是直接在/etc/rc[0-6]下管理链接文件。在运行级别的目录下的配置信息通知在将会初始启动哪些服务。

3、关于启动项:

0)linux /etc/rc.d/目录的详解,rc.d的内容如下:init.d/ :各种服务器和程序的二进制文件存放目录。rcx.d/: 各个启动级别的执行程序连接目录。里头的东西都是指向init.d/的一些软连接。具体的后边叙述。还有三个脚本:rc.sysinit, rc, rc.local

redhat的启动方式和执行次序是:/etc/rc.d/rc.sysinit # 由init执行的第一个脚本

1)关于linux的启动:

A.加载内核,执行init程序(init是所有进程之父),init读取/etc/inittab,执行rc.sysinit脚本;

B.rc.sysinit根据inittab执行rc?.d脚本;

C./etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式D./etc/rc.d/rc.localE ./sbin/mingetty # 等待用户登录

注:etc/rc.d/rc则根据其参数指定的运行模式(运行级别,你在inittab文件中可以设置)来执行相应目录下的脚本。凡是以Kxx开头的,都以stop为参数来调用;凡是以Sxx开头的,都以start为参数来调用。调用的顺序按xx从小到大来执行。例如,假设缺省的运行模式是3,/etc/rc.d/rc就会按上述方式调用/etc/rc.d/rc3.d/下的脚本。值得一提的是,Redhat中的运行模式2、3、5都把/etc/rc.d/rc.local做为初始化脚本中的最后一个,所以用户可以自己在这个文件中添加一些需要在其他初始化工作之后,登录之前执行的命令。

2)所有启动脚本放置在 /etc/rc.d/init.d下,/etc/rc.d/rc?.d中放置的是init.d中脚本的链接,命名格式:S{number}{name} K{number}{name} S开始的文件向脚本传递start参数K开始的文件向脚本传递stop参数number决定执行的顺序

3)关于/etc/rc.d/rc.local:经常使用的 rc.local则完全是习惯问题,不是标准。吧需要启动的脚本写到改文件中;

4)

示例auto_run脚本的前三行如下:#!/bin/sh#chkconfig: 2345 80 90#description:auto_run第一行,告诉系统使用的shell,所以的shell脚本都是这样。第二行,chkconfig后面有三个参数2345,80和90告诉chkconfig程序,需要在rc2.d~rc5.d目录下,创建名字为S80auto_run的文件连接,连接到/etc/rc.d/init.d目录下的的auto_run脚本。第一个字符是S,系统在启动的时候,运行脚本auto_run,就会添加一个start参数,告诉脚本,现在是启动模式。同时在rc0.d和rc6.d目录下,创建名字为K90auto_run的文件连接,第一个字符为K,个系统在关闭系统的时候,会运行auto_run,添加一个stop,告诉脚本,现在是关闭模式。注意上面的三行是中,地二,第三行是必须的,否则在运行chkconfig –add auto_run时,会报错。

总结系统脚本可以放置在/etc/rc.d/init.d中并建立/etc/rc.d/rc?.d链接,也可以直接放置在/etc/rc.d/rc.local中。init.d脚本包含完整的start,stop,status,reload等参数,是标准做法,推荐使用。为特定用户使用的程序(如有的用户需要使用中文输入法而有的不需要)放置在~/中的bash启动脚本中。

不付出,却一定不会有收获,不要奢望出现奇迹。

linux启动过程

相关文章:

你感兴趣的文章:

标签云: