1.15 學習劄記 系統初始化
系統初始化
指令補充 uname (/etc/redhat-release)
-r --kernel-realease -v --kernel-version
-a --all -s --kernel-name -m --machine
引導順序概述
bios初始化
引導裝載程式
核心初始化
執行以下操作,啟動init,并進入預期的運作級别
/etc/rc.d/rc.sysinit
/etc/rc.d/rc和/etc/rc/d/rc?.d
/etc/rc.d/rc.local
在适當的情況下使用x顯示管理器
引導裝載程式元件
引導裝載程式
1 容量小,位于mbr或引導部分(mbr 512位元組 0扇區0磁道 ipl不大于446位元組,
64 磁盤分區資訊,2 magiccode)
2 從引導分區裝載
grub和grub.conf
grub "the grand unified bootloader"
引導提示時可以使用指令行界面
可從/ext2/ext3 resierfs、jfs、fat、minix、ffx檔案系統引導
支援md5密碼保護
/boot/grub/grub.conf
default=0 //預設從下面系統清單的第一個啟動
timeout=5 //預設啟動等待時間是5秒鐘
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz //系統選擇菜單背景所在的位置
hiddenmenu //隐藏菜單
password --md5
title red hat enterprise linux as (2.6.9-648_el) //在grub界面所顯示的系統名
稱 (可以任意該動)
root (hd0,0) //啟動時從ide接口的第一塊硬碟第一個分區啟動
kernel /vmlinuz-2.6.9-648.el ro root=/dev/volgroup00/logvo100 rhgb quiet //
啟動的核心版本,可以在後面添加核心參數
initrd /initrd-2.6.9-648.el.img
可用 grub-md5-crypt 建立md5密碼
如果某些原因mbr損壞,重裝mbr時,可以使用指令
1 grub-install boot-device
2 手工設定
grub >
grub > root(hd0,0)
grub > setup(hd0,0)
grub > quit
3 grub >
grub > find /<tab>
grub > kernel
grub > initrd
grub > boot
開始引導過程:grub
映像選擇
使用空格鍵選擇,然後使用上下鍵在引導閃屏移動
傳遞參數
在菜單編輯模式修改現有段落
使用grub指令行互動釋出指令
核心初始化 (檢視日志/var/log/dmesg 指令dmesg直接檢視)
裝置自檢
裝置驅動程式初始化
以隻讀方式挂載根檔案系統
載入初始化程序(init)
init初始化 /etc/inittab
初始化運作級别
系統初始化腳本
對應運作級别的腳本目錄
設定ctrl+alt+del組合鍵
定義ups電源中斷/恢複腳本
在虛拟控制台生成getty
在運作級别5初始化x
12 : 2 : wait : / etc / init.d / rc 2
第一個字段是一個任意指定的标簽;
第二個字段表示這一行适用于運作那個級别(這裡是2);
第三個字 段表示進入運作級别時,init應該運作第四個字段内的指令一次,而且init應
該等待該指令結束。/etc/init.d/rc指令運作啟動和終止輸入以便進入運作級别2時所需的任
何指令。
第四個字段中的指令執行設定運作級别時的一切“雜活”。它啟動已經沒有運作的服務
,終止不應該再在新運作級别内運作的服務。根據linux版本的不同,采用的具體指令也不同
,而且運作級别的配置也是有差别的。
init啟動時,它會在/etc/inittab内查找一個代碼行,這一行指定了預設的運作級别:
id : 2 : initdefault :
你可以要求init在啟動時,進入非預設運作級别,這是通過為核心指定一個“single”
或“emergency” 指令行參數來實作的。比如說,核心指令行參數的指定可通過lilo來執行
。這樣一來,你就可以選擇單使用者模式了(即運作級别1)。
系統正在運作時,telinit指令可更改運作級别。運作級别發生變化時, init 就會
從/etc/inittab運作相應的指令。
/etc/inittab中,有幾個特殊的特性,允許init重新激活特殊事件。這些特殊特性都是
用第三個字段中的特殊關鍵字标記出來的。比如:
1. powerwait
允許init在電源被切斷時,關閉系統。其前提是具有u p s和監視u p s并通知init電源
已被切斷的軟體。
2. ctrlaltdel
允許init在使用者于控制台鍵盤上按下c t r l + a l t + d e l組合鍵時,重新啟動系統
。注意,如果該系統放在一個公共場所,系統管理者可将c t r l + a l t + d e l組合鍵配
置為别的行為,比如忽略等。
運作級别
init定義運作級别 0-6 單人模式 緊急模式
顯示目前和上個運作級别
/sbin/runlevel
調整運作級别 init new_runlevel
0 停止 ;1 單使用者模式;2 不帶nfs的多使用者模式;3 完全多使用者模式,用于伺服器
4 無官方定義 ;5 圖形登入;6 重新開機
s /s /single 備用單使用者模式
emergency 繞過rc.sysinit sulogin
/etc/rc.d/rc.sysinit
主要任務
激活udev和selinux
在/etc/sysctl.conf中設定核心參數
設定系統時鐘
裝載按鍵設定
啟用交換分區
設定主機名
檢查并重新挂載根檔案系統
激活raid和lvm裝置
啟用磁盤配額
檢查并挂載其他檔案系統
清理過時的鎖和pid檔案
系統v運作級别
每個運作級别都有對應的目錄
/etc/rc.d/rcx.d
系統v init腳本位于
/etc/rc.d/init.d
/etc/rc.d/rc/local 系統v初始化的最後階段 ,使用者可以自定義的腳本
控制服務
工具 system-config-services
ntsysv
chkconfig ——list | --level on | off
service named start|stop|status|restart