ubuntu 自动启动和服务管理

时间:11-06-17 栏目:技术 作者:liva 评论:0 点击: 2,533 次

ubuntu 开机、重启和关机等,都会启动或杀死预定义的一些服务,就象windows下的服务一样,我们可以增加或减少一些服务,达到优化系统目的。 这其中有一个很重要的概念,就是运行级。 有个系统启动和服务管理软件 BUM,先来安装它:

安装系统启动程序管理器 Boot-Up Manager (BUM)
sudo apt-get install bum

运行管理器:
gksudo bum

指给运行的图形界面的程序 bum root权限。

另外一个服务管理软件:

sudo apt-get install sysv-rc-conf

然后这样起动:

sudo sysv-rc-conf

在这个软件里,可以用键盘的方向键移动,用空格选取,也可以直接用鼠标选取,最后用q保存退出,一下列出服务的名称和基本的解释。

一、服务 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

其实在ubuntu debian系统中有更加方便的服务管理软件-update-rc.d

运行级别

Ubuntu中的运行级别

0(关闭系统)

1(单用户模式,只允许root用户对系统进行维护。)

2 到 5(多用户模式,其中3为字符界面,5为图形界面。)

6(重启系统)

切换运行级别

init [0123456Ss]

例如:init 0 命令关机; init 6 命令重新启动

启动项管理工具

sudo install sysv-rc-conf //或者使用带gui的工具bum

sudo sysv-rc-conf

update-rc.d命令详解

从所有的运行级别中删除指定启动项

update-rc.d -f remove

按指定顺序、在指定运行级别中启动或关闭

update-rc.d start|stop

实例:update-rc.d apachectl start 20 2 3 4 5 . stop 20 0 1 6 .

解析:表示在2、3、4、5这五个运行级别中,由小到大,第20个开始运行apachectl;在 0 1 6这3个运行级别中,第20个关闭apachectl。这是合并起来的写法,注意它有2个点号,效果等于下面方法:

update-rc.d apachectl defaults

A启动后B才能启动,B关闭后A才关闭

update-rc.d A defaults 80 20

update-rc.d B defaults 90 10

启动和关闭顺序为90,级别默认

update-rc.d defaults 90

参考文档:
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

声明: 本文由( liva )原创编译,转载请保留链接: ubuntu 自动启动和服务管理

ubuntu 自动启动和服务管理:等您坐沙发呢!

发表评论


购物推荐

赞助商

© 2013 enjoydiy.com. Design by zijiao. 54 queries in 0.322 seconds, using 21.04MB memory