Ubuntu Linux實(shí)務(wù)操作(4)
Posted on 2007-09-29 12:46 David.Ko 閱讀(288) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): UbuntuGNU/Linux目錄的結(jié)構(gòu)
在GNU/Linux里面,所有的目錄都是從 /(root)根目錄所擴(kuò)展的樹(shù)狀結(jié)構(gòu)。也許有些朋友會(huì)問(wèn),如果有很多顆硬盤(pán),那不就有很多根目錄嗎? 事實(shí)不是這樣的!那些硬盤(pán)的某個(gè)分割區(qū)不會(huì)像MS Windows一樣,分割成C槽、D槽和E槽等等,而都是在那個(gè)根目錄或底下的某個(gè)子目錄,只是把某個(gè)分割區(qū)掛載(mount)到那個(gè)目錄罷了,也就是說(shuō) 在Microsoft Windows的X槽對(duì)應(yīng)到GNU/Linux的話,就是掛載在某一個(gè)目錄底下。
如果這樣的掛來(lái)掛去,總要有個(gè)初始化源頭讓我們掛吧? 所以至少要有一塊分割區(qū)給根目錄/(root),其它的目錄就會(huì)以此為基礎(chǔ)續(xù)掛在根目錄的某個(gè)子目錄下。如此就會(huì)形成一個(gè)如下圖4-1的樹(shù)狀結(jié)構(gòu)。
GNU/Linux的發(fā)行版太多了,在早期每個(gè)發(fā)行版都有自己首選的目錄分配方式,不同的版本有不一樣的目錄分配,因此而造成很多使用者的困擾。為了平息 這樣的亂局,F(xiàn)ilesystem Hierarchy Standard(FHS:http://www.pathname.com/fhs/)就出面制定了一些標(biāo)準(zhǔn),讓各個(gè)發(fā)行版有個(gè)綱要可以知道哪個(gè)目錄要 放什麼樣的東西。當(dāng)前FHS定義的是每個(gè)目錄的大綱,所以很多細(xì)部配置文件的文件名或許還是有所不同,但是幾乎都放在同一個(gè)目錄底下了。這樣用戶在尋找的 時(shí)候,應(yīng)該是容易許多了。所以Ubuntu也遵循這樣的命名結(jié)構(gòu),圖4-1在別的發(fā)行版也適用。
我們了解了上面的內(nèi)容之后,知道在安裝時(shí)必需有一個(gè)/(root)根目錄,其它目錄是依附在它下面。這些其它的目錄所使用的實(shí)體硬盤(pán)空間可以是獨(dú)立出來(lái)在 另外一顆硬盤(pán)或同一顆的其它分割區(qū)或者甚至不用獨(dú)立出來(lái)。如果沒(méi)有獨(dú)立出來(lái)的話,就是使用 /(root)根目錄分割區(qū)的空間或者在上一層的實(shí)體分割區(qū)空間。
根據(jù)表4-1讀者可以自行評(píng)估哪一個(gè)目錄比較重要,然后決定是否獨(dú)立出來(lái),這樣子可以拿來(lái)當(dāng)成損害控管之用。后面也會(huì)有一些比較容易看懂的實(shí)際例子。
硬件設(shè)備的代號(hào)
在GNU/Linux裡面有個(gè)很好玩的特色,就是所有硬件設(shè)備都是可以看成是某個(gè)文件來(lái)操作。這樣有個(gè)好處是,應(yīng)用軟件只要管好對(duì)那個(gè)文件要如何操作,而 不必要管實(shí)際上硬件的運(yùn)作。其中代表設(shè)備的文件和實(shí)際運(yùn)作的硬件中間的關(guān)連,就是GNU/Linux kernel所需要負(fù)責(zé)的。
對(duì)於IDE硬盤(pán)來(lái)說(shuō),常常組裝計(jì)算機(jī)的人應(yīng)該都知道主機(jī)板上最多只有兩個(gè)IDE插槽,而每個(gè)插槽都可以通過(guò)排線接兩個(gè)硬盤(pán)。主機(jī)板上第一個(gè)插槽就是 IDEl (Primary),第二個(gè)插槽就是IDE2 (Secondary),每個(gè)插槽上可以接的兩顆硬盤(pán)其中一顆是Master,另外一顆就是Slave,至於怎樣判斷可以通過(guò)硬盤(pán)上的jumper來(lái)得 知。若是硬盤(pán)上的jumper插在cable selection的話,那麼從排線前端數(shù)過(guò)來(lái)第一顆就是Master,如表4-3,我們可以得知插在第一個(gè)插槽的Master硬盤(pán),它的文件別名位置就 是/dev/hda,若光盤(pán)機(jī)是裝在第二個(gè)插槽且jumper預(yù)設(shè)是Slave的話,這時(shí)候光盤(pán)機(jī)的文件代號(hào)的位置就在 /dev/hdb。
對(duì)於SCSI,SATA和隨身碟則都是 /dev/sd [a-z],但是它們會(huì)依照順序排下去,理論上會(huì)先排SCSI,然后是SATA,最后才是隨身碟,不會(huì)有重疊的部份。因?yàn)楝F(xiàn)在很多新的計(jì)算機(jī)都採(cǎi)用 SATA硬盤(pán),所以請(qǐng)記得這些SATA硬盤(pán)的別名都是和SCSI用一樣的。舉例來(lái)說(shuō),若你有兩臺(tái)SATA硬盤(pán),但是沒(méi)有SCSI設(shè)備,那麼第一顆SATA 硬盤(pán)的文件位置別名就是/dev/sda,第二顆就是 /dev/sdb,就是這么簡(jiǎn)單。
分割區(qū)概述(Partition)
前面已經(jīng)提到了,在MicroSoft Windows中同一顆硬盤(pán)的各個(gè)槽其實(shí)就代表了不同的分割區(qū)。一般人通常都喜歡把硬盤(pán)分割成C區(qū)和D區(qū),若需要重新安裝系統(tǒng)的時(shí)候,就會(huì)把所有數(shù)據(jù)和文 件都放在D區(qū),只要把系統(tǒng)碟C區(qū)格式化刪除,再重裝系統(tǒng),如此數(shù)據(jù)就不用備份出來(lái),可以很容易完成重裝且保存數(shù)據(jù)。同樣地,在GNU/Linux也是一 樣,我們喜歡把重要的目錄分別放在不同的分割區(qū),這樣子系統(tǒng)出了問(wèn)題也能很容易來(lái)救援。
我們來(lái)一個(gè)比喻,我們把硬盤(pán)想像成是一間很大的辦公室,如圖4-2所示,門(mén)口部份有一個(gè)柜子讓你放辦公室相關(guān)的消息。那個(gè)柜子就叫作主要開(kāi)機(jī)扇區(qū) (MBR,Master Boot Recorder) ,而柜子裡面有兩個(gè)抽屜,一個(gè)是放置開(kāi)機(jī)管理程序(boot loader),另外一個(gè)就是放置磁盤(pán)分割表(partition table),這個(gè)磁盤(pán)分割表就是紀(jì)錄整個(gè)辦公室隔間隔局的地方。
因?yàn)榇疟P(pán)分割表的空間有限,所以我們只能存儲(chǔ)最多四間隔間的信息,若你沒(méi)有在這四個(gè)隔間把整個(gè)坪數(shù)劃分完,那麼多出來(lái)的空間就不能使用的。而整間辦公室能 隔成的房間總共有兩種,一種是主分割區(qū)(Primary) ,另外一種是擴(kuò)展分割區(qū)(Extended),且規(guī)定擴(kuò)展分割區(qū)最多只能有一間。那麼擴(kuò)展分割區(qū)是要拿來(lái)做什麼用的呢?其實(shí)擴(kuò)展分割區(qū)是不能直接使用的, 可以看成它是另外一種房間,前面也有柜子存儲(chǔ)擴(kuò)展分割區(qū)底下的信息,但是因?yàn)檠e面沒(méi)有家俱,所以沒(méi)辦法直接使用。所以擴(kuò)展分割區(qū)還要再分割成邏輯分割區(qū) (Logical),從擴(kuò)展分割區(qū)再分割的邏輯分割區(qū)最多可以分割到12個(gè),故最后可用的最多分割區(qū)數(shù)會(huì)有3個(gè)主分割區(qū)+12個(gè)邏輯分割區(qū)=15個(gè)分割 區(qū),那就滿足使用了。
每個(gè)分割區(qū)在GNU/Linux都有它的設(shè)備文件別名,它的別名就是硬盤(pán)設(shè)備代號(hào)后面加上數(shù)字。例如我們把4個(gè)分割區(qū)都分割成主要分割區(qū),那麼就會(huì)如圖4 -3所示,給的分割區(qū)別名分別是hdal到hda4。但是這個(gè)時(shí)候如果想要超過(guò)4個(gè)分割區(qū)呢? 那就得要使用擴(kuò)展分割區(qū)。我們可以把圖4-3最后一個(gè)主分割區(qū)換成擴(kuò)展分割區(qū),再把那個(gè)擴(kuò)展分割區(qū)分割成3個(gè)邏輯分割區(qū),最后會(huì)如圖4-4,會(huì)有6個(gè)分割 區(qū)可以用。
邏輯分割區(qū)一定是從hda5開(kāi)始,而前面剛好有hdal到hda4這4個(gè)別名,就是給主分割區(qū)和擴(kuò)展分割區(qū)瓜分的,至於擴(kuò)展分割區(qū)是不能直接用的,最多也只有一個(gè),要擴(kuò)展分割區(qū)裡面的邏輯分割區(qū)才可以直接被使用。
當(dāng)然我們也可以用一個(gè)主分割區(qū)配上一個(gè)擴(kuò)展分割區(qū),如圖4-5來(lái)達(dá)到和圖4-4一樣有6個(gè)分割區(qū)的效果,但是我們實(shí)務(wù)上比較喜歡先把主要分割區(qū)用完,再來(lái)搭配擴(kuò)展分割區(qū)使用。不管怎樣,只要記得一個(gè)規(guī)則,主要分割區(qū)加擴(kuò)展分割區(qū)最多只能有4個(gè),其它的都隨使用者來(lái)發(fā)揮。
在linux中一定要被獨(dú)立劃分出來(lái)的分割區(qū)有 /(root)和swap,若你只要這樣基本的分割法,那麼安裝的時(shí)候選自動(dòng)分割就是採(cǎi)用這種作法,但是對(duì)於有特殊需求的人,可以使用手動(dòng)規(guī)劃方式。
● /(root)分割區(qū):所有的目錄都是根目錄的子目錄,所以這個(gè)分割區(qū)一定要有。
● swap分割區(qū):swap分割區(qū)是做什麼用的呢?其實(shí)它可大可小,尤其是在內(nèi)存大家都裝768MB或1 GB的年代。它的功能類(lèi)似微軟Windows XP的虛存,不過(guò)在Windows XP裡面虛存是單獨(dú)一個(gè)文件存放在C區(qū),但是在GNU/Linux內(nèi)則是獨(dú)立成為一個(gè)分割區(qū)。通常swap是在跑大程序時(shí)候,若需要用到的內(nèi)存比系統(tǒng)擁有 的主記憶存還大時(shí),才會(huì)先把一些不常用的數(shù)據(jù)放到虛存裡面,然后等要用到時(shí),再把它叫出來(lái)。而依照一般舊制經(jīng)驗(yàn)法則,swap是主記憶存的兩倍,但是筆者 建議是和主記憶存一樣大就好或者干脆512 Mb的swap就很夠用了。
文件系統(tǒng)格式概述
在Microsoft Winsows的世界,硬盤(pán)可以格式化成NTFS、FAT32、FATl6等等不同的格式。同樣地,在GNU/Linux底下也是有很多不同的文件系統(tǒng)格 式可供選擇。當(dāng)前在GNU/Linux底下,比較常用的有這幾種格式:Ext2/Ext3、ReiserFS、XFS和JFS等數(shù)種。當(dāng)然各種格式都有其 優(yōu)缺點(diǎn),所以我們將做一些簡(jiǎn)單的介紹。
除了Ext2以外,其它幾種都是日誌型文件系統(tǒng)。那什麼是日誌型文件系統(tǒng)呢? 就是系統(tǒng)會(huì)多用一些額外的空間紀(jì)錄硬盤(pán)的數(shù)據(jù)狀態(tài),因而在不正常開(kāi)關(guān)機(jī)后,不需整個(gè)硬盤(pán)重新掃描來(lái)恢復(fù)正常的系統(tǒng)狀態(tài)。
● Ext2:此為一非常老舊且不支持日誌系統(tǒng)的文件系統(tǒng)格式,早期的Linux玩家應(yīng)該還記得吧,在每次不正常關(guān)機(jī)后,重新開(kāi)機(jī)時(shí)錯(cuò)誤檢查會(huì)需要很久,而且在不正常關(guān)機(jī)下,常常會(huì)讓你一次不見(jiàn)很多文件,現(xiàn)在已經(jīng)很少人使用這類(lèi)文件系統(tǒng)了。
● Ext3:為Ext2個(gè)改良版,所以Ext2可以直接升級(jí)成為Ext3而不必重新格式化,這也可以讓舊的Ext2系統(tǒng)更加穩(wěn)定。而主要和Ext2的差別是 增加了日誌系統(tǒng)(metadata),所以在不正常開(kāi)關(guān)機(jī)后,可以迅速使系統(tǒng)恢復(fù)。而因?yàn)樗c舊有的文件系統(tǒng)兼容,因此很多發(fā)行版都缺省使用Ext3。但 是在實(shí)際測(cè)試上,它的硬盤(pán)使用率其實(shí)不佳,大概只有真正空間的93%會(huì)被使用到,至於其它性能測(cè)試表現(xiàn)則為中等。在格式化與創(chuàng)建文件系統(tǒng)的時(shí)間也是其它文 件系統(tǒng)的數(shù)十倍。
● ReiserFS:http://www.namesys.com:採(cǎi)用日誌型的文件系統(tǒng),為Hans Reiser所創(chuàng),因此以他的名字來(lái)命名。技術(shù)上使用的是B*-tree為基礎(chǔ)的文件系統(tǒng),其特色為從處理大型文件到眾多小文件都可以用很高的效率處理。 實(shí)務(wù)上ReiserFS 在處理文件小於1k的小文件時(shí),效率甚至可以比Ext3快約10倍,所以ReiserFS專(zhuān)長(zhǎng)是在處理很多小文件。而在一般操作上,它的性能表現(xiàn)也有中上 的程度。
● XFS:http://oss.sgi.com/projects/xfs/:繪圖工作站公司SGI為了高級(jí)繪圖處理器系統(tǒng)IRIX所設(shè)計(jì)的文件格式,也 是屬於日誌型文件系統(tǒng)。而SGI亦將其移植到GNU/Linux上。因?yàn)樵臼轻槍?duì)高性能繪圖設(shè)計(jì),且為高階工作站所使用,所以在穩(wěn)定性和效率上是無(wú)雍置 疑的。論其在實(shí)務(wù)上的表現(xiàn),它在處理各種文件尺寸混合的情況下效率最好,並且在一般使用上有
不錯(cuò)的表現(xiàn)。
● JFS:http://jfs.sourceforge.net:為全球最大計(jì)算機(jī)供應(yīng)商IBM為AIX系列設(shè)計(jì)的日誌型文件系統(tǒng),技術(shù)上使用的是B+- tree為基礎(chǔ)的文件系統(tǒng)和ReiserFS使用B*-tree不同。IBM AIX服務(wù)器在很多金融機(jī)構(gòu)上使用,所以穩(wěn)定性是沒(méi)話說(shuō)的。而它最重要的特色是在處理文件I/O的時(shí)候是所有文件系統(tǒng)里面最不佔(zhàn)CPU資源的,也就是 CPU使用率最低。而且在這樣節(jié)省使用CPU的情況下,它的效率表現(xiàn)還有中上以上的程度。
雖然Ext3性能不好(在日誌型文件系統(tǒng)中效率上算是最糟糕的) ,那為何還有那麼多人使用?那是因?yàn)楫?dāng)時(shí)Ext3可以直接從Ext2升級(jí),而不需要先備份數(shù)據(jù),然后格式化后再把文件復(fù)制回去,所以使用人數(shù)最多。但這也 不能全然怪它,因?yàn)樗鼮榱撕虴xt2兼容,所以背負(fù)了很多的歷史包袱。因此我推薦新的電腦考慮使用ReiserFX、XFS或JFS。若是以性能為考慮, 則可以選擇ReiserFS或XFS。若是系統(tǒng)資源不多,要使用最低的CPU使用率,那麼可以選擇JFS,因?yàn)樗兄詈玫男阅苜Y源比。
在網(wǎng)絡(luò)上有一些文件系統(tǒng)性能評(píng)估,這裡列出來(lái)給大家參考一下:
★ http://www.debian-administration.org/articles/388
★ http://fsbench.netnation.com/
★ http://linuxgazette.net/122/TWDT.html
★ http://linuxgazette.net/102/piszcz.html
開(kāi)始規(guī)劃你的硬盤(pán)
隨著任務(wù)的不同,你可以有各種不同的硬盤(pán)規(guī)劃。筆者假設(shè)你使用80 GB的IDE硬盤(pán),內(nèi)存512 MB,因此規(guī)劃swap是512 MB,硬盤(pán)設(shè)備別名是hda。
以下是幾種不同的硬盤(pán)規(guī)劃,分別是適合入門(mén),高級(jí)和服務(wù)器所需要,大家可以視需求自行參考。不過(guò)你在進(jìn)行分割之后,有可能會(huì)因?yàn)閾Q算的關(guān)系,少了個(gè)幾MB,那是沒(méi)有關(guān)系的,只要不要太離譜,都應(yīng)該是沒(méi)問(wèn)題的。
每個(gè)分割區(qū)都是可以存放獨(dú)立的文件系統(tǒng),互相不影響,所以大家也可以在hdal安裝Windows XP,然后hda2安裝GNU/Linux,再通過(guò)MBR上的bootloader來(lái)選擇要用哪個(gè)分割區(qū)來(lái)開(kāi)機(jī)。如果讀者真的想要使用雙系統(tǒng)的話,推薦是 先安裝Windows XP,並且在安裝時(shí)留下剩下的空間來(lái)做額外的分割區(qū)給Ubuntu使用,如此在安裝Ubuntu以后,Ubuntu的bootloader-GRUB將會(huì) 自動(dòng)設(shè)置成啟動(dòng)的時(shí)候可以有雙系統(tǒng)供你選擇。請(qǐng)記得最好不要先安裝Ubuntu再安裝Windows XP,這樣GRUB的設(shè)置會(huì)被Windows XP洗掉,那你就得要手動(dòng)重新安裝GRUB到MBR了。
若是你真的不想重裝Windows XP,可以先重整硬盤(pán),然后用SPFDISK這個(gè)工具程序把硬盤(pán)的分割表更改尺寸,這樣就可以擠出空間來(lái)裝Ubuntu,但這個(gè)方法特別留意,並不一定會(huì)成功,而且也許會(huì)造成你的數(shù)據(jù)遺失。
在GNU/Linux里面,所有的目錄都是從 /(root)根目錄所擴(kuò)展的樹(shù)狀結(jié)構(gòu)。也許有些朋友會(huì)問(wèn),如果有很多顆硬盤(pán),那不就有很多根目錄嗎? 事實(shí)不是這樣的!那些硬盤(pán)的某個(gè)分割區(qū)不會(huì)像MS Windows一樣,分割成C槽、D槽和E槽等等,而都是在那個(gè)根目錄或底下的某個(gè)子目錄,只是把某個(gè)分割區(qū)掛載(mount)到那個(gè)目錄罷了,也就是說(shuō) 在Microsoft Windows的X槽對(duì)應(yīng)到GNU/Linux的話,就是掛載在某一個(gè)目錄底下。
如果這樣的掛來(lái)掛去,總要有個(gè)初始化源頭讓我們掛吧? 所以至少要有一塊分割區(qū)給根目錄/(root),其它的目錄就會(huì)以此為基礎(chǔ)續(xù)掛在根目錄的某個(gè)子目錄下。如此就會(huì)形成一個(gè)如下圖4-1的樹(shù)狀結(jié)構(gòu)。
GNU/Linux的發(fā)行版太多了,在早期每個(gè)發(fā)行版都有自己首選的目錄分配方式,不同的版本有不一樣的目錄分配,因此而造成很多使用者的困擾。為了平息 這樣的亂局,F(xiàn)ilesystem Hierarchy Standard(FHS:http://www.pathname.com/fhs/)就出面制定了一些標(biāo)準(zhǔn),讓各個(gè)發(fā)行版有個(gè)綱要可以知道哪個(gè)目錄要 放什麼樣的東西。當(dāng)前FHS定義的是每個(gè)目錄的大綱,所以很多細(xì)部配置文件的文件名或許還是有所不同,但是幾乎都放在同一個(gè)目錄底下了。這樣用戶在尋找的 時(shí)候,應(yīng)該是容易許多了。所以Ubuntu也遵循這樣的命名結(jié)構(gòu),圖4-1在別的發(fā)行版也適用。
我們了解了上面的內(nèi)容之后,知道在安裝時(shí)必需有一個(gè)/(root)根目錄,其它目錄是依附在它下面。這些其它的目錄所使用的實(shí)體硬盤(pán)空間可以是獨(dú)立出來(lái)在 另外一顆硬盤(pán)或同一顆的其它分割區(qū)或者甚至不用獨(dú)立出來(lái)。如果沒(méi)有獨(dú)立出來(lái)的話,就是使用 /(root)根目錄分割區(qū)的空間或者在上一層的實(shí)體分割區(qū)空間。

根據(jù)表4-1讀者可以自行評(píng)估哪一個(gè)目錄比較重要,然后決定是否獨(dú)立出來(lái),這樣子可以拿來(lái)當(dāng)成損害控管之用。后面也會(huì)有一些比較容易看懂的實(shí)際例子。

硬件設(shè)備的代號(hào)
在GNU/Linux裡面有個(gè)很好玩的特色,就是所有硬件設(shè)備都是可以看成是某個(gè)文件來(lái)操作。這樣有個(gè)好處是,應(yīng)用軟件只要管好對(duì)那個(gè)文件要如何操作,而 不必要管實(shí)際上硬件的運(yùn)作。其中代表設(shè)備的文件和實(shí)際運(yùn)作的硬件中間的關(guān)連,就是GNU/Linux kernel所需要負(fù)責(zé)的。
對(duì)於IDE硬盤(pán)來(lái)說(shuō),常常組裝計(jì)算機(jī)的人應(yīng)該都知道主機(jī)板上最多只有兩個(gè)IDE插槽,而每個(gè)插槽都可以通過(guò)排線接兩個(gè)硬盤(pán)。主機(jī)板上第一個(gè)插槽就是 IDEl (Primary),第二個(gè)插槽就是IDE2 (Secondary),每個(gè)插槽上可以接的兩顆硬盤(pán)其中一顆是Master,另外一顆就是Slave,至於怎樣判斷可以通過(guò)硬盤(pán)上的jumper來(lái)得 知。若是硬盤(pán)上的jumper插在cable selection的話,那麼從排線前端數(shù)過(guò)來(lái)第一顆就是Master,如表4-3,我們可以得知插在第一個(gè)插槽的Master硬盤(pán),它的文件別名位置就 是/dev/hda,若光盤(pán)機(jī)是裝在第二個(gè)插槽且jumper預(yù)設(shè)是Slave的話,這時(shí)候光盤(pán)機(jī)的文件代號(hào)的位置就在 /dev/hdb。
對(duì)於SCSI,SATA和隨身碟則都是 /dev/sd [a-z],但是它們會(huì)依照順序排下去,理論上會(huì)先排SCSI,然后是SATA,最后才是隨身碟,不會(huì)有重疊的部份。因?yàn)楝F(xiàn)在很多新的計(jì)算機(jī)都採(cǎi)用 SATA硬盤(pán),所以請(qǐng)記得這些SATA硬盤(pán)的別名都是和SCSI用一樣的。舉例來(lái)說(shuō),若你有兩臺(tái)SATA硬盤(pán),但是沒(méi)有SCSI設(shè)備,那麼第一顆SATA 硬盤(pán)的文件位置別名就是/dev/sda,第二顆就是 /dev/sdb,就是這么簡(jiǎn)單。

