startup and shutdown scripts

二、启动和关闭系统脚本 Startup and shutdown scripts 

先认识运行等级(个人理解): 

*运行等级 S:开机进程中的第一个运行等级。若/etc/rcS.d 下的链接文件开头子母是大写的,那么它链接的在 /etc/init.d 下的对应脚本将被调用并开启,该进程将被执行。 

*运行等级 1:(single-user)单用户模式。/etc/rc1.d 目录下链接文件开头子母是大写的,那么它链接的在 /etc/init.d 下的对应脚本将被调用并开启,该进程将被执行。 

*运行等级 2,3,4,5: (multi-user)多用户环境,可能不包含图形用户界面。同样的,在对应目录 /etc/rc2~5 下开头是大写字母的链接文件,其对应的etc/init.d下的脚本被调用运行。 

*运行等级 0:(halt)关闭计算机 
*运行等级 6:(reboot)重起计算机 

对各个运行级的详细解释: 
0 为停机,机器关闭。 
1 为单用户模式,就像Win9x 下的安全模式类似。 
2 为多用户模式,但是没有NFS 支持。 
3 为完整的多用户模式,是标准的运行级。 
4 一般不用,在一些特殊情况下可以用它来做一些事情。 
例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。 
5 就是 X11 ,进到 X Window 系统了。 
6 为重启,运行 init 6 机器就会重启。 

*链接文件的开头S(start)或K(kill)后紧接的数字是指运行的顺序,数字小的运行在前。 

*运行级定义在 /etc/inittab 下,命令:cat /etc/inittab 可查看设置。 

于 是,在系统开机、关机、重启等时期,就会有不同的运行级的服务可启动或杀死,各运行级的链接文件分别保存在/etc/rc*.d 文件夹内,它们都链接到 /etc/init.d 文件夹内的脚本文件(即服务)。链接文件的开头字母大小写是调入脚本的开关,大写即调入运行,小写即不调入运行。 

*新增运行级链接文件命令: 
sudo ln --symbolic /etc/init.d/脚本名(或说服务名) /etc/rc*.d/S**脚本名 

ln --symbolic 指建立软链接 
/etc/init.d/脚本名(或说服务名) 指链接目的文件(或目录) 
/etc/rc*.d/S**脚本名 指要建立的链接文件名,rc*是rcS或rc0~6,S**是S加数字 

如:sudo ln /etc/init.d/mdadm-raid /etc/rcS.d/S04mdadm-raid 

指:在目录 /etc/rcS.d (即运行级S)下建立到 /etc/init.d/mdadm-raid (mdadm-raid服务)的链接 S04mdadm-raid ,这样,系统启动后,排在运行顺序第4的服务 mdadm-raid 被启用。 


现在关闭不需要的服务: 
(将运行级的链接文件名的第一个字母由大写改为小写 S-->s,K-->k) 

先用 locate 找到相关链接文件所在的运行级目录链接文件,然后改第一个字母为小写,从而关闭对应的服务。 

1.mdadm-raid (Raid tool. If you don't have Raid devices, turn it off. The default is S.) 

sudo mv /etc/rcS.d/S04mdadm-raid /etc/rcS.d/s04mdadm-raid 

2.linux-restricted-modules-common(Non-free Linux 2.6.12 modules helper script) 

locate linux-restricted-modules-common 有三个运行级: 
/etc/rc0.d/S01linux-restricted-modules-common 
/etc/rc6.d/S01linux-restricted-modules-common 
/etc/rcS.d/S15linux-restricted-modules-common 

分别关闭: 
sudo mv /etc/rc0.d/S01linux-restricted-modules-common /etc/rc0.d/s01linux-restricted-modules-common 
sudo mv /etc/rc6.d/S01linux-restricted-modules-common /etc/rc6.d/s01linux-restricted-modules-common 
sudo mv /etc/rcS.d/S15linux-restricted-modules-common /etc/rcS.d/s01linux-restricted-modules-common 

3.lvm(Handles physical Hard Disk Volumes in Logical groups) 
动态改变、新增逻辑卷而不必重启机器?服务器管用。 

locate lvm 有三个运行级: 
/etc/rc0.d/S50lvm 
/etc/rc6.d/S50lvm 
/etc/rcS.d/S26lvm 

分别关闭: 
sudo mv /etc/rc0.d/S50lvm /etc/rc0.d/s50lvm 
sudo mv /etc/rc6.d/S50lvm /etc/rc6.d/s50lvm 
sudo mv /etc/rcS.d/S26lvm /etc/rcS.d/s26lvm 

4.evms(Hard Disk Volume Management) 
locate evms 有三个运行级: 
/etc/rc0.d/S49evms 
/etc/rc6.d/S49evms 
/etc/rcS.d/S27evms 

分别关闭: 
sudo mv /etc/rc0.d/S49evms /etc/rc0.d/s49evms 
sudo mv /etc/rc6.d/S49evms /etc/rc6.d/s49evms 
sudo mv /etc/rcS.d/S27evms /etc/rcS.d/s27evms 

5.readahead(预读取 Speeds up boot by starting operations early) 
听说并不会让程序快多少,试试关闭。 
locate readahead 有三个运行级: 
/etc/rc0.d/K76readahead 
/etc/rc6.d/K76readahead 
/etc/rcS.d/S39readahead 

关闭: 
sudo mv /etc/rc0.d/K76readahead /etc/rc0.d/k76readahead 
sudo mv /etc/rc6.d/K76readahead /etc/rc6.d/k76readahead 
sudo mv /etc/rcS.d/S39readahead /etc/rcS.d/s39readahead 

6.ifrename( Rename network interfaces based on various static criteria) 
多网卡命名?我只用一个eth0,关闭。 

sudo mv /etc/rcS.d/S40ifrename /etc/rcS.d/s40ifrename 

7.ntpdate(Update the system time using the Internet) 
启动最耗时的internet时间同步,关闭。 

sudo mv /etc/rcS.d/S51ntpdate /etc/rcS.d/s51ntpdate 


参考文档: 
Ubuntu 开机服务详解 
http://spaces.msn.com/clsjz/Blog/cns!1peBIp2gdkB2mTSadfikGr5g!227.entry 

Linux 运行级详解 
http://www.freelamp.com/1003238104/index_html 

如何启动或停止 /etc 下的服务? 
http://www.ubuntu.org.cn/support/doc...earchterm=init 
转:http://club.keekee.cn/showthread.php?p=28622

你可能感兴趣的:(startup and shutdown scripts)