在學(xué)習(xí) Linux的過程中,,安裝 Linux 是每一個(gè)初學(xué)者的第一個(gè)門檻。在這個(gè)過程中間,,最大的困惑莫過于給硬盤進(jìn)行分區(qū),。雖然,現(xiàn)在各種發(fā)行版本的 Linux已經(jīng)提供了友好的圖形交互界面,,但是很多的人還是感覺無從下手,。這其中的原因主要是不清楚 Linux的分區(qū)規(guī)定,以及它下面最有效的分區(qū)工具― Fdisk的使用方法,。 首先我們要對(duì)硬盤分區(qū)的基本概念進(jìn)行一些初步的了解,,硬盤的分區(qū)主要分為基本分區(qū)(primary partion)和擴(kuò)充分區(qū)(extension partion)兩種,基本分區(qū)和擴(kuò)充分區(qū)的數(shù)目之和不能大于四個(gè),。且基本分區(qū)可以馬上被使用但不能再分區(qū),。擴(kuò)充分區(qū)必須再進(jìn)行分區(qū)后才能使用,也就是說它必須還要進(jìn)行二次分區(qū),。那么由擴(kuò)充分區(qū)再分下去的是什么呢,?它就是邏輯分區(qū)(logical partion),況且邏輯分區(qū)沒有數(shù)量上限制,。 對(duì)習(xí)慣于使用dos或windows的用戶來說,,有幾個(gè)分區(qū)就有幾個(gè)驅(qū)動(dòng)器,并且每個(gè)分區(qū)都會(huì)獲得一個(gè)字母標(biāo)識(shí)符,,然后就可以選用這個(gè)字母來指定在這個(gè)分區(qū)上的文件和目錄,,它們的文件結(jié)構(gòu)都是獨(dú)立的,非常好理解。但對(duì)這些初上手 red hat linux的用戶,,可就有點(diǎn)惱人了,。因?yàn)閷?duì)red hat linux用戶來說無論有幾個(gè)分區(qū),分給哪一目錄使用,,它歸根結(jié)底就只有一個(gè)根目錄,,一個(gè)獨(dú)立且唯一的文件結(jié)構(gòu)。red hat linux中每個(gè)分區(qū)都是用來組成整個(gè)文件系統(tǒng)的一部分,,因?yàn)樗捎昧艘环N叫“載入”的處理方法,,它的整個(gè)文件系統(tǒng)中包含了一整套的文件和目錄,,且將一個(gè)分區(qū)和一個(gè)目錄聯(lián)系起來,。這時(shí)要載入的一個(gè)分區(qū)將使它的存儲(chǔ)空間在一個(gè)目錄下獲得。 對(duì)windows用戶來說,,操作系統(tǒng)必須裝在同一分區(qū)里,,它是商業(yè)軟件!所以你沒有選擇的余地!對(duì)red hat linux來說,,你有了較大的選擇余地,,你可以把系統(tǒng)文件分幾個(gè)區(qū)來裝(必須要說明載入點(diǎn)),也可以就裝在同一個(gè)分區(qū)中(載入點(diǎn)是“/”),。 下面從這兩個(gè)方面入手,,來講解這個(gè)困擾大家的問題。 Linux 的分區(qū)規(guī)定 1.設(shè)備管理 在 Linux中,,每一個(gè)硬件設(shè)備都映射到一個(gè)系統(tǒng)的文件,,對(duì)于硬盤、光驅(qū)等 IDE或 SCSI 設(shè)備也不例外,。Linux把各種 IDE 設(shè)備分配了一個(gè)由 hd前綴組成的文件,;而對(duì)于各種 SCSI 設(shè)備,則分配了一個(gè)由 sd 前綴組成的文件,。 對(duì)于ide硬盤,,驅(qū)動(dòng)器標(biāo)識(shí)符為“hdx~”,其中“hd”表明分區(qū)所在設(shè)備的類型,這里是指ide硬盤了,。“x”為盤號(hào)(a為基本盤,,b為基本從屬盤,c為輔助主盤,,d為輔助從屬盤),“~”代表分區(qū),,前四個(gè)分區(qū)用數(shù)字1到4表示,它們是主分區(qū)或擴(kuò)展分區(qū),,從5開始就是邏輯分區(qū),。例,hda3表示為第一個(gè)ide硬盤上的第三個(gè)主分區(qū)或擴(kuò)展分區(qū),hdb2表示為第二個(gè)ide硬盤上的第二個(gè)主分區(qū)或擴(kuò)展分區(qū)。對(duì)于scsi硬盤則標(biāo)識(shí)為“sdx~”,,scsi硬盤是用“sd”來表示分區(qū)所在設(shè)備的類型的,,其余則和ide硬盤的表示方法一樣,不在多說,。 例如,,第一個(gè) IDE設(shè)備,Linux 就定義為 hda,;第二個(gè) IDE設(shè)備就定義為 hdb,;下面以此類推。而 SCSI設(shè)備就應(yīng)該是 sda,、sdb,、sdc等。 2. 分區(qū)數(shù)量 要進(jìn)行分區(qū)就必須針對(duì)每一個(gè)硬件設(shè)備進(jìn)行操作,,這就有可能是一塊IDE硬盤或是一塊SCSI硬盤,。對(duì)于每一個(gè)硬盤(IDE或 SCSI)設(shè)備,Linux分配了一個(gè) 1 到 16的序列號(hào)碼,,這就代表了這塊硬盤上面的分區(qū)號(hào)碼,。 3. 各分區(qū)的作用 在 Linux中規(guī)定,每一個(gè)硬盤設(shè)備最多能有 4個(gè)主分區(qū)(其中包含擴(kuò)展分區(qū))構(gòu)成,,任何一個(gè)擴(kuò)展分區(qū)都要占用一個(gè)主分區(qū)號(hào)碼,,也就是在一個(gè)硬盤中,主分區(qū)和擴(kuò)展分區(qū)一共最多是 4個(gè),。 主分區(qū)的作用就是計(jì)算機(jī)用來進(jìn)行啟動(dòng)操作系統(tǒng)的,因此每一個(gè)操作系統(tǒng)的啟動(dòng),,或者稱作是引導(dǎo)程序,,都應(yīng)該存放在主分區(qū)上。 這就是主分區(qū)和擴(kuò)展分區(qū)及邏輯分區(qū)的最大區(qū)別,?! ?/span> 我們?cè)谥付ò惭b引導(dǎo) Linux的 bootloader 的時(shí)候,,都要指定在主分區(qū)上,就是最好的例證,。 對(duì)于每一個(gè) Linux分區(qū)來講,,分區(qū)的大小和分區(qū)的類型是最主要的指標(biāo)。容量的大小讀者很容易理解,,但是分區(qū)的類型就不是那么容易接受了,。分區(qū)的類型規(guī)定了這個(gè)分區(qū)上面的文件系統(tǒng)的格式。 /boot分區(qū),,它包含了操作系統(tǒng)的內(nèi)核和在啟動(dòng)系統(tǒng)過程中所要用到的文件,,建這個(gè)分區(qū)是有必要的,因?yàn)槟壳按蠖鄶?shù)的pc機(jī)要受到bios的限制,況且如果有了一個(gè)單獨(dú)的/boot啟動(dòng)分區(qū),,即使主要的根分區(qū)出現(xiàn)了問題,,計(jì)算機(jī)依然能夠啟動(dòng),。這個(gè)分區(qū)的大小約在50mb—100mb之間。但是如果想用lilo啟動(dòng)red hat linux系統(tǒng)的話,,含有/boot的分區(qū)必須完全在柱面1023以下,。又由于8gb后的數(shù)據(jù)lilo不能讀取,所以red hat linux要安裝在8gb的區(qū)域以內(nèi),。 /usr分區(qū),,是red hat linux系統(tǒng)存放軟件的地方,如有可能應(yīng)將最大空間分給它,。 /home分區(qū),,是用戶的home目錄所在地,這個(gè)分區(qū)的大小取決于有多少用戶,。如果是多用戶共同使用一臺(tái)電腦的話,,這個(gè)分區(qū)是完全有必要的,況且根用戶也可以很好地控制普通用戶使用計(jì)算機(jī),,如對(duì)用戶或者用戶組實(shí)行硬盤限量使用,,限制普通用戶訪問哪些文件等。其實(shí)單用戶也有建立這個(gè)分區(qū)的必要,,因?yàn)闆]這個(gè)分區(qū)的話,,那么你只能以根用戶的身份登陸系統(tǒng),這樣做是危險(xiǎn)的,,因?yàn)楦脩魧?duì)系統(tǒng)有絕對(duì)的使用權(quán),,可一旦你對(duì)系統(tǒng)進(jìn)行了誤操作,麻煩也就來了,。 /var/log分區(qū),,是系統(tǒng)日志記錄分區(qū),如果設(shè)立了這一單獨(dú)的分區(qū),,這樣即使系統(tǒng)的日志文件出現(xiàn)了問題,,它們也不會(huì)影響到操作系統(tǒng)的主分區(qū)。 /tmp分區(qū),,用來存放臨時(shí)文件,。這對(duì)于多用戶系統(tǒng)或者網(wǎng)絡(luò)服務(wù)器來說是有必要的。這樣即使程序運(yùn)行時(shí)生成大量的臨時(shí)文件,,或者用戶對(duì)系統(tǒng)進(jìn)行了錯(cuò)誤的操作,,文件系統(tǒng)的其它部分仍然是安全的。因?yàn)槲募到y(tǒng)的這一部分仍然還承受著讀寫操作,,所以它通常會(huì)比其它的部分更快地發(fā)生問題,。 /bin分區(qū),存放標(biāo)準(zhǔn)系統(tǒng)實(shí)用程序,。 /dev分區(qū),,存放設(shè)備文件,。 /opt分區(qū),存放可選的安裝的軟件,。 /sbin分區(qū),,存放標(biāo)準(zhǔn)系統(tǒng)管理文件,。 上面介紹了幾個(gè)常用的分區(qū),一般來說我們需要一個(gè)swap分區(qū),,一個(gè)/boot分區(qū),一個(gè)/usr分區(qū),,一個(gè)/home分區(qū),,一個(gè)/var/log分區(qū),。當(dāng)然這沒有什么規(guī)定,完全是依照你個(gè)人來定的,。但記住至少要有兩個(gè)分區(qū),,一個(gè)swap分區(qū),,一個(gè)/分區(qū),。
下面通過介紹 Fdisk的使用方法,來鞏固上面所學(xué)到的各種關(guān)于 Linux分區(qū)的知識(shí),。 2.用 Fdisk進(jìn)行分區(qū) 在 Linux分區(qū)過程,,一般是先通過 p 參數(shù)來顯示出硬盤分區(qū)表信息,,然后根據(jù)信息確定將來的分區(qū),。如果想完全改變硬盤的分區(qū)格式,,就可以通過 d參數(shù)一個(gè)個(gè)刪除存在的硬盤分區(qū),。 例如 d1,d2,。刪除完畢,,就可以通過 n 參數(shù)來增加新的分區(qū)。當(dāng)按下 “n”后,,我們就可以看到新增的分區(qū),。這里要選擇新建的分區(qū)類型,,是主分區(qū)還是擴(kuò)展分區(qū);然后選擇 p或是 e。它們的區(qū)別在上文中已經(jīng)說明,。然后就是設(shè)置分區(qū)的大小,。需要提醒注意的是,如果硬盤上有擴(kuò)展分區(qū),,就只能增加邏輯分區(qū),,不能增加擴(kuò)展分區(qū)了,在增加分區(qū)的時(shí)候,,其類型都是默認(rèn)的 Linux Native,,如果需要把其中的某些分區(qū)改變?yōu)槠渌愋停?/span> Linux Swap 或 FAT32等,,可以通過命令 t 來改變,,當(dāng)按下 “t” 改變分區(qū)類型的時(shí)候,系統(tǒng)會(huì)提示要改變哪個(gè)分區(qū),,并且改變?yōu)槭裁搭愋停ㄈ绻胫老到y(tǒng)所支持的分區(qū)類型,,鍵入 l)。Linux所支持的分區(qū)類型號(hào)碼和其對(duì)應(yīng)的分區(qū)類型,,可以參考表 2(這些信息可以用 l命令得到),。改變完了分區(qū)類型,就可以按下 “w”,,保存并且退出,。如果不想保存,那么可以選擇 “q”直接退出,。 fdisk 是一款強(qiáng)大的磁盤操作工具,,來自util-linux軟件包,我們?cè)谶@里只說他如何查看磁盤分區(qū)表及分區(qū)結(jié)構(gòu),;參數(shù) -l,,通過-l 參數(shù),能獲得機(jī)器中所有磁盤的個(gè)數(shù),,也能列出所有磁盤分區(qū)情況,; [root@localhost beinan]# fdisk -l 在上面Blocks中,表示的是分區(qū)的大小,,Blocks的單位是byte,,我們可以換算成M,比如第一個(gè)分區(qū)/dev/hda1的大小如果換算成M,,應(yīng)該是6144831/1024=6000M,,也就是6G左右,其實(shí)沒有這么麻煩,,粗略的看一下把小數(shù)點(diǎn)向前移動(dòng)三位,就知道大約的體積有多大了; 在此例中,,我們要特別注意的是/dev/hda3分區(qū),,這是擴(kuò)展分區(qū);他下面包含著邏輯分區(qū),,其實(shí)這個(gè)分區(qū)相當(dāng)于一個(gè)容器,;從屬于她的有 hda5,hda6,hda7,hda8,hda9; 我們還注意到一點(diǎn),,怎么沒有hda4呢,?為什么hda4沒有包含在擴(kuò)展分區(qū)?一個(gè)磁盤最多有四個(gè)主分區(qū),; hda1-4算都是主分區(qū),;hda4不可能包含在擴(kuò)展分區(qū)里,另外擴(kuò)展分區(qū)也算主分區(qū),;在本例中,,沒有hda4這個(gè)分區(qū),當(dāng)然我們可以把其中的一個(gè)分區(qū)設(shè)置為主分區(qū),,只是我當(dāng)時(shí)分區(qū)的時(shí)候沒有這么做而已,; 再仔細(xì)統(tǒng)計(jì)一下,我們看一看這個(gè)磁盤是不是還有空間,?hda1+hda2+hda3=實(shí)際已經(jīng)分區(qū)的體積,,所以我們可以這樣算 hda1+hda2+hda3=6144831+16386300+39728745 = 62259876 (b),換算成M單位,,小數(shù)點(diǎn)向前移三位,,所以目前已經(jīng)劃分好的分區(qū)大約占用體積是62259.876(M),其實(shí)最精確的計(jì)算 62259876/1024=60800.67(M),;而這個(gè)磁盤大小是80.0 GB(80026361856byte),,其實(shí)實(shí)際大小也就是78150.744(M);通過我們一系列的計(jì)算,,我們可以得出這個(gè)硬盤目前還有使用的空間,;大約還有18G未分區(qū)的空間,; 我們也可以指定fdisk -l來查看其中一個(gè)硬盤的分區(qū)情況; [root@localhost beinan]# fdisk -l /dev/sda
我們還可以來查看 /dev/hda的 [root@localhost beinan]# fdisk -l /dev/hda 自己試試看,? 我們也可以通過: cat /proc/partitions查看目前機(jī)器中的所有磁盤及分區(qū)情況
df 命令,; 舉例: [root@localhost beinan]# df -lh Filesystem 容量 已用 可用已用% 掛載點(diǎn) /dev/hda8 11G 6.0G 4.4G 58% / /dev/shm 236M 0 236M 0% /dev/shm /dev/sda1 56G 22G 35G 39% /mnt/sda1 我們從中可以看到,系統(tǒng)安裝在/dev/hda8,;還有一個(gè)56G的磁盤分區(qū)/dev/sda1掛載在 /mnt/sda1中,; 其它的參數(shù)請(qǐng)參考 man df
通過以上兩個(gè)方面的學(xué)習(xí),相信對(duì)于初學(xué)者來說,,分區(qū)已經(jīng)不再是 Linux進(jìn)階中的絆腳石了,。 |
|