分割區(qū)概述(Partition)
前面已經(jīng)提到了,在MicroSoft Windows中同一顆硬盤(pán)的各個(gè)槽其實(shí)就代表了不同的分割區(qū)。一般人通常都喜歡把硬盤(pán)分割成C區(qū)和D區(qū),若需要重新安裝系統(tǒng)的時(shí)候,就會(huì)把所有數(shù)據(jù)和文 件都放在D區(qū),只要把系統(tǒng)碟C區(qū)格式化刪除,再重裝系統(tǒng),如此數(shù)據(jù)就不用備份出來(lái),可以很容易完成重裝且保存數(shù)據(jù)。同樣地,在GNU/Linux也是一 樣,我們喜歡把重要的目錄分別放在不同的分割區(qū),這樣子系統(tǒng)出了問(wèn)題也能很容易來(lái)救援。
我們來(lái)一個(gè)比喻,我們把硬盤(pán)想像成是一間很大的辦公室,如圖4-2所示,門(mén)口部份有一個(gè)柜子讓你放辦公室相關(guān)的消息。那個(gè)柜子就叫作主要開(kāi)機(jī)扇區(qū) (MBR,Master Boot Recorder) ,而柜子裡面有兩個(gè)抽屜,一個(gè)是放置開(kāi)機(jī)管理程序(boot loader),另外一個(gè)就是放置磁盤(pán)分割表(partition table),這個(gè)磁盤(pán)分割表就是紀(jì)錄整個(gè)辦公室隔間隔局的地方。

