


Linux初始化:系統V的Init過程
的LINUX init的差別。Init是由核心在系統boot時運行的程序。由它負責啟動所有的需
要在boot時運行的進程。其中包括供您登入的getty,NFS守護進程,FTP守護進程,
以及任何需要機器在boot時啟動的進程。
Sys V init迅速成為LINUX世界中boot時啟動進程的標準。因為它比BSDinit更容易使
用也更為強大和靈活。
Sys V init與BSD init不同,其配置文件位于/etc下面的一個名為rc.d子目錄中,而不是直
接放在/etc下。在rc.d下您會發現rc.sysinit以及以下目錄:
init.d
rc0.d
rc1.d
rc2.d
rc3.d
rc4.d
rc5.d
rc6.d
init.d下面有許多腳本程序。一般來說,針對每一項需要在boot或轉變運行級時啟動
的服務均需要一個腳本程序。這些服務包括網絡,NFS,sendmail,httpd等等。
服務中不包括那些象setserial一樣只運行一次就退出的命令。而那些東西應當放在
rc.local或rc.serial中。如果您需要rc.local的話,就把它放在/etc/rc.d下。大多數系統都包括
這樣一個腳本,即便也沒什么用。您需要的話還可以在/etc/rc.d下放置一個rc.serial,
用于boot時做與串口相關的操作。事件的執行過程是這樣的:
系統核心在幾個地方查找init并開始執行第一個發現的init。
由init來執行/etc/rc.d/rc.sysinit
rc.sysinit執行了一系列的操作后接著運行rc.serial(如果存在的話)
由init執行所有默認運行級下的腳本程序
init執行rc.local
默認的運行級由/etc/inittab控制。在該文件前面應有一行:
id:3:initdefault:
對于大多數系統,您將會發現第二列的值被設置為3,也就是默認運行級為3。如果您
想改變默認運行級,就編輯/etc/inittab,將3改為其它數值。對于這種操作一定要小心。
如果您搞糟了,可以重新啟動機器并執行如下操作:
LILO boot: linux single
這可以使您以單用戶方式boot,以修正inittab文件。
那么,那些腳本是如何運行的呢?您在rc3.d下鍵入ls -l 會看到下列文件:
lrwxrwxrwx 1 root root 17 3:11 S10network -> ../init.d/network
lrwxrwxrwx 1 root root 16 3:11 S30syslog -> ../init.d/syslog
lrwxrwxrwx 1 root root 14 3:32 S40cron -> ../init.d/cron
lrwxrwxrwx 1 root root 14 3:11 S50inet -> ../init.d/inet
lrwxrwxrwx 1 root root 13 3:11 S60nfs -> ../init.d/nfs
lrwxrwxrwx 1 root root 15 3:11 S70nfsfs -> ../init.d/nfsfs
lrwxrwxrwx 1 root root 18 3:11 S90lpd -> ../init.d/lpd.init
lrwxrwxrwx 1 root root 11 3:11 S99local -> ../rc.local
您會發現這個目錄下沒有“真正”的文件。全都是一些指向init.d目錄下腳本的符號連接
。符號連接由字母“S”或“K”和字母組成,S表示啟動某個腳本而K表示停止。
這里的數字僅用來安排執行的先后次序。Init將依次啟動所有的服務。數字可以重復,
但這只會把自己給搞糊涂。您只需使用兩位數字連同大寫的“S”或“K”來指示啟動
或停止服務。
Init是如何啟動和停止服務的呢?很簡單,每個腳本被書寫成接受一個“start”或
“stop”的參數。實際上您可以以手工的執行以下的命令:
/etc/rc.d/init.d/httpd.init stop
來停止httpd服務器。Init僅僅讀出文件名,如果它有字母“K”就以stop為參數調用該腳
本,而有字母“S”時就以stop為參數調用該腳本。那么為什么設置那么多的運行級呢?
一些人是想將機器設置成為多種目的服務。比如我可以有一個僅運行httpd,sendmail,
網絡服務等的運行級,還可以有一個只運行xdm,網絡服務等的運行級。
11.9.3 Init 的運行級
Generally, Red Hat Linux runs in run level 3---full multiuser mode.
The following runlevels are used in Red Hat Linux:
0
停機t.
1
單用戶模式
2
多用戶模式,但不提供NFS服務
3
全功能多用戶模式
6
重新啟動機器
如果您的機器進入了這樣一種狀態,系統由于損壞的/etc/inittab而不能boot,由于受損
的/etc/p
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解