启动:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Qiii2006留言 | 贡献
无编辑摘要
Qiii2006留言 | 贡献
第26行: 第26行:


==/etc/rc2.d==
==/etc/rc2.d==
该目录为runlevel=2环境(就是Ubuntu默认情况)的启动项
<pre>qii@ubuntu:/etc/rc2.d$ ls
README            S20nginx              S20xinetd      S50rsync      S90binfmt-support  S99grub-common
S19postgresql-8.4  S20speech-dispatcher  S25bluetooth  S50saned      S91apache2        S99ondemand
S20fancontrol      S20wicd              S50cups        S70dns-clean  S91lighttpd        S99rc.local
S20kerneloops      S20winbind            S50pulseaudio  S70pppd-dns  S99acpi-support
</pre>
其中'''S'''表示启动,随后的'''数字'''表示启动的顺序。
手动的话将'''S'''重命名为'''K''',运行
<pre>sudo update-rc.d script defaults</pre>
可以禁用某个服务,不过比较麻烦,方便的方法见后面。
==update-rc.d==
==update-rc.d==
添加启动项,例如mysql
添加启动项,例如mysql

2010年8月1日 (日) 18:39的版本

Ubuntu 系统的启动流程、增/删启动项

init

Linux 内核启动 init ,init进程ID是1,是所有进程的父进程,所有进程由它控制。

/etc/event.d

Ubuntu 的启动由upstart控制,自9.10后不再使用/etc/event.d目录的配置文件,改为/etc/init。

runlevel

查看当前的运行级别,Ubuntu 桌面默认是2。

runlevel

Ubuntu 的系统运行级别:

0        系统停机状态
1        单用户或系统维护状态
2~5      多用户状态
6        重新启动 
S

切换运行级别,执行命令:

int [0123456Ss]

即在 init 命令后跟一个参数,此参数是要切换到的运行级的运行级代号,如:用 init 0 命令关机;用 init 6 命令重新启动。

sysv-rc-conf

查看/修改不同运行级别的启动项,可以发现Ubuntu(其实是Debian)2-5之间的runlevel效果是一样的。

sudo apt-get install sysv-rc-conf 
sudo sysv-rc-conf 

/etc/rc2.d

该目录为runlevel=2环境(就是Ubuntu默认情况)的启动项

qii@ubuntu:/etc/rc2.d$ ls
README             S20nginx              S20xinetd      S50rsync      S90binfmt-support  S99grub-common
S19postgresql-8.4  S20speech-dispatcher  S25bluetooth   S50saned      S91apache2         S99ondemand
S20fancontrol      S20wicd               S50cups        S70dns-clean  S91lighttpd        S99rc.local
S20kerneloops      S20winbind            S50pulseaudio  S70pppd-dns   S99acpi-support

其中S表示启动,随后的数字表示启动的顺序。

手动的话将S重命名为K,运行

sudo update-rc.d script defaults

可以禁用某个服务,不过比较麻烦,方便的方法见后面。

update-rc.d

添加启动项,例如mysql

qii@ubuntu:/etc/rc2.d$ sudo update-rc.d mysql defaults 
update-rc.d: warning: /etc/init.d/mysql missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/mysql ...
   /etc/rc0.d/K20mysql -> ../init.d/mysql
   /etc/rc1.d/K20mysql -> ../init.d/mysql
   /etc/rc6.d/K20mysql -> ../init.d/mysql
   /etc/rc2.d/S20mysql -> ../init.d/mysql
   /etc/rc3.d/S20mysql -> ../init.d/mysql
   /etc/rc4.d/S20mysql -> ../init.d/mysql
   /etc/rc5.d/S20mysql -> ../init.d/mysql

删除启动项

qii@ubuntu:/etc/rc2.d$ sudo update-rc.d -f mysql remove 
 Removing any system startup links for /etc/init.d/mysql ...
   /etc/rc0.d/K20mysql
   /etc/rc1.d/K20mysql
   /etc/rc2.d/S20mysql
   /etc/rc3.d/S20mysql
   /etc/rc4.d/S20mysql
   /etc/rc5.d/S20mysql
   /etc/rc6.d/K20mysql

rcconf

查看,修改当前运行级别的启动项

sudo apt-get install rcconf
sudo rcconf