因?yàn)榇疟P(pán)分割表的空間有限,所以我們只能存儲(chǔ)最多四間隔間的信息,若你沒(méi)有在這四個(gè)隔間把整個(gè)坪數(shù)劃分完,那麼多出來(lái)的空間就不能使用的。而整間辦公室能 隔成的房間總共有兩種,一種是主分割區(qū)(Primary) ,另外一種是擴(kuò)展分割區(qū)(Extended),且規(guī)定擴(kuò)展分割區(qū)最多只能有一間。那麼擴(kuò)展分割區(qū)是要拿來(lái)做什麼用的呢?其實(shí)擴(kuò)展分割區(qū)是不能直接使用的, 可以看成它是另外一種房間,前面也有柜子存儲(chǔ)擴(kuò)展分割區(qū)底下的信息,但是因?yàn)檠e面沒(méi)有家俱,所以沒(méi)辦法直接使用。所以擴(kuò)展分割區(qū)還要再分割成邏輯分割區(qū) (Logical),從擴(kuò)展分割區(qū)再分割的邏輯分割區(qū)最多可以分割到12個(gè),故最后可用的最多分割區(qū)數(shù)會(huì)有3個(gè)主分割區(qū)+12個(gè)邏輯分割區(qū)=15個(gè)分割 區(qū),那就滿足使用了。

