顧翠文 (win2linux@163.com)
原文在: http://218.80.193.92/partition.html 常看到linux論壇上有人問linux該怎么分,得到的回答通常是:分兩個區(qū),一個/一個swap.短短一句話就沒有了下文.讓人看后還是不解.我想針對不同階段不同水平的linux使用者給出我自己認為比較合理的分區(qū)方案以供大家參考. 一,linux新人. 對于這類linux sir 他們往往是對linux比較好奇,剛剛聽說這個系統(tǒng),對這個系統(tǒng)沒有任何感性的了解.在這種情況下,他們安裝linux的目的通常是滿足一下好奇心或者是求異的心理,(和當初的我一樣).對于linux能給他們帶來什么,到底有什么用,他們沒有明確的目標,也許今天剛剛裝上去,明天就覺得linux是一灘難用的垃圾,于是就跑到他們心愛的Windows系統(tǒng)下去了. 他們即要嘗嘗鮮又不肯馬上輕易舍棄心愛的Windows.所以,對于這樣剛剛接觸linux系統(tǒng)的新人,沒有必要花很多心思去考慮如何把硬盤分區(qū)分得合理和高效.對于這些用戶,只需要滿足一下兩點: 1,windows 無論如何要保留著,而且在分區(qū)的時候不能破壞原來的系統(tǒng). 2,確保linux 能裝上并且可以運行. 所以不能破壞原來的分區(qū)來重新給整塊硬盤分區(qū),所以常用的方案是采用現(xiàn)有的Windows分區(qū)來裝linux系統(tǒng). 通常使用windows中的最后一個盤,即最后一個分區(qū)來安裝linux系統(tǒng). 假設原來Windows系統(tǒng)中有6個分區(qū): C,D,E,F,G,H通常的建議是把最后一個分區(qū)作為安裝linux的根分區(qū).linux完全安裝需要5G左右的空間(指目前比較流行的Redhat8 Redhat9等).千萬不要驚訝linux為何會耗費掉這么多空間,其實linux系統(tǒng)本身并不大,而且可以十分靈活的定制,小到幾M,大到幾G的空間上都可以裝上不同用途,不同性能的linux系統(tǒng).之所以完全安裝要費5G的空間,是應為這5G中除了基本的系統(tǒng)外還包括了各種的數(shù)據(jù)庫,OFFICE套件,各種應用程序,各種服務器程序,各種的桌面管理器等,花幾十塊錢買一套linux系統(tǒng),你就不必要再花錢買任何常規(guī)軟件了. 是不是要把這5G的東西全部裝上呢? 對于初學者,如果硬盤空間不緊張的話我建議全部都裝上,以免今后在安裝其他軟件的時候遇到各種煩人的動態(tài)庫倚賴問題和找不到在教材上看到的命令的問題,而初學者又不知道如何裝上那些他們在系統(tǒng)安裝的時候沒有裝上的軟件,這樣就會浪費很多時間走很多彎路.就我而言,我第一次裝linux的時候是裝的Redhat7.1,由于空間不多,(更多原因是抱著Microsoft Windows不放),所以只分了1G的空間給linux,結果又什么都不懂,在安裝的時候才發(fā)現(xiàn)默認安裝空間不夠,結果在不知道KDE是什么,GNOME是什么,X是什么的情況下把KDE和GNOME都勾掉了,只甚下一個X,當我興致勃勃的按書上寫的輸入startx 命令后,屏幕上只出現(xiàn)了一個黑色的X一個灰色的背景,和一個閃著提示符的xterm,不知道該如何才好,胡亂在xterm中敲了一個DOS明令dir,結果被我瞎帽遇到死耗子,還真輸出了些信息.最后不得不重新分了一個比較大的區(qū)再把KDE和GNOME裝上. 因此,這里我建議初學者第一次裝的時候把所有東西都裝上,以免遇到各種問題,linux不像Windows,它十分的靈活,但是正因為這一點,它也十分麻煩,如果對它沒有一定的了解是很難駕馭它的,所以為了避免麻煩,建議你把所有的東西都裝上,在安裝的時候選擇全部.假如硬盤空間比較緊張,至少也要把安裝程序默認的那些東西裝上,估計會花費不到2G的空間.也可以不選擇"定制",直接選工作站安裝方式.等到將來對系統(tǒng)有了一定的了解,知道了自己的需求,明白了哪些東西是自己想要的,哪些對自己來說是多余的的時候就可以根據(jù)自己的需求重新劃分分區(qū),選擇軟件安裝了. 具體的分區(qū)方案如下: 在Windows下把最后一個盤用分區(qū)工具刪除,如果最后一個盤空間太小的話就把最后兩個都刪除.刪除后硬盤上就有了多于的空間,就可以開始安裝系統(tǒng)了,一般來說安裝linux需要兩個分區(qū),一個是裝系統(tǒng)文件的跟分區(qū)(/),一個是作為虛擬內存的交換分區(qū)(swap),這是和Windows不同的,需要注意.所以,我們可以現(xiàn)在Windows下借助Windows下的分區(qū)工具,在剛剛騰出來的空間上建立兩個分區(qū),前面一個根分區(qū),后面一個交換分區(qū),交換分區(qū)不用很大,按照官方的說法,虛擬內存應該是實際內存的兩倍大小,或者是在32M和實際內存兩倍這兩個值中選較大值,這是針對內存十分少的老機器的.但是在實際應用中分實際內存的兩倍大小顯然有點浪費,就如我有256M內存,160M 的交換分區(qū),實際使用中swap只用掉3~5M,即使在使用VMware等及費內存的軟件時,swap的耗費量也只有60M,所以分100~200M的swap已經足夠了,不閉按照官方文檔說的分2倍的實際內存大小,如果你有512M內存難道你真的要分1G的交換分區(qū)嗎? 注意,如果交換分區(qū)的大小小于內存兩倍,安裝程序會有警告,只要忽略警告繼續(xù)安裝就可以了,個別版本的linux在交換分區(qū)小于實際內存兩倍的情況下,安裝程序將不能通過,比如TURBO linux 6.0 這種情況下可以暫時分一個大點的分區(qū),等裝好后再把分區(qū)刪除,劃個小分區(qū)掛上.如果發(fā)現(xiàn)裝好后交換分區(qū)不夠用了也別急,你可以手工再建立交換文件,這將在后面說明. 分區(qū)分好后別急著格式化,linux有自己的文件系統(tǒng),大部分版本的linux都不能裝在Windows的FAT或者NTFS分區(qū)上.所以你要做的只是重新啟動系統(tǒng),啟動電腦,放入安裝光盤,安裝程序會幫你格式化你分出的兩個分區(qū).其中的安裝細節(jié)不在本文討論范圍之內,隨便買一本入門教材上面都說的很清楚. 二,linux中鳥 對于這些linux Sir ,他們已經學會了linux的基本操作,學會了如何安裝軟件,常用linux命令等,也知道了linux系統(tǒng)的基本結構和linux跟文件系統(tǒng)下各個目錄的意義并且知道了光盤上那么多東西哪些是自己需要的,哪些是自己可能一輩子都不會用到的.于是就想著開始自己定制系統(tǒng)劃分出比較合理的分區(qū)大小和數(shù)目.下面我想以我目前的硬盤劃分情況為列,給這些linux進階用戶給一個我自認為比較合理的分區(qū)方案. 下面是我的硬盤分區(qū)情況(我有兩個硬盤,但是系統(tǒng)主要裝在第一個,第二個只用來拷貝數(shù)據(jù),裝裝實驗性系統(tǒng)等) Disk /dev/hda: 255 heads, 63 sectors, 2491 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 392 3148708+ 83 Linux /dev/hda2 393 589 1582402+ 83 Linux /dev/hda3 590 981 3148740 7 HPFS/NTFS /dev/hda4 982 2491 12129075 f Win95 Ext'd (LBA) /dev/hda5 982 1504 4200966 83 Linux /dev/hda6 1505 2027 4200966 b Win95 FAT32 /dev/hda7 2028 2289 2104483+ 83 Linux /dev/hda8 2290 2420 1052226 83 Linux /dev/hda9 2421 2471 409626 83 Linux /dev/hda10 2472 2491 160618+ 82 Linux swap Disk /dev/hdb: 128 heads, 63 sectors, 1023 cylinders Units = cylinders of 8064 * 512 bytes Device Boot Start End Blocks Id System /dev/hdb1 * 1 520 2096608+ b Win95 FAT32 /dev/hdb2 521 910 1572480 83 Linux /dev/hdb3 911 986 306432 83 Linux /dev/hdb4 987 1023 149184 83 Linux [root@gucuiwen root]# 掛裝點和空間使用情況: [root@gucuiwen root]# df -h Filesystem Size Used Avail Use% Mounted on /dev/hda1 3.0G 2.0G 839M 71% / /dev/hda2 1.5G 990M 531M 66% /mnt/hda2 /dev/hda5 3.9G 2.8G 986M 75% /mnt/hda5 /dev/hda6 4.0G 1.6G 2.4G 40% /mnt/hda6 /dev/hda7 2.0G 1.2G 745M 62% /home /dev/hda8 1011M 176M 784M 19% /mnt/hda8 /dev/hdb1 2.0G 1.8G 207M 90% /mnt/hdb1 /dev/hdb2 1.5G 185M 1.1G 14% /mnt/hdb2 none 125M 0 124M 0% /dev/shm /dev/hda9 387M 180M 188M 49% /var 我把第一個硬盤分了三個主分區(qū),以便在安裝多套系統(tǒng)的時候互不影響.至于為什么要分三個主分區(qū),我在<充份利用多個主分區(qū)安裝多套系統(tǒng)>一文中已經說過.其好處是很多的.詳見: http://go./gucuiwen/linux 我的硬盤雖然只有2OG,但是我卻分了9個分區(qū),這也是為了管理方便經過多次劃分后做出的選擇. 首先我把linux的跟(/)裝在第一個主分區(qū)hda1.這個分區(qū)大小為3G,這上面包括: /boot /bin /dev /etc /lib /sbin /usr 還有空目錄和掛裝點: /opt /mnt /initrd /var /home /proc /misc 由于/boot /bin /dev /etc /lib /sbin 下的東西都比較小,沒有必要單獨劃分分區(qū)掛裝他們,事實上把這些目錄單獨劃分區(qū)掛裝反而不利,應為這些目錄中放著系統(tǒng)啟動時的關鍵信息和文件,系統(tǒng)啟動之初卻只掛裝上/分區(qū),因此,萬一其中的某一個分掛裝失敗系統(tǒng)將不能正常啟動.比如/etc目錄中存放著系統(tǒng)軟的硬件配置信息,包括分區(qū)的掛裝點分區(qū)類型等配置信息,系統(tǒng)啟動的時候需要讀取這些信息,如果把/etc單獨放在一個小的分區(qū)上,系統(tǒng)啟動的時候到哪里去讀分區(qū)的掛裝點信息呢?類似的/sbin /dev等必需放在根分區(qū)上. 只有/boot中存放的是系統(tǒng)內核和引導工具,某些情況下為了解決一些老主板不支持大硬盤的情況下,才單獨在硬盤1024柱面以內分一個小分區(qū)裝/boot的內容.不過目前的主板大多不存在這個問題.另外/usr下的內容一般不經常改變,因此,我也把它放在/目錄上.可以看出,我是把所有文件大小不經常變化的,不會引起文件系統(tǒng)碎的所有東西裝在/分區(qū)上面. 另外,我分了2G的空間存放我自己平時下載的圖片和資料以及軟件等.掛裝在了/home目錄,重裝系統(tǒng)的時候不動這個分區(qū),就算格式化也只格掉 / 分區(qū), /var 和swap分區(qū),其他分區(qū)上的內容都可以保留,在裝系統(tǒng)的時候再掛裝到系統(tǒng)里. 我的第二個主分區(qū)hda2暫時放著些臨時文件,平時主要是用來裝一些實驗性的系統(tǒng)的,比如出了一個新的linux版本,我就把它裝在這個分區(qū)里體驗,而swap /home可以和原來那套系統(tǒng)公用. 我的第三個主分區(qū)大小3G,我裝了WIN2K系統(tǒng),由于現(xiàn)在Windows系統(tǒng)使用的比較少了,(主要是給沒有電腦的同學用)所以只分派了兩個區(qū),一個安裝系統(tǒng)和常規(guī)的軟件,就是第三個主分區(qū) hda3,文件系統(tǒng)格式為NTFS.另外一個是一個邏輯分區(qū)hda6大小為4G,文件系統(tǒng)為FAT32,主要用來零時性的裝裝電影啊音樂啊,虛擬光盤印象GHOST印象文件等.這兩個區(qū)在Windows下分別顯示為C盤和D盤. 下面說說其他的幾個邏輯分區(qū): 分區(qū)設備名 掛裝點 文件系統(tǒng) 大小 作用 /dev/hda5 /mnt/hda5 ext3 4G 存放音樂,電影等大而固定不變的文件 /dev/hda6 /mnt/hda6 FAT32 4G Windows下的D盤 /dev/hda7 /home ext3 2G 我的文檔,下載的軟件,書籍,圖片等 /dev/hda8 /mnt/hda8 ext3 1G 編譯大型軟件用的零時分區(qū). /dev/hda9 /var ext3 400M 系統(tǒng)中經常變化大小的日志文件. /dev/hda10 swap swap 160M 交換分區(qū) 對于已經進階的linux用戶,你可能不原意把硬盤分的那么細,甚至不分/home, /usr, /usr/local 但是/var是無論如何都應該分一下的.因為系統(tǒng)的所有日志文件,PID文件,RPM數(shù)據(jù)庫文件等等,這些大小經常發(fā)聲變化的文件都放在這個目錄下,所以這個目錄是最容易產生碎片的.如果不單獨分一個分區(qū)而混在/一起的話,很容易弄亂/文件系統(tǒng),使系統(tǒng)性能下將,特別是一個多用戶環(huán)境和一個對外服務的網站主機系統(tǒng),更應該如此,對于個人用戶這個分區(qū)有300~500M就可以了. 還有/tmp也是一個文件大小經常變化的目錄,但是對于個人用戶來說,里面內容很少,單獨分一個區(qū)也沒必要,但和/分區(qū)混在一起又總覺得有一種"一滴鼻涕毀一鍋粥"的感覺.我的解決方案是把原來的 /tmp目錄刪除,而作一個到 /var/tmp目錄的鏈接,就像系統(tǒng)本身就有的 /usr/tmp目錄一樣. 還有 /root 目錄大小也經常發(fā)生變化,我也把他刪除,作了一個到 /var/root的鏈接,這樣,系統(tǒng)中所有大小經常變化,易引起文件系統(tǒng)碎片的東西就全歸到 /var 分區(qū)上,這就叫"爛也只爛一個蘋果",以后可以只整理 /var 分區(qū). 如何整理呢?通常我用一種最簡單的辦法: 用單用戶模式啟動系統(tǒng) LILO: linux single 如果是用GRUB引導,在啟動時按字母 a,然后追加內核參數(shù) linux single (這種模式不掛裝除/以外的其他文件系統(tǒng),因此可以安全的對其他分區(qū)操作.) 然后刪掉一些你認為沒用的日志文件,再把/var 全考到其他地方去,接下來刪除原來/var 下的所由內容,最后把剛才復制的 /var 分區(qū)下的內容拷貝回去,經過這么搬動一次后,文件系統(tǒng)上的碎片就可以消除.ext3本來是一個碎量很少的優(yōu)秀文件系統(tǒng),據(jù)說比NTFS還要少的多,因此沒有必要經常這么做. 這里要提醒一點,把/tmp目錄刪除鏈接到 /var/tmp目錄后一定要把/var/tmp目錄的權限設置為 777否則普通用戶將無法啟動X. 如下圖: [root@gucuiwen /]# ll total 189 drwxr-xr-x 2 root root 4096 2月 3 02:21 bin drwxr-xr-x 3 root root 4096 2月 2 18:36 boot drwxr-xr-x 20 root root 118784 2月 11 20:10 dev drwxr-xr-x 59 root root 4096 2月 11 20:10 etc drwxr-xr-x 22 root root 4096 2月 10 16:53 home drwxr-xr-x 2 root root 4096 6月 22 2001 initrd drwxr-xr-x 7 root root 4096 2月 6 23:29 lib drwx------ 2 root root 16384 2月 3 01:54 lost+found drwxr-xr-x 2 root root 4096 8月 27 2002 misc drwxr-xr-x 12 root root 4096 2月 8 20:57 mnt drwxr-xr-x 2 root root 4096 8月 24 1999 opt dr-xr-xr-x 73 root root 0 2月 12 2004 proc lrwxrwxrwx 1 root root 10 2月 2 18:29 root -> /var/root/ drwxr-xr-x 2 root root 8192 2月 6 23:29 sbin lrwxrwxrwx 1 root root 9 2月 2 18:29 tmp -> /var/tmp/ drwxr-xr-x 17 root root 4096 2月 2 20:16 usr drwxr-xr-x 23 root root 1024 2月 7 21:57 var drwxr-xr-x 8 root root 4096 2月 6 23:25 www [root@gucuiwen /]# ll -d /var/tmp drwxrwxrwt 14 root root 1024 2月 12 01:04 /var/tmp [root@gucuiwen /]# 當然由于很多用戶還舍棄不下Windows系統(tǒng),并且大部份時間都在用Windows系統(tǒng),所以可以把我格式化成ext3格式的 hda5 hda7等分區(qū)格式化成fat32文件系統(tǒng),這樣在Windows和linux下都可以很方便的使用這些分區(qū),兩者兼顧.這里的方案也只是一個范例,用戶可以根據(jù)自己硬盤的實際大小來劃分. 三,系統(tǒng)管理員和網站管理員 對于這些用戶,我想也不必要多說了,他們通常都是玩轉系統(tǒng)的老手,把linux系統(tǒng)把玩的隨心所欲,拿捏的恰到好處,他們總能根據(jù)實際需求定制出一個完美的方案. 對于一個服務器上的系統(tǒng) /var /tmp /usr /home等目錄是肯定要單獨分區(qū)的,對于大型的站點,每天的系統(tǒng)日志都有好幾百M,單獨分一個幾G大的/var分區(qū)甚至單獨分派一個硬盤都是不為過的./tmp下的文件也不會像個人用戶的系統(tǒng)那樣只有幾M的文件,所以對于一個服務器系統(tǒng),分一個/tmp分區(qū)或者單獨掛一個硬盤是每個系統(tǒng)管理員都會做的事情.除了這些目錄外通常還需要分一個/usr/local分區(qū),因為服務器上通常需要安裝大量的軟件. 對于大型的FTP服務器,HTTP服務器和代理服務器等,通常還要單獨劃出分區(qū)分區(qū)或者分派硬盤來存放文件.這些內容對于初學者來說不會遇到,所以就不多說了. 附: linux 分區(qū)的常見問題 1,只有一個分區(qū)可以裝linux嗎? 完全可以,linux的虛擬內存并不一定要單獨分一個swap分區(qū),也可以像Windows系統(tǒng)那樣,在系統(tǒng)所在的分區(qū)劃出空間來做虛擬內存.只是單獨分出一個分區(qū)來作swap的話性能比在系統(tǒng)分區(qū)上劃空間做swap要好.對于某些版本的linux,如果沒有swap分區(qū),安裝程序會不允許安裝,對于這些版本,可以先劃一個大的區(qū)或暫時用一個沒有用的Windows分區(qū)做swap,騙過安裝程序,然后再裝. 2,如何在一個分區(qū)上劃出空間來做swap? 選一個有足夠空間的分區(qū)用如下命令: #dd if=/dev/zero of=swapfile bs=1k count=50000 這樣就得到了一個大小為50M的連續(xù)文件(作swap的文件必需連續(xù)) 然后把這個50M的文件"格式化"成swap文件: #mkswap swapfile 最后啟用這個swap文件 #swapon swapfile 用free命令查看一下,是不是 swap多了50M呢? 可以把這個命令寫進 /etc/rc.d/rc.local 中,讓系統(tǒng)啟動的時候自動開啟swap. 如果是把整個分區(qū)做swap可以這樣: #mkswap /dev/hda? (?為具體的分區(qū)號) #swapon /dev/hda? 3,linux最多支持多少個swap分區(qū)? 16個 (新版的可能支持更多) 4,如何備份linux系統(tǒng)? 專業(yè)的網站和多用戶系統(tǒng)通常用磁帶機等專用備份設備,對于個人用戶最簡單的辦法是直接拷貝一份到空的分區(qū)上,等原系統(tǒng)壞了就用備份系統(tǒng),給內核添加root=?參數(shù)就可以啟動備份系統(tǒng).比如你把系統(tǒng)備份在 /dev/hda6上,給內核參數(shù) LILO:linux root=/dev/hda6 就可以啟動備份系統(tǒng),也可以直接寫進lilo.conf,達到兩套linux系統(tǒng)共存一塊硬盤同時使用的目的.另外目前最新版本的GHOST已經可以支持EXT3文件系統(tǒng)的備份. 5,如何"格式化"一個分區(qū)? 其實,我們通常所說的"格式化",真正的含義是創(chuàng)建文件系統(tǒng),"格式化"的最初的意思是我們平時說的"低級格式化".只有"低級格式化"才是真正的"格式化",而平時大家說的"格式化"或者"高級格式化"只是創(chuàng)見文件系統(tǒng),由于微軟的系統(tǒng)里一直不區(qū)分這兩個概念的含義,所以謊言重復一千遍就成了真理,把"創(chuàng)見文件系統(tǒng)"統(tǒng)一說成了"格式化". 在linux系統(tǒng)里可以用 mkfs (make filesysge 創(chuàng)建文件系統(tǒng)) 來"格式化"一個分區(qū). #mkfs -t ext2 /dev/hda1 或 #mkfs.ext2 /dev/hda1 把 /dev/hda1"格式化"成ext2格式 #mkfs -t ext3 -c /dev/hda1 或 #mkfs.ext3 -c /dev/hda1 把 /dev/hda1"格式化"成ext3格式,并監(jiān)查硬盤壞塊 #mkfs -t vfat /dev/hda1 或 #mkfs.vfat /dev/hda1 把 /dev/hda1"格式化"成FAT32格式 #mkfs -t msdos /dev/hda1 或 #mkfs.msdos /dev/hda1 把 /dev/hda1"格式化"成FAT16或FAT12格式(具體由容量決定) #mkfs -t minix /dev/hda1 或 #mkfs.minix /dev/hda1 把 /dev/hda1"格式化"成minix格式 對于軟盤可以這樣: # fdformat /dev/fd0H1440 (注意,這里真正的格式化,即所謂的低級格式化) #mkfs.msdos /dev/df0 |
|