inittab檔案剖析[CentOS 5.X](第二版),inittabcentos
inittab檔案剖析[CentOS 5.X]
grep -v “^#” /etc/inittab | more#過濾掉以#開頭的行
inittab檔案格式
id:runlevels:action:process
id:標識符,一般為兩位元字或字母
runlevels:運行層級,可以指定多個,若為空白,則表示從0~6各個運行層級都執行
action:指定運行狀態
process:制定啟動並執行指令碼或命令,最重要
/etc/inittab本文分析
語句1:
id:5:initdefault:
initdefault: 系統指定預設啟動的運行層級,系統預設啟動的指令
5:可以將其改為3預設啟動字元介面,而不用啟動圖形介面
語句2:
si::sysinit:/etc/rc.d/rc.sysinit
/etc/rc.d/rc.sysinit作用:完成系統服務程式的啟動,如:系統內容變數設定,系統時鐘設定,載入字型,檢查負載檔案系統,產生系統啟動資訊日誌等.
sysinit:系統啟動執行process中的指令,無論哪個運行層級,只要系統啟動,這個服務就會啟動
附-如果你有一個服務,無論任何運行層級,都希望它在一開機就能自動運行,則可以將之寫入/etc/rc.d/rc.sysinit檔案中.
語句3:
l3:3:wait:/etc/rc.d/rc 3
/etc/rc.d/rc
作用:根據前文,判斷預設運行層級調用/etc/rc.d/rc指令碼,執行下面相應運行層級的目錄中的服務程式,完成相應運行層級的初始化設定。
Linux服務儲存目錄:/etc/rc.d/rc[0123456].d
分別存放對應於運行層級的服務程式指令碼的符號軟連結,連結到init.d目錄中的相應指令碼
S-start:系統啟動時依次載入這些服務
K-kill :系統關機時依次關閉這些服務【如果將檔案名稱更改,則不會啟動】
數字:表示啟動順序,數字越小,優先啟動
附-如果不想啟動此服務只需將其改名即可,如:
mv S03-vmware-tools s03-vmware-tools#不會自動啟動
/etc/inittab檔案完整內容介紹
###表示當前預設運行層級為5(initdefault); id:5:initdefault: ###啟動時自動執行/etc/rc.d/rc.sysinit指令碼(sysinit) # System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 ###當運行層級為5時,以5為參數運行/etc/rc.d/rc指令碼,其他的會忽略,init將等待其返回(wait) l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 ###在啟動過程中允許按CTRL-ALT-DELETE重啟系統 # Trap CTRL-ALT-DELETE ca::ctrlaltdel:/sbin/shutdown -t3 -r now # When our UPS tells us power has failed, assume we have a few minutes # of power left. Schedule a shutdown for 2 minutes from now. # This does, of course, assume you have powerd installed and your # UPS connected and working correctly. pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" # If power was restored before the shutdown kicked in, cancel it. pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" ###在2、3、4、5層級上以ttyX為參數執行/sbin/mingetty程式,開啟ttyX終端用於使用者登入,如果進程退出則再次運行mingetty程式(respawn) # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 ###在5層級上運行xdm程式,提供xdm圖形方式登入介面,並在退出時重新執行(respawn) # Run xdm in runlevel 5 x:5:respawn:/etc/X11/prefdm -nodaemon
系統相關的指令碼,命令與日誌
1./etc/rc.d/init.d
該目錄儲存了各運行層級的啟動指令碼。這樣我們就可以手工啟動/關閉系統中任何一個服務[與/etc/init.d/目錄作用相同,在CentOS 5.x中/etc/init.d只是一個串連檔案]
如:手動啟動ssh /etc/rc.d/init.d/sshd#提示選項資訊
2.dmesg:查看啟動所有資訊,查看硬體是否被核心所識別
dmesg | grep eth0// 查看載入資訊
dmesg | grep sda// 查看第一塊硬碟載入資訊
3.系統所有的目錄檔案都儲存在/var/log檔案目錄下
檢查系統日誌/var/log/messages,尋找可能被dmesg忽略的應用程式錯誤!
設定程式開機自啟動
法1.產生軟連結 ln -s
如:編寫指令碼/etc/rc.d/init.d/msg.sh
data >> /root/msg.todaywho >> /root/msg.todayfree >> /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/rc3.d/S100msg.sh
法2.chkconfig: 只能更改系統預設安裝的服務
chkconfig --list#查看所有運行層級預設狀態下所有的啟動程式
chkconfig --list sshd#只是顯示sshd的啟動情況
chkconfig --levels 2345 sshd off
Chkconfig 其他選項
法3、ntsysv
如果敲擊ntsysv則是更改當前運行層級的啟動設定
其他運行層級:ntsysv -- levels 3
[比較簡單直觀,但是很多UNIX系統並沒有這個服務]
action常用取值:
1、initdefault,sysinit
2、wait:執行process中指定的命令,並等其結束再運行其他命令
once:執行process中指定的命令,不等待其結束
3、ctrlaltdel:按下Ctrl+Alt+Del時執行process指定
4、respawn:一但process指定的命令運行終止,則重新運行該命令
5、powerfail:當出現電源錯誤時執行process指定的命令,不等待其結束
powerokwait:當電源恢複時執行process指定的 命令的命令
Linux啟動流程總圖
centos 64 Inittab檔案
inittab為linux初始設定檔案系統時init初始化程式用到的設定檔。這個檔案負責設定init初始化程式初始化指令碼在哪裡;每個運行級初始化時啟動並執行命令; 開機、關機、重啟對應的命令;各運行級登陸時所啟動並執行命令。
你還沒有上應用,做配置,redhat才裝好的系統都是這樣。
centos 更改inittab檔案後不可以啟動了,就卡在這裡了
linux錯誤修改inittab檔案,無法啟動,進入單一使用者模式進行修複的辦法
blog.csdn.net/...121029