每個(gè)分割區(qū)在GNU/Linux都有它的設(shè)備文件別名,它的別名就是硬盤(pán)設(shè)備代號(hào)后面加上數(shù)字。例如我們把4個(gè)分割區(qū)都分割成主要分割區(qū),那麼就會(huì)如圖4 -3所示,給的分割區(qū)別名分別是hdal到hda4。但是這個(gè)時(shí)候如果想要超過(guò)4個(gè)分割區(qū)呢? 那就得要使用擴(kuò)展分割區(qū)。我們可以把圖4-3最后一個(gè)主分割區(qū)換成擴(kuò)展分割區(qū),再把那個(gè)擴(kuò)展分割區(qū)分割成3個(gè)邏輯分割區(qū),最后會(huì)如圖4-4,會(huì)有6個(gè)分割 區(qū)可以用。
邏輯分割區(qū)一定是從hda5開(kāi)始,而前面剛好有hdal到hda4這4個(gè)別名,就是給主分割區(qū)和擴(kuò)展分割區(qū)瓜分的,至於擴(kuò)展分割區(qū)是不能直接用的,最多也只有一個(gè),要擴(kuò)展分割區(qū)裡面的邏輯分割區(qū)才可以直接被使用。

當(dāng)然我們也可以用一個(gè)主分割區(qū)配上一個(gè)擴(kuò)展分割區(qū),如圖4-5來(lái)達(dá)到和圖4-4一樣有6個(gè)分割區(qū)的效果,但是我們實(shí)務(wù)上比較喜歡先把主要分割區(qū)用完,再來(lái)搭配擴(kuò)展分割區(qū)使用。不管怎樣,只要記得一個(gè)規(guī)則,主要分割區(qū)加擴(kuò)展分割區(qū)最多只能有4個(gè),其它的都隨使用者來(lái)發(fā)揮。

