国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

Linux系統運行級管理
2007-03-09   LinuxAID

運行級的概念來自System V,運行級別將啟動過程分成不同的集合,每個集合包含一
組腳本,當init程序“切換運行級”到對應的級別時,相應的腳本就被觸發,切換運行
級可以通過執行init [級別號]完成。(比如,在Linux中,run level 6代表reboot,所
以執行init 6就會引起系統重新啟動)

運行級別的定義每種System V都不完全一樣,只能通過直接讀/etc/inittab來確定,
下面是一個標準的Linux的/etc/inittab,注意這里解釋的內容來自redhat,但是其他的
版本也大同小異。我們將它分成若干段來解釋,如同一般情況那樣,用#開始的行是注釋
,而非注釋行的語法是:

標號:運行級別:操作方式:命令

標號是這一行的標簽,運行級別用于定義這一行應該用于那些級別,如果為空就定義
為所有級別,操作方式可以是一些確定的字符串,代表如何執行后面的命令,而命令則
給處在進入這一級別時執行的程序。

下面是它的內容

# Default runlevel. The runlevels used by RHS are:

# 0 - halt (Do NOT set initdefault to this)

# 1 - Single user mode

# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)

# 3 - Full multiuser mode

# 4 - unused

# 5 - X11

# 6 - reboot (Do NOT set initdefault to this)

#

上面的幾行解釋了缺省的運行級別定義:

停機,系統進入這一級別后關機;

單用戶模式,在這個模式中只能從控制臺操作計算機,網絡和終端不啟動,許多文件
系統也沒有連結;

多用戶模式,但關閉了網絡服務支持

完全的多用戶模式,就是我們一般使用的模式

無定義

圖形界面模式,系統切入這一運行級后自動啟動X Window系統

重新啟動


這些級別的定義是任意的,然而你最好不要修改它,尤其是level 0,1和6,因為許多
程序都使用init 0之類的方式實現對系統的控制,其他的Linux發行版本可能會更改2-5
的定義,你需要參考/etc/inittab才能判斷到底那個級別是什么意思,不過一般來說0,
1和6總是上面的定義。

下面開始才是真正的內容,首先系統必須定義缺省的運行級別:


id:3:initdefault:


initdefault關鍵字決定了缺省的運行級別,在這里是3,也就是在執行了公共的系統
啟動腳本之后,系統將會執行與級別3對應的那些行

# System initialization.

si::sysinit:/etc/rc.d/rc.sysinit

這里的sysinit關鍵字定義了公共的“系統初始化”腳本,在相應于運行級的地方是空
,表示適用于所有運行級別。注意它將在系統進入任何運行級別以前完成,一會我們再
研究這個腳本的內容。


l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

這里開出了六個運行級別的定義,運行級0就去執行命令/etc/rc.d/rc 0,運行級1是
/etc/rc.d/rc 1,.....諸如此類。wait關鍵字表示系統必須等待此命令執行完才能開始
下一步工作。

# Things to run in every runlevel.

ud::once:/sbin/update

這又是一個適用于所有級別的命令。update命令實際是去啟動updated守護進程,以便
定期刷新內存中的超級塊表。Once關鍵字說明這個項只被執行一次。

# Trap CTRL-ALT-DELETE

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

ctrlaltdel定義當熱啟動組合鍵被觸發時系統的行為,這里定義所有的運行級別對它
的響應都是重新啟動(shutdown –r)


pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down
"


pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled
"

這兩行定義如何響應ups信息,如果系統掉電(powerfail),執行兩分鐘后關機的指令
;如果關機之前電源恢復,取消關機操作。


# Run gettys in standard runlevels

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

2,3,4,5都是多用戶級別,為系統開出6個虛擬屏幕(就是用Alt+Fn即獲得虛擬屏幕)
,respawn關鍵字表示這個動作在每次進入相應運行級別時都會執行。

# Run xdm in runlevel 5

# xdm is now a separate service

x:5:respawn:/etc/X11/prefdm -nodaemon

對于級別5,啟動圖形界面。

歸納一下,系統在讀入inittab以后要做什么?設置Ctrl+Alt+Del響應,設置好對UPS
的支持,然后應該執行/etc/rc.d/rc.sysinit,然后是/etc/rc.d/rc 3,最后是update
和啟動虛擬屏幕。顯然,系統的主要初始化命令應該在/etc/rc.d/rc.sysinit和/etc/r
c.d/rc 3中完成。

