一、啟動(dòng)內(nèi)核
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的老河口網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
首先介紹啟動(dòng)內(nèi)核部分。電腦啟動(dòng)時(shí),BIOS裝載MBR,然后從當(dāng)前活動(dòng)分區(qū)啟動(dòng),LILO獲得引
導(dǎo)過(guò)程的控制權(quán)后,會(huì)顯示LILO提示符。此時(shí)如果用戶不進(jìn)行任何操作,LILO將在等待制定
時(shí)間后自動(dòng)引導(dǎo)默認(rèn)的操作系統(tǒng),而如果在此期間按下TAB鍵,則可以看到一個(gè)可引導(dǎo)的操作
系統(tǒng)列表,選擇相應(yīng)的操作系統(tǒng)名稱就能進(jìn)入相應(yīng)的操作系統(tǒng)。
當(dāng)用戶選擇啟動(dòng)LINUX操作系統(tǒng)時(shí),LILO就會(huì)根據(jù)事先設(shè)置好的信息從ROOT文件系統(tǒng)所在的分
區(qū)讀取LINUX映象,然后裝入內(nèi)核映象并將控制權(quán)交給LINUX內(nèi)核。LINUX內(nèi)核獲得控制權(quán)后,
以如下步驟繼續(xù)引導(dǎo)系統(tǒng):
1. LINUX內(nèi)核一般是壓縮保存的,因此,它首先要進(jìn)行自身的解壓縮。內(nèi)核映象前面的一些
代碼完成解壓縮。
2. 如果系統(tǒng)中安裝有可支持特殊文本模式的、且LINUX可識(shí)別的SVGA卡,LINUX會(huì)提示用戶
選擇適當(dāng)?shù)奈谋撅@示模式。但如果在內(nèi)核的編譯過(guò)程中預(yù)先設(shè)置了文本模式,則不會(huì)提示選
擇顯示模式。該顯示模式可通過(guò)LILO或RDEV工具程序設(shè)置。
3. 內(nèi)核接下來(lái)檢測(cè)其他的硬件設(shè)備,例如硬盤、軟盤和網(wǎng)卡等,并對(duì)相應(yīng)的設(shè)備驅(qū)動(dòng)程序
進(jìn)行配置。這時(shí),顯示器上出現(xiàn)內(nèi)核運(yùn)行輸出的一些硬件信息。
4. 接下來(lái),內(nèi)核裝載ROOT文件系統(tǒng)。ROOT文件系統(tǒng)的位置可在編譯內(nèi)核時(shí)指定,也可通過(guò)
LILO或RDEV指定。文件系統(tǒng)的類型可自動(dòng)檢測(cè)。如果由于某些原因裝載失敗,則內(nèi)核啟動(dòng)
失敗,最終會(huì)終止系統(tǒng)。
二、執(zhí)行init程序
其次介紹init程序,利用init程序可以方便地定制啟動(dòng)其間裝入哪些程序。init的任務(wù)是
啟動(dòng)新進(jìn)程和退出時(shí)重新啟動(dòng)其它進(jìn)程。例如,在大多數(shù)Linux系統(tǒng)中,啟動(dòng)時(shí)最初裝入
六個(gè)虛擬的控制臺(tái)進(jìn)程,退出控制臺(tái)窗口時(shí),進(jìn)程死亡,然后init啟動(dòng)新的虛擬登錄控制臺(tái),
因而總是提供六個(gè)虛擬登陸控控制臺(tái)進(jìn)程。
控制init程序操作的規(guī)則存放在文件/etc/inittab中。Red Hat Linux缺省的inittab文
件如下:
#
#inittab This file describes how the INIT process should set up the system in a certain
#run-level.
#
#
#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)
#
id:3:initdefault:
#system initialization
si::sysinit:/etc/rc.d/rc.sysinit
10:0:wait:/etc/rc.d/rc 0
11:1:wait:/etc/rc.d/rc 1
12:2:wait:/etc/rc.d/rc 2
13:3:wait:/etc/rc.d/rc 3
14:4:wait:/etc/rc.d/rc 4
15:5:wait:/etc/rc.d/rc 5
16:6:wait:/etc/rc.d/rc 6
#Things to run in every runlevel
ud:once:/sbin/update
#Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
#When our UPS tells us power has failed,assume we have a few minutes of
power left.Schedule a
#shutdown for 2 minutes from now.
#This does,of course,assume you have powered installed and your UPS
connected and working
#correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Restored;Shutdown Cancelled"
#Run gettys in standard runlevels
1:12345:respawn:/sbin/minggetty tty1
2:2345:respawn:/sbin/minggetty tty2
3:2345:respawn:/sbin/minggetty tty3
4:2345:respawn:/sbin/minggetty tty4
5:2345:respawn:/sbin/minggetty tty5
6:2345:respawn:/sbin/minggetty tty6
#Run xdm in runlevel 5
x:5:respawn:/usr/bin/X11/xdm -nodaemon
Linux有個(gè)運(yùn)行級(jí)系統(tǒng),運(yùn)行級(jí)是表示系統(tǒng)當(dāng)前狀態(tài)和init應(yīng)運(yùn)行哪個(gè)進(jìn)程并保持在這種
系統(tǒng)狀態(tài)中運(yùn)行的數(shù)字。在inittab文件中,第一個(gè)項(xiàng)目指定啟動(dòng)時(shí)裝入的缺省運(yùn)行級(jí)。
上例中是個(gè)多用戶控制臺(tái)方式,運(yùn)行級(jí)為3。然后,inittab文件中每個(gè)項(xiàng)目指定第二個(gè)
字段的項(xiàng)目用哪種運(yùn)行級(jí)(每個(gè)字段用冒號(hào)分開)。因此,對(duì)運(yùn)行級(jí)3,下列行是相關(guān)的:
13:3:wait:/etc/rc.d/rc 3
1:12345:respawn:/sbin/minggetty tty1
2:2345:respawn:/sbin/minggetty tty2
3:2345:respawn:/sbin/minggetty tty3
4:2345:respawn:/sbin/minggetty tty4
5:2345:respawn:/sbin/minggetty tty5
6:2345:respawn:/sbin/minggetty tty6
最后六行建立Linux提供的六個(gè)虛擬控制臺(tái)。第一行運(yùn)行啟動(dòng)腳本/etc/rc.d/ rc 3;
這將運(yùn)行目錄/etc/
rc.d/rc3.d中包含的所有腳本,這些腳本表示系統(tǒng)初始化時(shí)要啟動(dòng)的程序。一般來(lái)說(shuō),
這些腳本不需要編輯或改變,是系統(tǒng)缺省的。
開機(jī)啟動(dòng)腳本可以放這里,要賦權(quán)chmod +x /etc/rc.local,里面加上腳本直接命令和腳本絕對(duì)路徑
當(dāng)年配置 .bashrc 文件時(shí),是否想過(guò),這里面的 rc 是什么意思?
使用了這么長(zhǎng)時(shí)間,這個(gè)都不知道。Google 之,還真有不少人探究過(guò)。
這個(gè) ubuntu 中文論壇里,有人回答過(guò):
rc 是取自 runcom, 來(lái)自麻省理工學(xué)院在 1965 年發(fā)展的 CTSS系統(tǒng)。
相關(guān)文獻(xiàn)曾記載這一段話: 具有從檔案中取出一系列命令來(lái)執(zhí)行的功能;這稱為 run commands 又稱為 runcom,而這種檔案又稱為一個(gè) runcom (a runcom)。
知乎上也有人問(wèn)過(guò)這個(gè)問(wèn)題:.bashrc中的rc是什么意思?,由此引出 維基百科 上關(guān)于 Run Command 的詞條。里面有一句話,rc 也可以指代 run configure
同時(shí),google 到 stackexchange 上也有人討論過(guò):What does “rc” in .bashrc stand for?
linux設(shè)置開機(jī)自啟動(dòng)執(zhí)行命令 :
執(zhí)行命令 : 編輯"/etc/rc.local",添加你想開機(jī)運(yùn)行的命令
運(yùn)行程序腳本 :然后在文件最后一行添加要執(zhí)行程序的全路徑。
例如,每次開機(jī)時(shí)要執(zhí)行一個(gè)hello.sh,這個(gè)腳本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt ./hello.sh "
注意,你的命令應(yīng)該添加在:exit 0 之前
linux在“/etc/rc.d/init.d”下有很多的文件,每個(gè)文件都是可以看到內(nèi)容的,其實(shí)都是一些shell腳本或者可執(zhí)行二進(jìn)制文件 Linux開機(jī)的時(shí)候,會(huì)加載運(yùn)行/etc/init.d目錄下的程序,因此我們可以把想要自動(dòng)運(yùn)行的腳本放到這個(gè)目錄下即可。系統(tǒng)服務(wù)的啟動(dòng)就是通過(guò)這種方式實(shí)現(xiàn)的。
簡(jiǎn)單的說(shuō),運(yùn)行級(jí)就是操作系統(tǒng)當(dāng)前正在運(yùn)行的功能級(jí)別。
例:在Ubuntu/debain里,可以使用update-rc.d命令來(lái)把示例腳本:/etc/init.d/proxy安裝到各個(gè)runlevel中。
update-rc.d后面有三個(gè)參數(shù),分別是/etc/init.d下的腳本名字,默認(rèn)安裝方式,運(yùn)行的優(yōu)先級(jí)。優(yōu)先級(jí)的數(shù)字越大,表示越遲運(yùn)行,這里我們把自己寫的服務(wù)放在最后運(yùn)行。
如果要卸載隨機(jī)啟動(dòng)的服務(wù),執(zhí)行
在update-rc.d安裝的時(shí)候提示了警告信息,是因?yàn)槲覀儗懙?etc/init.d/proxy太簡(jiǎn)陋了,只包含了我們想要的命令,連LSB的信息也沒(méi)有提供。
只需要對(duì)自啟動(dòng)腳本做一些小改動(dòng),就可以避免那個(gè)警告了。如下:
到此,一個(gè)最簡(jiǎn)單的隨機(jī)啟動(dòng)服務(wù)寫好了,看起來(lái)文章挺長(zhǎng)的,但其實(shí)也就幾個(gè)命令而已。 在下次開機(jī)啟動(dòng)的時(shí)候,proxy.py就會(huì)以root用戶身份被自動(dòng)運(yùn)行。
在/etc/init.d下新建示例腳本文件(startTest.sh),該腳本會(huì)啟動(dòng)/opt/test.sh。內(nèi)容如下:
寫了腳本文件之后事情還沒(méi)有完,繼續(xù)完成以下幾個(gè)步驟:
網(wǎng)頁(yè)標(biāo)題:rc命令linux rc命令是繪制圓形的命令縮寫詞
分享鏈接:http://aaarwkj.com/article32/docpipc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站營(yíng)銷、網(wǎng)站維護(hù)、用戶體驗(yàn)、搜索引擎優(yōu)化、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)