偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

詳解暢談Linux initrd系統(tǒng)

系統(tǒng) Linux
將剛剛找到的root 路徑mount到Linux initrd中的/sysroot下,但要注意,這時(shí)的/sysroot就好像rescue mode的/mnt/sysimage目錄,是一樣的意思,都只是先將實(shí)體操作系統(tǒng)存在的實(shí)體路徑mount到一個(gè)虛擬操作系統(tǒng)(在這里是initrd)的暫存目錄中,再通過(guò)切換的方式轉(zhuǎn)為實(shí)體的主目錄。

Linux initrd有很多值得學(xué)習(xí)的地方,這里我們主要介紹Linux initrd,包括介紹nash等方面,Linux initrd 講究了很多重要的事情,init的執(zhí)行在這里分為以下幾部操作,請(qǐng)對(duì)所區(qū)分的各個(gè)部分加以了解。

定義主目錄(root)的路徑

mkrootdev指令是nash這一支shell所提供的功能,主要就是在要轉(zhuǎn)換之前先行將主目錄定義清楚,默認(rèn)會(huì)將GRUB中kernel command line所設(shè)置root=xxx中的xxx路徑先建立好。

將root 路徑mount到/sysroot下將剛剛找到的root 路徑mount到Linux initrd中的/sysroot下,但要注意,這時(shí)的/sysroot就好像rescue mode的/mnt/sysimage目錄,是一樣的意思,都只是先將實(shí)體操作系統(tǒng)存在的實(shí)體路徑mount到一個(gè)虛擬操作系統(tǒng)(在這里是initrd)的暫存目錄中,再通過(guò)切換的方式轉(zhuǎn)為實(shí)體的主目錄。不同的是,在rescue mode中用的是chroot;但在Linux initrd用的則是switchroot指令,之所以會(huì)有這樣的差異,是因?yàn)閞escue mode直接使用了操作系統(tǒng)的指令,而initrd在加載時(shí),并沒(méi)有操作系統(tǒng)的指令可用,因此是通過(guò)nash內(nèi)置的指令?;蛟S有人會(huì)問(wèn),rescue mode不也是以Linux initrd的方式加載的嗎?是的,但要在此補(bǔ)充說(shuō)明的是,雖然都是Linux initrd,但rescue mode中的initrd是光盤(pán)直接提供的,而這里所說(shuō)的Linux initrd則是安裝操作系統(tǒng)后由操作系統(tǒng)直接產(chǎn)生的,兩者有很多不同之處。您若有興趣,不妨將光盤(pán)的initrd文件打開(kāi)來(lái)看(如圖4-45所示),將會(huì)發(fā)現(xiàn)該Linux initrd中的init文件并不是一個(gè)腳本文件,而是一個(gè)真正可以在操作系統(tǒng)下執(zhí)行的程序。

當(dāng)然,存放在CD或DVD中的Linux initrd文件是為用戶安裝操作系統(tǒng)所使用的,會(huì)遇到許多軟、硬件的不同需求,因此,initrd的文件所需存放的資料(像module)遠(yuǎn)比操作系統(tǒng)開(kāi)機(jī)所需加載的Linux initrd文件多得多。像圖4-46 中Fedora Core 6安裝光盤(pán)中的initrd文件幾乎是操作系統(tǒng)下initrd文件的4倍之多。

建立其他的文件系統(tǒng)

在主目錄(在initrd階段為/sysroot)建好之后,setuproot指令開(kāi)始運(yùn)行,將Linux initrd通過(guò)init建立好的/proc、/sys、/de目錄中所有資料轉(zhuǎn)移到/sysroot,以方便轉(zhuǎn)換到新的實(shí)體操作系統(tǒng),這也是nash內(nèi)置的功能,但筆者在nash的使用手冊(cè)竟無(wú)法找到任何有關(guān)setuproot的描述,不知為何獨(dú)漏這一支。

切換到新的root目錄,并開(kāi)始執(zhí)行實(shí)體系統(tǒng)下的init文件
switchroot是nash在2.6版kernel以后的版本才可使用的新功能,剛剛setuproot把所有和操作系統(tǒng)有關(guān)的目錄都建立在/sysroot后,setuproot會(huì)將/sysroot切換為實(shí)體操作系統(tǒng)下的主目錄(/),完成后會(huì)順便將所有之前Linux initrd存在內(nèi)存中的資料清空,如同所有在虛擬文件系統(tǒng)(包括/sys、/proc或/dev等)中的資料,因此,當(dāng)switchroot執(zhí)行完成時(shí),內(nèi)存中就不會(huì)再有Linux initrd所建的任何目錄及文件,完全由實(shí)體操作系統(tǒng)來(lái)運(yùn)行。