rc.d下的基本腳本


下面我們來研究啟動腳本,這里的腳本來自redhat 6.1,因為這是個最為廣泛使用的
版本,其他的版本的特有問題將在下一節討論。

首先,系統將執行/etc/rc.d/rc.sysinit,這是個shell腳本,你可以用普通的文本編
輯工具對它進行處理,為了簡便,我們只研究其中較為重要的部分或者較為典型的段落


#!/bin/sh

#

# /etc/rc.d/rc.sysinit - run once at boot time

#

# Taken in part from Miquel van Smoorenburg's bcheckrc.

#


# Rerun ourselves through initlog

if [ -z "$IN_INITLOG" ]; then

[ -f /sbin/initlog ] && exec /sbin/initlog $INITLOG_ARGS -r /etc/rc.d/rc.
sysinit

fi

首先,確定系統中是否存在/sbin/initlog文件,如果存在,那么需要記錄初始化信息


# Set the path

PATH=/bin:/sbin:/usr/bin:/usr/sbin

export PATH

設置缺省路徑。

# Read in config data.

if [ -f /etc/sysconfig/network ]; then

. /etc/sysconfig/network

else

NETWORKING=no

HOSTNAME=localhost

fi

這一段是網絡的參數設置,/etc/sysconfig/network的內容是這樣:

NETWORKING=yes

FORWARD_IPV4="yes"

HOSTNAME="openlab.asnc.edu.cn"

GATEWAY=""

GATEWAYDEV=""

顯然,如果這個文件存在,那么設置網絡的運行參數,如域名,網關等等,這個文件
中可以包含很多的東西。詳細的內容我們在設置網絡的部分介紹

# Source functions

. /etc/rc.d/init.d/functions


/etc/rc.d/init.d是所有的服務腳本存放的地方,而functions是各種服務腳本需要的
一些參數的設置。有興趣的話你可以看一看,不看也不影響什么。

以下有一段是設置一些顯示信息,接下來是這樣的內容:



# Mount /proc (done here so volume labels can work with fsck)


action "Mounting proc filesystem" mount -n -t proc /proc /proc


連結/proc文件系統,應該記得/proc是用來顯示系統狀態的虛擬文件系統,注意acti
on命令的語法,它顯示一段提示信息,然后去執行相應的命令。

然后的段落有一點意思:


# Turn off sysrq

#if [ "$MAGIC_SYSRQ" = "no" ]; then

# echo "0" > /proc/sys/kernel/sysrq

#fi


$MAGIC_SYSRQ=no意味著你決定不使用內核調試,腳本必須把系統的內核調試功能關閉
,注意接下來的處理方法,在/proc/sys/kernel下建立一個名叫sysrq的文件,并且設置
其內容為"0",就關閉了這項功能,這也是在運行中打開或者關閉內核的某個功能的標準
方法,以后我們會經常看到這樣的例子。

接下來要設置時鐘和鍵盤映射表,裝入系統字體,又是一段冗長的代碼,這里將它省
略,反正你總可以在自己的系統上看到他們。


# Start up swapping.

action "Activating swap partitions" swapon -a


swapon –a 將讀/etc/fstab文件,這個文件中包含有系統中存在的應該自動掛接的各
種文件系統的列表,同時也包含了關于交換分區的知識,swapon –a將啟動其中標注的
所有交換分區。

# Set the hostname.

action "Setting hostname ${HOSTNAME}" hostname ${HOSTNAME}


# Set the NIS domain name

if [ -n "$NISDOMAIN" ]; then

action "Setting NIS domain name $NISDOMAIN" domainname $NISDOMAIN

else

domainname ""

fi

這兩段設置系統名字,我們應該記得$HOSTNAME已經在/etc/sysconfig/network文件中
設置過,所以這里的action被執行,而$NISDOMAIN現在是空字符串,所以執行后hostna
me被設置而NIS域名不存在。

if [ -f /fsckoptions ]; then

fsckoptions=`cat /fsckoptions`

else

fsckoptions=

fi


if [ -f /forcefsck ]; then

fsckoptions="-f $fsckoptions"

fi

