ubuntu 自动启动和服务管理
ubuntu 开机、重启和关机等,都会启动或杀死预定义的一些服务,就象windows下的服务一样,我们可以增加或减少一些服务,达到优化系统目的。 这其中有一个很重要的概念,就是运行级。
有个系统启动和服务管理软件 BUM,先来安装它:
安装系统启动程序管理器 Boot-Up Manager (BUM)
sudo apt-get install bum
运行管理器:
gksudo bum
指给运行的图形界面的程序 bum root权限。
一、服务 services
保留启动的服务:
1.acpid
2.klogd
3.dbus
4.gdm
5.ppp
6.makedev
7.rsync
8.cron
9.usplash
10.fetchmail
二、启动和关闭系统脚本 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