在linux中一定要被獨(dú)立劃分出來(lái)的分割區(qū)有 /(root)和swap,若你只要這樣基本的分割法,那麼安裝的時(shí)候選自動(dòng)分割就是採(cǎi)用這種作法,但是對(duì)於有特殊需求的人,可以使用手動(dòng)規(guī)劃方式。
● /(root)分割區(qū):所有的目錄都是根目錄的子目錄,所以這個(gè)分割區(qū)一定要有。
● swap分割區(qū):swap分割區(qū)是做什麼用的呢?其實(shí)它可大可小,尤其是在內(nèi)存大家都裝768MB或1 GB的年代。它的功能類(lèi)似微軟Windows XP的虛存,不過(guò)在Windows XP裡面虛存是單獨(dú)一個(gè)文件存放在C區(qū),但是在GNU/Linux內(nèi)則是獨(dú)立成為一個(gè)分割區(qū)。通常swap是在跑大程序時(shí)候,若需要用到的內(nèi)存比系統(tǒng)擁有 的主記憶存還大時(shí),才會(huì)先把一些不常用的數(shù)據(jù)放到虛存裡面,然后等要用到時(shí),再把它叫出來(lái)。而依照一般舊制經(jīng)驗(yàn)法則,swap是主記憶存的兩倍,但是筆者 建議是和主記憶存一樣大就好或者干脆512 Mb的swap就很夠用了。
文件系統(tǒng)格式概述
在Microsoft Winsows的世界,硬盤(pán)可以格式化成NTFS、FAT32、FATl6等等不同的格式。同樣地,在GNU/Linux底下也是有很多不同的文件系統(tǒng)格 式可供選擇。當(dāng)前在GNU/Linux底下,比較常用的有這幾種格式:Ext2/Ext3、ReiserFS、XFS和JFS等數(shù)種。當(dāng)然各種格式都有其 優(yōu)缺點(diǎn),所以我們將做一些簡(jiǎn)單的介紹。
除了Ext2以外,其它幾種都是日誌型文件系統(tǒng)。那什麼是日誌型文件系統(tǒng)呢? 就是系統(tǒng)會(huì)多用一些額外的空間紀(jì)錄硬盤(pán)的數(shù)據(jù)狀態(tài),因而在不正常開(kāi)關(guān)機(jī)后,不需整個(gè)硬盤(pán)重新掃描來(lái)恢復(fù)正常的系統(tǒng)狀態(tài)。
● Ext2:此為一非常老舊且不支持日誌系統(tǒng)的文件系統(tǒng)格式,早期的Linux玩家應(yīng)該還記得吧,在每次不正常關(guān)機(jī)后,重新開(kāi)機(jī)時(shí)錯(cuò)誤檢查會(huì)需要很久,而且在不正常關(guān)機(jī)下,常常會(huì)讓你一次不見(jiàn)很多文件,現(xiàn)在已經(jīng)很少人使用這類(lèi)文件系統(tǒng)了。
● Ext3:為Ext2個(gè)改良版,所以Ext2可以直接升級(jí)成為Ext3而不必重新格式化,這也可以讓舊的Ext2系統(tǒng)更加穩(wěn)定。而主要和Ext2的差別是 增加了日誌系統(tǒng)(metadata),所以在不正常開(kāi)關(guān)機(jī)后,可以迅速使系統(tǒng)恢復(fù)。而因?yàn)樗c舊有的文件系統(tǒng)兼容,因此很多發(fā)行版都缺省使用Ext3。但 是在實(shí)際測(cè)試上,它的硬盤(pán)使用率其實(shí)不佳,大概只有真正空間的93%會(huì)被使用到,至於其它性能測(cè)試表現(xiàn)則為中等。在格式化與創(chuàng)建文件系統(tǒng)的時(shí)間也是其它文 件系統(tǒng)的數(shù)十倍。
● ReiserFS:http://www.namesys.com:採(cǎi)用日誌型的文件系統(tǒng),為Hans Reiser所創(chuàng),因此以他的名字來(lái)命名。技術(shù)上使用的是B*-tree為基礎(chǔ)的文件系統(tǒng),其特色為從處理大型文件到眾多小文件都可以用很高的效率處理。 實(shí)務(wù)上ReiserFS 在處理文件小於1k的小文件時(shí),效率甚至可以比Ext3快約10倍,所以ReiserFS專(zhuān)長(zhǎng)是在處理很多小文件。而在一般操作上,它的性能表現(xiàn)也有中上 的程度。
● XFS:http://oss.sgi.com/projects/xfs/:繪圖工作站公司SGI為了高級(jí)繪圖處理器系統(tǒng)IRIX所設(shè)計(jì)的文件格式,也 是屬於日誌型文件系統(tǒng)。而SGI亦將其移植到GNU/Linux上。因?yàn)樵臼轻槍?duì)高性能繪圖設(shè)計(jì),且為高階工作站所使用,所以在穩(wěn)定性和效率上是無(wú)雍置 疑的。論其在實(shí)務(wù)上的表現(xiàn),它在處理各種文件尺寸混合的情況下效率最好,並且在一般使用上有
不錯(cuò)的表現(xiàn)。
● JFS:http://jfs.sourceforge.net:為全球最大計(jì)算機(jī)供應(yīng)商IBM為AIX系列設(shè)計(jì)的日誌型文件系統(tǒng),技術(shù)上使用的是B+- tree為基礎(chǔ)的文件系統(tǒng)和ReiserFS使用B*-tree不同。IBM AIX服務(wù)器在很多金融機(jī)構(gòu)上使用,所以穩(wěn)定性是沒(méi)話說(shuō)的。而它最重要的特色是在處理文件I/O的時(shí)候是所有文件系統(tǒng)里面最不佔(zhàn)CPU資源的,也就是 CPU使用率最低。而且在這樣節(jié)省使用CPU的情況下,它的效率表現(xiàn)還有中上以上的程度。
雖然Ext3性能不好(在日誌型文件系統(tǒng)中效率上算是最糟糕的) ,那為何還有那麼多人使用?那是因?yàn)楫?dāng)時(shí)Ext3可以直接從Ext2升級(jí),而不需要先備份數(shù)據(jù),然后格式化后再把文件復(fù)制回去,所以使用人數(shù)最多。但這也 不能全然怪它,因?yàn)樗鼮榱撕虴xt2兼容,所以背負(fù)了很多的歷史包袱。因此我推薦新的電腦考慮使用ReiserFX、XFS或JFS。若是以性能為考慮, 則可以選擇ReiserFS或XFS。若是系統(tǒng)資源不多,要使用最低的CPU使用率,那麼可以選擇JFS,因?yàn)樗兄詈玫男阅苜Y源比。
在網(wǎng)絡(luò)上有一些文件系統(tǒng)性能評(píng)估,這裡列出來(lái)給大家參考一下:
★ http://www.debian-administration.org/articles/388
★ http://fsbench.netnation.com/
★ http://linuxgazette.net/122/TWDT.html
★ http://linuxgazette.net/102/piszcz.html
開(kāi)始規(guī)劃你的硬盤(pán)
隨著任務(wù)的不同,你可以有各種不同的硬盤(pán)規(guī)劃。筆者假設(shè)你使用80 GB的IDE硬盤(pán),內(nèi)存512 MB,因此規(guī)劃swap是512 MB,硬盤(pán)設(shè)備別名是hda。
以下是幾種不同的硬盤(pán)規(guī)劃,分別是適合入門(mén),高級(jí)和服務(wù)器所需要,大家可以視需求自行參考。不過(guò)你在進(jìn)行分割之后,有可能會(huì)因?yàn)閾Q算的關(guān)系,少了個(gè)幾MB,那是沒(méi)有關(guān)系的,只要不要太離譜,都應(yīng)該是沒(méi)問(wèn)題的。