這里是與管理員相關的行了。如果系統的/下將存在/forcefsck文件,于是系統自動啟
動fsck程序去檢查文件系統是否有錯誤。接下來是一段關于是否存在/fastboot文件的判
斷,與其大同小異,然后系統將會決定是否啟用PNP,方法和處理MAGIC_SYSRQ是類似的
,這兩段我們不討論了,你可以自己看一下。


# Remount the root filesystem read-write.

action "Remounting root filesystem in read-write mode" mount -n -o remount
,rw /


# Add /proc to /etc/mtab

mount -f -t proc /proc /proc

檢測根文件系統完畢后,系統重新將/連結成讀寫方式,并且將/proc加入到/etc/mta
b中。下面是非常重要的一步,如果系統內核支持可裝載模塊,需要把$USEMODULES變量
設置成"y"并且設置模塊的缺省路徑,參數等等,然后,系統開始裝入模塊:


# load sound modules

if [ -n "$USEMODULES" ]; then

if grep -s -q "^alias sound " /etc/conf.modules ; then

action "Loading sound module" modprobe sound

fi

.........

fi

...........

當這些直接裝入的模塊結束后,為了和以前的方式兼容,也為了管理員的方便,這個
腳本試圖去尋找/etc/rc.d/rc.modules,如果存在就執行它:

# Load modules (for backward compatibility with VARs)

if [ -f /etc/rc.d/rc.modules ]; then

/etc/rc.d/rc.modules

fi

顯然,你可以將自己的模塊初始化命令加入/etc/rc.d/rc.modules使它在啟動時得到
運行。

完成主要模塊的裝入后,系統將開始一系列日常工作,如檢測有問題的文件系統,連
結所有本地文件系統,啟動磁盤限額等等,如果系統還沒有被配置,那么將啟動配置腳
本,設置網絡,超級用戶口令等等,否則,對于已經配置好的系統,清理記賬文件,準
備進行系統工作。

當一切都完成之后,系統按照inittab的設定,進入運行級3,執行/etc/rc.d/rc 3。

/etc/rc.d/rc是一個很有意思的程序,它是一個shell腳本,其行為是這樣:根據提供
給它的參數,它去尋找相應的目錄rc${arg1}.d,例如,在/etc/rc.d/rc 3執行時,它去
查詢/etc/rc.d/rc3.d下的所有文件,試圖執行那些所有用S或K打頭的腳本,凡是用S開
頭的腳本,它給加上一個start參數,凡是用K打頭的腳本,加上一個stop參數。執行次
序是按照S或K后跟的數值順序。

例如,在現在的例子中,/etc/rc.d/rc 3下存在一個S50inet的腳本,于是 rc 腳本去
執行S50inet start。而S50inet其實是到/etc/rc.d/init.d/inet的一個符號連結,其內
容是(這里只給出了部分內容):

. /etc/rc.d/init.d/functions

. /etc/sysconfig/network

if [ ${NETWORKING} = "no" ]

then

exit 0

fi


[ -f /usr/sbin/inetd ] || exit 0

RETVAL=0


# See how we were called.

case "$1" in

start)

echo -n "Starting INET services: "

daemon inetd

RETVAL=$?


echo

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/inet

;;

stop)

echo -n "Stopping INET services: "

killproc inetd

RETVAL=$?


echo

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/inet

;;

*)

echo "Usage: inet {start|stop|status|restart|reload}"

exit 1

esac


exit $REVAL



daemon和killproc是在/etc/rc.d/init.d/functions里面定義的函數,daemon將命令
當成守護進程執行,killproc則殺掉對應進程。顯然,S50inet start的結果是inetd程
序被啟動為一個守護進程。

這里的方法是啟動服務進程的標準模式,例如你要設置某個服務在runlevel 3被啟動
,那么你可以自己寫一個腳本,比如說mydaemon,讓mydaemon start啟動服務,mydaem
on stop停止服務,然后將這個腳本復制到/etc/rc.d/init.d中,接著在/etc/rc.d/rc?
.d中建立連接,在rc3.d中連結為S65mydaemon,而在其他目錄中為K65mydaemon,這樣你
的腳本就會在進入和退出運行級3時自動處理了。

除此與run level相關的啟動指令之外,Linux還從BSD中引入了另外一些配置文件,其
中最重要的是/etc/rc.d/rc.local,通常它在執行了全部運行級腳本以后運行,你可以
在這里定制自己的設置,如歡迎信息等等。


版本之間的區別

