Unix toolbox註解3之Linux運行級別和內核模塊

Unix toolbox註解1之Linux系統硬件信息

Unix toolbox註解2之Linux系統狀態用戶和限制

Unix toolbox註解3之Linux運行級別和內核模塊

本系列文章爲筆者對Unix toolbox的一些個人註解,加入個人的一些元素,刪減了其中一些對於freebsd的一些命令介紹,文中的內容筆者都一一驗證過,放心使用。

1.5 運行級別
一旦內核加載完成,內核會啓動init 進程,然後運行rc腳本,之後運行所有屬於其運行級別的命令腳本。這些腳本都儲存在/etc/rc.d/rcN.d 中(N代表運行級別),並且都建立着到/etc/init.d子目錄中命令腳本程序的符號鏈接。

默認運行級別配置在 /etc/inittab 中。它通常爲3或5:

# grep default: /etc/inittab
id:3:initdefault:

可以使用init 來改變當前運行級別。舉個例子:

# init 5 # 進入運行級別 5

運行級別列表如下:
0 系統停止
1 進入單用戶模式(也可以是 S)
2 沒有 NFS 特性的多用戶模式
3 完全多用戶模式(正常操作模式)
4 未使用
5 類似於級別3,但提供 XWindow 系統登錄環境
6 重新啓動系統

使用chkconfig 工具控制程序在一個運行級別啓動和停止。

# chkconfig --list      # 列出所有 init 腳本
# chkconfig --list sshd # 查看 sshd 在各個運行級別中的啓動配置
# chkconfig sshd --level 35 on # sshd 在級別 3 和 5 下創建啓動項
# chkconfig sshd off                # 在所有的運行級別下禁用 sshd

同樣可以使用進程init 進入下列狀態級別。舉個例子: # init 6 爲重啓。
0 停止系統並關閉電源 (信號USR2)
1 進入單用戶模式 (信號TERM)
6 重新啓動 (信號INT)
c 阻止進一步登錄 (信號TSTP)
q 重新檢查 ttys(5) 文件 (信號HUP)

1.6 重設root密碼

Linux方法1:

在引導加載器(lilo 或 grub)中,鍵入如下啓選項:

init=/bin/sh

內核會掛載root分區,進程init 會啓動bourne shell而不是rc,然後是運行級別。使用命令passwd設置密碼然後重啓。別忘了需要在單用戶模式下做這些動作。

如果重啓後root分區被掛載爲只讀,重新掛在它爲讀寫:

# mount -o remount,rw /
# passwd # 或者刪除 root 密碼 (/etc/shadow)
# sync; mount -o remount,ro / # sync 在重新掛在爲只讀之前 sync 一下
# reboot

(關於第一種方法筆者會專文介紹)

Linux方法2:

通過livecd或者安裝盤(包括CD、網絡rescue都可以)

Linux方法3:

當然也可以通過單人模式修改
 
1.7 內核模塊

# lsmod # 列出所有已載入內核的模塊

# modprobe isdn # 載入 isdn 模塊

# insmod isdn # 載入isdn 模塊,和modprobe類似,功能沒有modprobe強大

# rmmod isdn    # 移除某個模塊
 
1.8 編譯內核
# cd /usr/src/linux

# make mrproper # 清除所有東西,包括配置文件

# make oldconfig # 從當前內核配置文件的基礎上創建一個新的配置文件

# make menuconfig # 或者 xconfig (Qt) 或者 gconfig (GTK)

# make # 創建一個已壓縮的內核映像文件

# make modules # 編譯模塊

# make modules_install # 安裝模塊

# make install # 安裝內核

# reboot

 
對於Redhat如下:
# pwd
/usr/src/kernels/2.6.32-131.0.15.el6.i686
# make menuconfig

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章