總結(jié)

在此要特別強(qiáng)調(diào),千萬(wàn)不要在您的計(jì)算機(jī)實(shí)驗(yàn)上述所提到nash支持的setuproot及switchroot兩種功能,雖然本章一開(kāi)始就說(shuō)明了如何執(zhí)行nash及如何實(shí)際使用nash中的功能,但如果使用到setuproot及switchroot兩者其中之一,都會(huì)對(duì)操作系統(tǒng)造成破壞,尤其是switchroot。原因是這兩者原本就是要為切換到實(shí)體操作系統(tǒng)做準(zhǔn)備,但并不會(huì)理會(huì)本身所存在的路徑是屬于內(nèi)存或是實(shí)體硬盤(pán)。

當(dāng)用戶執(zhí)行時(shí),會(huì)強(qiáng)迫由setuproot將原本在操作系統(tǒng)中/proc、/sys及/dev的文件先做搬移操作,這樣在開(kāi)機(jī)時(shí),就會(huì)因?yàn)楸粍h除掉許多重要文件而造成無(wú)法正常開(kāi)機(jī),更慘的是,接著會(huì)執(zhí)行switchroot,我們提過(guò)這個(gè)功能會(huì)將切換過(guò)后遺留的文件全部清掉,這在實(shí)體操作系統(tǒng)所代表的就是將硬盤(pán)中的資料全數(shù)刪除,因此,在執(zhí)行完switchroot后,就只剩原本console的畫(huà)面陪伴你,重開(kāi)機(jī)后就一個(gè)不剩了,想做實(shí)驗(yàn)的用戶,千萬(wàn)要考慮清楚再下手。

當(dāng)然,在switchroot執(zhí)行后,就進(jìn)入操作系統(tǒng)程序,而這個(gè)重責(zé)大任就交給存在于實(shí)體操作系統(tǒng)中的init這個(gè)程序,下一章將以init開(kāi)頭,直到進(jìn)入登錄畫(huà)面的每一步,都會(huì)交待得清清楚楚,當(dāng)然,Linux initrd在每一個(gè)版本及每一套不同的操作系統(tǒng)廠商(如Red Hat、SuSE、Debian等)都或多或少有些許的不同之處,但畢竟都是使用Linux initrd的kernel,了解其中一個(gè)之后,對(duì)每個(gè)版本一定都會(huì)有較清楚的認(rèn)知。

【編輯推薦】

  1. 簡(jiǎn)單講述Linux內(nèi)核系統(tǒng)應(yīng)用
  2. 學(xué)習(xí)討論Linux命令行內(nèi)核系統(tǒng)
  3. 詳細(xì)介紹網(wǎng)絡(luò)安裝 Linux
  4. 穩(wěn)定又易于使用的Linux桌面系統(tǒng)
  5. 大致介紹Linux應(yīng)用程實(shí)際應(yīng)用
責(zé)任編輯:佚名 來(lái)源: CSDN
相關(guān)推薦

2010-03-02 16:32:35

Linux initr

2009-12-23 16:56:45

2009-12-25 15:23:18

Linux shell

2020-08-21 10:05:22

Linux系統(tǒng)結(jié)構(gòu)內(nèi)核

2009-12-01 13:35:39

Telnet服務(wù)

2021-11-06 10:17:38

Linux僵尸進(jìn)程

2009-10-22 09:20:37

Linux系統(tǒng)網(wǎng)絡(luò)操作系統(tǒng)

2021-11-08 10:30:30

Linux僵尸命令

2010-05-26 12:57:59

linux 系統(tǒng)監(jiān)控

2009-11-10 13:43:37

Visual Stud

2009-12-29 11:07:52

Ubuntu Linu

2009-10-22 12:27:30

linux塊設(shè)備

2009-12-03 09:49:25

Linux系統(tǒng)引導(dǎo)程序

2009-03-05 09:43:32

Linux系統(tǒng)進(jìn)程管理命令

2021-08-31 11:53:38

Linux inputLinux 系統(tǒng)

2009-07-01 15:52:19

2010-07-08 14:13:58

UML靜態(tài)建模

2009-07-15 10:18:04

Linux安全策略曹江華開(kāi)源

2014-08-07 14:19:46

Material DeGoogle

2009-12-10 14:27:07

Linux操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)