如同我們看到的那樣,Redhat的啟動腳本看上去井井有條,要尋找某個功能很容易,
但是要尋找某個命令在何處啟動就顯得比較困難,經常需要從/etc/inittab開始。

Turbo Linux和Red-Flag的腳本和Redhat頗為相似,尤其是紅旗幾乎就是RedHat的中文
版,它們的配置也相當近似。

Slackware的啟動腳本使用另外一種風格,實際上,看上去很象BSD系列。啟動腳本也
在/etc/rc.d下面,但是它把一些在大部分運行級別必須使用的腳本做在了一起,冠以r
c.modules,rc.inet1,rc.inet2等等的名字,這樣對于手工配置系統確實簡單的多,不
過這些文件都相當大,看起來需要耐心。對于這個系統,你只要看一遍/etc/inittab就
能掌握它的配置文件位置了。

Debian/Corel使用一種有趣的方式,看上去頗像Sun的Solaris。實際上,它和RedHat
的方式幾乎是一樣的,但是啟動腳本不是在/etc/rc.d,而是直接位于/etc下,例如/et
c/rc1.d,/etc/rc2.d等等,知道了這一點之后,配置debian就不會感到困難了。

關于Corel Linux我們應該特別地說一句,它的配置文件組織看起來要比RedHat簡單一
些,但是它沒有類似于rc.modules的設定,等價于rc.sysinit的文件是/etc/init.d/rc
S。它的運行級別定義也比較怪異,好像Run Level 2是正常的圖形模式,要配置Corel,
最好是從/etc/inittab直接開始。無論如何,我們不會建議一個新手使用corel Linux。

熱詞搜索:

