1、系統啟動流程
2、 init、 inittab、 init.d、 rcx.d
/etc/inittab是Linux系統中的一個配置文件,用于定義系統的運行級別和相應的操作。其語法格式如下:
標簽:運行級別:操作:進程
label:runlevel:action:process
下面是對每個部分的解釋:
- 標簽(label):用來標識配置項的唯一標識符,表示輸入的值。
- 運行級別(runlevel):定義了系統的不同工作模式或狀態,共有7個運行級別(0到6)。
- 操作(action):指定了在特定運行級別下要執行的操作。
- 進程(process):表示要執行的進程。
以下是對runlevel運行級別的解釋:
- runlevel 0:系統停機狀態,不能設為默認運行級別,否則系統無法正常啟動。
- runlevel 1:單用戶工作模式,只有root權限,用于系統維護,禁止遠程登錄。
- runlevel 2:多用戶工作模式(不支持NFS),命令行模式登錄。
- runlevel 3:完全的多用戶工作模式(包括NFS),命令行模式登錄。
- runlevel 4:保留,未使用的模式。
- runlevel 5:X11圖形模式,登錄后進入圖形GUI模式。
- runlevel 6:系統正常關閉并重啟,不能設為默認運行級別,否則系統無法正常啟動。
每個配置項的操作(action)可以是以下之一:
- boot:只在系統啟動時運行。
- bootwait:在系統啟動時運行,系統啟動后,當第一次從單用戶模式進入多用戶模式時處理該記錄項。
- sysinit:在運行boot或bootwait進程之前運行,指定的進程在訪問控制臺之前執行。
- respawn:不管何時終止都重新啟動進程,每當相應的進程終止執行,它會被重新啟動。
- shutdown:在關機時要運行的進程。
- ctrlaltdel:當按下Ctrl+Alt+Del三個鍵同時按下時運行。
- wait:告訴init必須等到相應的進程完成之后才能繼續執行。
最后,進程(process)部分表示要執行的具體進程。
[root@cambricon ~]# cat /etc/inittab # Startup the system
::sysinit:/bin/mount -t devtmpfs devtmpfs /dev
::sysinit:/bin/mount -t proc proc /proc
::sysinit:/bin/mount -o remount,rw /
::sysinit:/bin/mkdir -p /dev/pts
::sysinit:/bin/mkdir -p /dev/shm
::sysinit:/bin/mount -a
::sysinit:/bin/hostname -F /etc/hostname
# now run any rc scripts
#::sysinit:/etc/init.d/rcS
::wait:/etc/rc.sysinit
::wait:/etc/init.d/rcS
::shutdown:/etc/init.d/rcK
console::respawn:-/bin/sh
這段代碼是/etc/inittab文件的示例內容,用于初始化和配置系統啟動過程中的各個步驟。下面是對每一行的解釋:
::sysinit:/bin/mount -t devtmpfs devtmpfs /dev
:在系統初始化階段,掛載devtmpfs
文件系統到/dev目錄,提供設備節點。::sysinit:/bin/mount -t proc proc /proc
:同樣在系統初始化階段,掛載proc
文件系統到/proc目錄,提供進程信息。::sysinit:/bin/mount -o remount,rw /
:在系統初始化階段,重新以讀寫模式掛載根文件系統。::sysinit:/bin/mkdir -p /dev/pts
:在系統初始化階段,創建/dev/pts目錄,用于偽終端支持。::sysinit:/bin/mkdir -p /dev/shm
:在系統初始化階段,創建/dev/shm目錄,用于共享內存支持。::sysinit:/bin/mount -a
:在系統初始化階段,自動掛載其他文件系統。::sysinit:/bin/hostname -F /etc/hostname
:在系統初始化階段,根據/etc/hostname文件設置主機名。# now run any rc scripts
:注釋,表示接下來要運行任何rc腳本。#::sysinit:/etc/init.d/rcS
:注釋掉的行,表示在系統初始化階段運行rcS腳本。::wait:/etc/rc.sysinit
:等待,然后運行/etc/rc.sysinit腳本。::wait:/etc/init.d/rcS
:等待,然后運行/etc/init.d/rcS腳本。::shutdown:/etc/init.d/rcK
:在系統關閉時運行/etc/init.d/rcK腳本。console::respawn:-/bin/sh
:創建一個控制臺會話,如果終止則重新啟動,并使用/bin/sh作為默認shell。
這些配置項定義了系統啟動過程中的各個步驟和要執行的命令或腳本。它們確保系統在啟動和關閉時按照特定的順序進行必要的初始化和清理操作
以S開頭的為start,以K開頭的為kill
S+數字+字母
數字小的先執行,字母小的先運行
啟動流程的操作