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 # 安裝核心
對于Redhat如下:
#
pwd/usr/src/kernels/2.6.32-131.0.15.el6.i686
make menuconfig