天天看點

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 # 安裝核心

對于Redhat如下:

#

pwd

/usr/src/kernels/2.6.32-131.0.15.el6.i686

make menuconfig

繼續閱讀