【inittab文件格式】: id:runlevels:action:process
【過濾掉以#開頭的行 :grep -v “^#” /etc/inittab | more】
id: 標識符,一般為兩位數字或字母,是獨一無二的
runlevels: 運行級別,可以指定多個,如果此處為空,則表示從0~6各個運行級別都執行
action: 指定運行狀態
process: 制定運行的腳本或命令,最重要
正文分析:
語句1: id:5:initdefault:
initdefault: 系統指定缺省啟動的運行級別,系統默認啟動的指令
5: 可以將其改為3默認啟動字符界面,而不用啟動圖形界面
語句2: si::sysinit:/etc/rc.d/rc.sysinit
/etc/rc.d/rc.sysinit作用:完成系統服務程序的啟動,如:系統環境變量設置系統時鐘設置,加載字體,檢查加載文件系統,生成系統啟動信息日志。。。 【Shell腳本,run at once boot time】
sysinit:系統啟動執行process中的指令,無論哪個運行級別,只要系統啟動, 這個服務就會啟動
語句3: /etc/rc.d/rc
作用: 根據前文,判斷默認運行級別調用/etc/rc.d/rc腳本,執行下面相應運行級別的目錄中的服務程序,完成相應運行級別的初始化設置。
語句4: /etc/rc.d/rc[0123456].d //【Ubuntu中為/etc/rcN.d】
分別存放對應於運行級別的服務程序腳本的符號軟鏈接,
鏈接到init.d目錄中的相應腳本
S-start: 系統啟動時依次加載這些服務
K-kill : 系統關機時依次關閉這些服務【如果將文件名更改,則不會啟動】
數字: 表示啟動順序,數字越小,越優先啟動
腳本名稱: 如:vmware
如果不想啟動此服務只需將其改名即可,如:
rm S03-vmware-tools s03-vmware-tools //其不會自動啟動
action常用取值:
1、 initdefault,sysinit
2、 wait:執行process中指定的命令,並等其結束再運行其他命令
once:執行process中指定的命令,不等待其結束
3、 ctrlaltdel:按下Ctrl+Alt+Del時執行process指定
4、 respawn:一但process指定的命令運行終止,則重新運行該命令
5、 powerfail:當出現電源錯誤時執行process指定的命令,不等待其結束
powerokwait:當電源恢復時執行process指定的 命令的命令
/etc/rc.d/init.d 【Ubuntu中為:/etc/init.d】
該目錄保存了各運行級別的啟動腳本。這樣我們就可以手工啟動/關閉系統中任何一個服務
如:手動啟動ssh /etc/rc.d/init.d/sshd #提示選項信息
#另:Ubuntu中 : /etc/init.d/ssh
設置自啟動程序:
法1、生成軟鏈接 ln -s
如: 寫一個腳本程序 vim /etc/rc.d/init.d/msg.sh
data >> /root/msg.today
who >> /root/msg.today
free >> /root/msg.today
chmod u+x /etc/rc.d/init.d/msg.sh
ln -s /etc/rc.d/init.d/msg.sh /etc/rc.d/rc4.d/S100msg.sh //生成軟鏈接
法2、chkconfig: 只能更改系統默認安裝的服務
直接敲擊chkconfig會列出其用法,用法非常直觀簡單 ,需要安裝!
chkconfig --list 會列出在各個運行級別下缺省狀態下所有的服務程序
chkconfig --list sshd 只是顯示sshd的啟動情況
。。。
法3、ntsysv
如果敲擊ntsysv則是更改當前運行級別的啟動設置
其他運行級別:ntsysv -- levels 3
比較簡單直觀,需要安裝!【很多UNIX系統並沒有這個服務】
命令相關應用:
1、dmesg:查看啟動所有信息,查看硬件是否被內核所識別
dmesg | grep eth0 // 查看加載信息
dmesg | grep sda // 查看第一塊硬盤加載信息
2、系統所有的目錄文件都保存在/var/log文件目錄下
firmware 【CMOS/BIOS】 --POST家電自檢【軟/硬件時鐘同步,NTP】
|
BootLoader 【GRUB】【Windows中:NTLDR】:載入內核
| root--/boot
| kernel
| initrd
|
Kernel ? Hardware
| init PID=1 【父子進程關系】
|
/etc/inittab 文件格式 id:runlevels:action:process
|
initdefault 系統的默認運行級別:1、單用戶模式【安全模式】...
|
/etc/rc.d/rc.sysinit sysinit:系統初始化,無論哪種運行級別,都會運行這個文件
|
/etc/rc.d/rc
|
/etc/rc.d/rcN.d N = 0~6 S-start K-kill
|
username:
passwd:
【另:一定要養成使用幫助的習慣!】