每個(gè)分割區(qū)都是可以存放獨(dú)立的文件系統(tǒng),互相不影響,所以大家也可以在hdal安裝Windows XP,然后hda2安裝GNU/Linux,再通過(guò)MBR上的bootloader來(lái)選擇要用哪個(gè)分割區(qū)來(lái)開(kāi)機(jī)。如果讀者真的想要使用雙系統(tǒng)的話,推薦是 先安裝Windows XP,並且在安裝時(shí)留下剩下的空間來(lái)做額外的分割區(qū)給Ubuntu使用,如此在安裝Ubuntu以后,Ubuntu的bootloader-GRUB將會(huì) 自動(dòng)設(shè)置成啟動(dòng)的時(shí)候可以有雙系統(tǒng)供你選擇。請(qǐng)記得最好不要先安裝Ubuntu再安裝Windows XP,這樣GRUB的設(shè)置會(huì)被Windows XP洗掉,那你就得要手動(dòng)重新安裝GRUB到MBR了。
若是你真的不想重裝Windows XP,可以先重整硬盤(pán),然后用SPFDISK這個(gè)工具程序把硬盤(pán)的分割表更改尺寸,這樣就可以擠出空間來(lái)裝Ubuntu,但這個(gè)方法特別留意,並不一定會(huì)成功,而且也許會(huì)造成你的數(shù)據(jù)遺失。