上一篇:linux系統管理命令集(2)
下一篇:Linux系統下網絡分析工具

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
美女看a上一区| 久久精品国产一区二区三区免费看| 欧美午夜寂寞影院| 国精产品一区一区三区mba视频 | 自拍偷在线精品自拍偷无码专区| 在线观看成人小视频| 国产在线播放一区| 婷婷中文字幕一区三区| 亚洲图片欧美激情| 欧美成人video| 亚洲精品日韩综合观看成人91| 91精品免费观看| 成人国产精品免费| 免费成人在线网站| 一区二区三区免费看视频| 久久亚洲影视婷婷| 欧美日韩免费观看一区三区| 成人中文字幕合集| 久久91精品久久久久久秒播| 亚洲精品乱码久久久久久日本蜜臀| 2023国产精华国产精品| 777a∨成人精品桃花网| 一本一道久久a久久精品综合蜜臀| 韩国欧美国产1区| 五月天激情综合网| 一区二区三区四区在线| 国产欧美一二三区| 亚洲精品一区二区三区香蕉| 欧美日韩国产精品自在自线| 色悠悠久久综合| 成人免费毛片嘿嘿连载视频| 国产在线国偷精品免费看| 强制捆绑调教一区二区| 性欧美大战久久久久久久久| 亚洲精品一二三四区| 亚洲视频一二区| 国产精品国产三级国产aⅴ中文 | 717成人午夜免费福利电影| 91亚洲精品久久久蜜桃网站| 成人夜色视频网站在线观看| 国产精品亚洲人在线观看| 国产美女娇喘av呻吟久久| 极品少妇一区二区| 国产美女久久久久| 国产91富婆露脸刺激对白| 国产一区二区三区观看| 国产伦精品一区二区三区免费迷| 精品影院一区二区久久久| 五月综合激情婷婷六月色窝| 五月天国产精品| 免费成人美女在线观看| 韩国欧美国产1区| 懂色av一区二区夜夜嗨| 9l国产精品久久久久麻豆| 99re在线视频这里只有精品| 色呦呦国产精品| 欧美老女人在线| 精品少妇一区二区三区在线播放| 久久亚洲私人国产精品va媚药| 久久伊人中文字幕| 国产日韩影视精品| ㊣最新国产の精品bt伙计久久| 日韩毛片一二三区| 亚洲一区二区高清| 毛片av一区二区| 久久精品国产久精国产爱| 国产麻豆视频一区| 韩国精品主播一区二区在线观看| 国产美女娇喘av呻吟久久| 成人午夜免费视频| 色综合久久天天综合网| 5566中文字幕一区二区电影| 精品三级在线观看| 中文字幕一区二区在线播放| 天堂va蜜桃一区二区三区漫画版| 蜜桃视频一区二区三区在线观看| 国产在线精品一区在线观看麻豆| 波多野结衣精品在线| 欧美日韩极品在线观看一区| 欧美精品一区二区精品网| 国产精品高潮呻吟| 日韩精品1区2区3区| 国内精品久久久久影院薰衣草| 99久久国产免费看| 3d成人动漫网站| 国产精品三级久久久久三级| 自拍偷在线精品自拍偷无码专区| 午夜天堂影视香蕉久久| 国产麻豆精品在线| 欧美日韩一区二区欧美激情| 久久夜色精品国产噜噜av| 亚洲成人高清在线| 一区二区三区中文免费| 亚洲人成网站在线| 日韩黄色片在线观看| 成人免费不卡视频| 欧美精品久久一区| 中文字幕日韩一区| 久久69国产一区二区蜜臀| 色香蕉久久蜜桃| 久久香蕉国产线看观看99| 亚洲图片欧美一区| 成人免费看黄yyy456| 欧美一区二区三区小说| 亚洲欧美一区二区三区久本道91| 免费在线观看一区| 在线观看日韩国产| 国产精品午夜免费| 精品综合免费视频观看| 欧美三级日韩在线| 亚洲欧美影音先锋| 国产成人精品在线看| 91精品国产一区二区三区| 亚洲精品国产成人久久av盗摄| 国产一区不卡视频| 日韩欧美色电影| 天堂成人免费av电影一区| 色欧美乱欧美15图片| 中文字幕在线观看一区二区| 国产乱码精品一区二区三区五月婷 | 国产乱子轮精品视频| 日韩一卡二卡三卡国产欧美| 亚洲网友自拍偷拍| 在线视频国产一区| 亚洲欧美日韩中文播放| 成人性生交大片免费看在线播放 | 久久精品一区二区三区不卡| 美女视频黄 久久| 91精品国产综合久久精品麻豆| 亚洲123区在线观看| 精品视频在线视频| 亚洲成人动漫av| 欧美日韩一卡二卡三卡| 亚洲一区二区三区中文字幕| 91久久精品一区二区三区| 亚洲精品日韩一| 色屁屁一区二区| 亚洲成人自拍一区| 欧美一区二区精美| 奇米综合一区二区三区精品视频| 91麻豆精品国产91久久久| 无码av中文一区二区三区桃花岛| 欧美日韩免费视频| 偷拍与自拍一区| 欧美酷刑日本凌虐凌虐| 午夜精品久久久| 日韩视频一区在线观看| 六月丁香婷婷久久| 日韩精品一区二区在线| 国产精品99久久久久久久vr| 欧美一激情一区二区三区| 久久福利视频一区二区| 久久亚洲精精品中文字幕早川悠里| 国产一区二区三区香蕉| 亚洲国产成人私人影院tom| 不卡电影一区二区三区| 亚洲综合久久av| 7777精品伊人久久久大香线蕉经典版下载 | 国产午夜久久久久| 99精品一区二区三区| 一区二区高清免费观看影视大全| 欧美人xxxx| 国产成人亚洲综合色影视| 亚洲少妇30p| 欧美精品自拍偷拍动漫精品| 九九九精品视频| 国产精品美女一区二区在线观看| 91网页版在线| 强制捆绑调教一区二区| 国产精品美女久久久久aⅴ | 国产亚洲欧美中文| 99久久国产免费看| 日本中文字幕一区二区视频| 久久久久久久久久久久电影 | 欧美中文字幕一区二区三区| 一区二区三区中文在线| 91精品国产综合久久蜜臀| 国产在线观看一区二区| 亚洲女子a中天字幕| 国产成人超碰人人澡人人澡| 一区二区三区四区在线| 欧美在线视频全部完| 国内一区二区在线| 亚洲最新视频在线观看| 久久天天做天天爱综合色| 91久久国产综合久久| 国产综合色产在线精品| 亚洲一区二区三区影院| 亚洲精品在线电影| 欧美日韩成人激情| 波波电影院一区二区三区| 久久国产精品露脸对白| 亚洲色图19p| 国产无人区一区二区三区| 欧美午夜一区二区三区免费大片| 国产精品亚洲第一区在线暖暖韩国 | 中文字幕中文乱码欧美一区二区| 欧美军同video69gay| av不卡一区二区三区| 日本不卡123|