歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> 給linux新人的分區解決方案的詳細討論

給linux新人的分區解決方案的詳細討論

日期:2017/2/27 11:58:35   编辑:Linux文化

常看到linux論壇上有人問linux該怎麼分,得到的回答通常是:分兩個區,一個/一個swap.短短一句話就沒有了下文.讓人看後還是不解.我想針對不同階段不同水平的linux使用者給出我自己認為比較合理的分區方案以供大家參考.

一,linux新人.

對於這類linux sir 他們往往是對linux比較好奇,剛剛聽說這個系統,對這個系統沒有任何感性的了解.在這種情況下,他們安裝linux的目的通常是滿足一下好奇心或者是求異的心理,(和當初的我一樣).對於linux能給他們帶來什麼,到底有什麼用,他們沒有明確的目標,也許今天剛剛裝上去,明天就覺得linux是一灘難用的垃圾,於是就跑到他們心愛的Windows系統下去了.

他們即要嘗嘗鮮又不肯馬上輕易捨棄心愛的Windows.所以,對於這樣剛剛接觸linux系統的新人,沒有必要花很多心思去考慮如何把硬盤分區分得合理和高效.對於這些用戶,只需要滿足一下兩點:

1,windows 無論如何要保留著,而且在分區的時候不能破壞原來的系統.

2,確保linux 能裝上並且可以運行.

所以不能破壞原來的分區來重新給整塊硬盤分區,所以常用的方案是采用現有的Windows分區來裝linux系統. 通常使用windows中的最後一個盤,即最後一個分區來安裝linux系統.

假設原來Windows系統中有6個分區: C,D,E,F,G,H通常的建議是把最後一個分區作為安裝linux的根分區.linux完全安裝需要5G左右的空間(指目前比較流行的Redhat8 Redhat9等).千萬不要驚訝linux為何會耗費掉這麼多空間,其實linux系統本身並不大,而且可以十分靈活的定制,小到幾M,大到幾G的空間上都可以裝上不同用途,不同性能的linux系統.之所以完全安裝要費5G的空間,是應為這5G中除了基本的系統外還包括了各種的數據庫,OFFICE套件,各種應用程序,各種服務器程序,各種的桌面管理器等,花幾十塊錢買一套linux系統,你就不必要再花錢買任何常規軟件了. 是不是要把這5G的東西全部裝上呢?

對於初學者,如果硬盤空間不緊張的話我建議全部都裝上,以免今後在安裝其他軟件的時候遇到各種煩人的動態庫倚賴問題和找不到在教材上看到的命令的問題,而初學者又不知道如何裝上那些他們在系統安裝的時候沒有裝上的軟件,這樣就會浪費很多時間走很多彎路.就我而言,我第一次裝linux的時候是裝的Redhat7.1,由於空間不多,(更多原因是抱著Microsoft Windows不放),所以只分了1G的空間給linux,結果又什麼都不懂,在安裝的時候才發現默認安裝空間不夠,結果在不知道KDE是什麼,GNOME是什麼,X是什麼的情況下把KDE和GNOME都勾掉了,只甚下一個X,當我興致勃勃的按書上寫的輸入startx 命令後,屏幕上只出現了一個黑色的X一個灰色的背景,和一個閃著提示符的xterm,不知道該如何才好,胡亂在xterm中敲了一個DOS明令dir,結果被我瞎帽遇到死耗子,還真輸出了些信息.最後不得不重新分了一個比較大的區再把KDE和GNOME裝上.

因此,這裡我建議初學者第一次裝的時候把所有東西都裝上,以免遇到各種問題,linux不像Windows,它十分的靈活,但是正因為這一點,它也十分麻煩,如果對它沒有一定的了解是很難駕馭它的,所以為了避免麻煩,建議你把所有的東西都裝上,在安裝的時候選擇全部.假如硬盤空間比較緊張,至少也要把安裝程序默認的那些東西裝上,估計會花費不到2G的空間.也可以不選擇"定制",直接選工作站安裝方式.等到將來對系統有了一定的了解,知道了自己的需求,明白了哪些東西是自己想要的,哪些對自己來說是多余的的時候就可以根據自己的需求重新劃分分區,選擇軟件安裝了. 具體的分區方案如下:

在Windows下把最後一個盤用分區工具刪除,如果最後一個盤空間太小的話就把最後兩個都刪除.刪除後硬盤上就有了多於的空間,就可以開始安裝系統了,一般來說安裝linux需要兩個分區,一個是裝系統文件的跟分區(/),一個是作為虛擬內存的交換分區(swap),這是和Windows不同的,需要注意.所以,我們可以現在Windows下借助Windows下的分區工具,在剛剛騰出來的空間上建立兩個分區,前面一個根分區,後面一個交換分區,交換分區不用很大,按照官方的說法,虛擬內存應該是實際內存的兩倍大小,或者是在32M和實際內存兩倍這兩個值中選較大值,這是針對內存十分少的老機器的.但是在實際應用中分實際內存的兩倍大小顯然有點浪費,就如我有256M內存,160M 的交換分區,實際使用中swap只用掉3~5M,即使在使用VMware等及費內存的軟件時,swap的耗費量也只有60M,所以分100~200M的swap已經足夠了,不閉按照官方文檔說的分2倍的實際內存大小,如果你有512M內存難道你真的要分1G的交換分區嗎?

注意,如果交換分區的大小小於內存兩倍,安裝程序會有警告,只要忽略警告繼續安裝就可以了,個別版本的linux在交換分區小於實際內存兩倍的情況下,安裝程序將不能通過,比如TURBO linux 6.0 這種情況下可以暫時分一個大點的分區,等裝好後再把分區刪除,劃個小分區掛上.如果發現裝好後交換分區不夠用了也別急,你可以手工再建立交換文件,這將在後面說明.

分區分好後別急著格式化,linux有自己的文件系統,大部分版本的linux都不能裝在Windows的FAT或者NTFS分區上.所以你要做的只是重新啟動系統,啟動電腦,放入安裝光盤,安裝程序會幫你格式化你分出的兩個分區.其中的安裝細節不在本文討論范圍之內,隨便買一本入門教材上面都說的很清楚.

二,linux中鳥

對於這些linux Sir ,他們已經學會了linux的基本**作,學會了如何安裝軟件,常用linux命令等,也知道了linux系統的基本結構和linux跟文件系統下各個目錄的意義並且知道了光盤上那麼多東西哪些是自己需要的,哪些是自己可能一輩子都不會用到的.於是就想著開始自己定制系統劃分出比較合理的分區大小和數目.下面我想以我目前的硬盤劃分情況為列,給這些linux進階用戶給一個我自認為比較合理的分區方案.

下面是我的硬盤分區情況(我有兩個硬盤,但是系統主要裝在第一個,第二個只用來拷貝數據,裝裝實驗性系統等)

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

我把第一個硬盤分了三個主分區,以便在安裝多套系統的時候互不影響.至於為什麼要分三個主分區,我在一文中已經說過.其好處是很多的.詳見:

http://go.6to23.com/gucuiwen/linux

我的硬盤雖然只有2OG,但是我卻分了9個分區,這也是為了管理方便經過多次劃分後做出的選擇. 首先我把linux的跟(/)裝在第一個主分區hda1.這個分區大小為3G,這上面包括:

/boot

/bin

/dev

/etc

/lib

/sbin

/usr

還有空目錄和掛裝點:

/opt

/mnt

/initrd

/var

/home

/proc

/misc

由於/boot /bin /dev /etc /lib /sbin 下的東西都比較小,沒有必要單獨劃分分區掛裝他們,事實上把這些目錄單獨劃分區掛裝反而不利,應為這些目錄中放著系統啟動時的關鍵信息和文件,系統啟動之初卻只掛裝上/分區,因此,萬一其中的某一個分掛裝失敗系統將不能正常啟動.比如/etc目錄中存放著系統軟的硬件配置信息,包括分區的掛裝點分區類型等配置信息,系統啟動的時候需要讀取這些信息,如果把/etc單獨放在一個小的分區上,系統啟動的時候到哪裡去讀分區的掛裝點信息呢?類似的/sbin /dev等必需放在根分區上. 只有/boot中存放的是系統內核和引導工具,某些情況下為了解決一些老主板不支持大硬盤的情況下,才單獨在硬盤1024柱面以內分一個小分區裝/boot的內容.不過目前的主板大多不存在這個問題.另外/usr下的內容一般不經常改變,因此,我也把它放在/目錄上.可以看出,我是把所有文件大小不經常變化的,不會引起文件系統碎的所有東西裝在/分區上面.

另外,我分了2G的空間存放我自己平時下載的圖片和資料以及軟件等.掛裝在了/home目錄,重裝系統的時候不動這個分區,就算格式化也只格掉 / 分區, /var 和swap分區,其他分區上的內容都可以保留,在裝系統的時候再掛裝到系統裡.

我的第二個主分區hda2暫時放著些臨時文件,平時主要是用來裝一些實驗性的系統的,比如出了一個新的linux版本,我就把它裝在這個分區裡體驗,而swap /home可以和原來那套系統公用.

我的第三個主分區大小3G,我裝了WIN2K系統,由於現在Windows系統使用的比較少了,(主要是給沒有電腦的同學用)所以只分派了兩個區,一個安裝系統和常規的軟件,就是第三個主分區 hda3,文件系統格式為NTFS.另外一個是一個邏輯分區hda6大小為4G,文件系統為FAT32,主要用來零時性的裝裝電影啊音樂啊,虛擬光盤印象GHOST印象文件等.這兩個區在Windows下分別顯示為C盤和D盤.

下面說說其他的幾個邏輯分區:

分區設備名 掛裝點 文件系統 大小 作用

/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 編譯大型軟件用的零時分區.

/dev/hda9 /var ext3 400M 系統中經常變化大小的日志文件.

/dev/hda10 swap swap 160M 交換分區

對於已經進階的linux用戶,你可能不原意把硬盤分的那麼細,甚至不分/home, /usr, /usr/local 但是/var是無論如何都應該分一下的.因為系統的所有日志文件,PID文件,RPM數據庫文件等等,這些大小經常發聲變化的文件都放在這個目錄下,所以這個目錄是最容易產生碎片的.如果不單獨分一個分區而混在/一起的話,很容易弄亂/文件系統,使系統性能下將,特別是一個多用戶環境和一個對外服務的網站主機系統,更應該如此,對於個人用戶這個分區有300~500M就可以了.

還有/tmp也是一個文件大小經常變化的目錄,但是對於個人用戶來說,裡面內容很少,單獨分一個區也沒必要,但和/分區混在一起又總覺得有一種"一滴鼻涕毀一鍋粥"的感覺.我的解決方案是把原來的 /tmp目錄刪除,而作一個到 /var/tmp目錄的鏈接,就像系統本身就有的 /usr/tmp目錄一樣. 還有 /root 目錄大小也經常發生變化,我也把他刪除,作了一個到 /var/root的鏈接,這樣,系統中所有大小經常變化,易引起文件系統碎片的東西就全歸到 /var 分區上,這就叫"爛也只爛一個蘋果",以後可以只整理 /var 分區.

如何整理呢?通常我用一種最簡單的辦法:

用單用戶模式啟動系統 LILO: linux single 如果是用GRUB引導,在啟動時按字母 a,然後追加內核參數 linux single (這種模式不掛裝除/以外的其他文件系統,因此可以安全的對其他分區**作.) 然後刪掉一些你認為沒用的日志文件,再把/var 全考到其他地方去,接下來刪除原來/var 下的所由內容,最後把剛才復制的 /var 分區下的內容拷貝回去,經過這麼搬動一次後,文件系統上的碎片就可以消除.ext3本來是一個碎量很少的優秀文件系統,據說比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系統,並且大部份時間都在用Windows系統,所以可以把我格式化成ext3格式的 hda5 hda7等分區格式化成fat32文件系統,這樣在Windows和linux下都可以很方便的使用這些分區,兩者兼顧.這裡的方案也只是一個范例,用戶可以根據自己硬盤的實際大小來劃分.

三,系統管理員和網站管理員

對於這些用戶,我想也不必要多說了,他們通常都是玩轉系統的老手,把linux系統把玩的隨心所欲,拿捏的恰到好處,他們總能根據實際需求定制出一個完美的方案.

對於一個服務器上的系統 /var /tmp /usr /home等目錄是肯定要單獨分區的,對於大型的站點,每天的系統日志都有好幾百M,單獨分一個幾G大的/var分區甚至單獨分派一個硬盤都是不為過的./tmp下的文件也不會像個人用戶的系統那樣只有幾M的文件,所以對於一個服務器系統,分一個/tmp分區或者單獨掛一個硬盤是每個系統管理員都會做的事情.除了這些目錄外通常還需要分一個/usr/local分區,因為服務器上通常需要安裝大量的軟件.

對於大型的FTP服務器,HTTP服務器和代理服務器等,通常還要單獨劃出分區分區或者分派硬盤來存放文件.這些內容對於初學者來說不會遇到,所以就不多說了.

附: linux 分區的常見問題

1,只有一個分區可以裝linux嗎?

完全可以,linux的虛擬內存並不一定要單獨分一個swap分區,也可以像Windows系統那樣,在系統所在的分區劃出空間來做虛擬內存.只是單獨分出一個分區來作swap的話性能比在系統分區上劃空間做swap要好.對於某些版本的linux,如果沒有swap分區,安裝程序會不允許安裝,對於這些版本,可以先劃一個大的區或暫時用一個沒有用的Windows分區做swap,騙過安裝程序,然後再裝.

2,如何在一個分區上劃出空間來做swap?

選一個有足夠空間的分區用如下命令:

#dd if=/dev/zero of=swapfile bs=1k count=50000

這樣就得到了一個大小為50M的連續文件(作swap的文件必需連續) 然後把這個50M的文件"格式化"成swap文件:

#mkswap swapfile

最後啟用這個swap文件

#swapon swapfile

用free命令查看一下,是不是 swap多了50M呢? 可以把這個命令寫進 /etc/rc.d/rc.local 中,讓系統啟動的時候自動開啟swap.

如果是把整個分區做swap可以這樣:

#mkswap /dev/hda? (?為具體的分區號)

#swapon /dev/hda?

3,linux最多支持多少個swap分區?

16個 (新版的可能支持更多)

4,如何備份linux系統?

專業的網站和多用戶系統通常用磁帶機等專用備份設備,對於個人用戶最簡單的辦法是直接拷貝一份到空的分區上,等原系統壞了就用備份系統,給內核添加root=?參數就可以啟動備份系統.比如你把系統備份在 /dev/hda6上,給內核參數 LILO:linux root=/dev/hda6 就可以啟動備份系統,也可以直接寫進lilo.conf,達到兩套linux系統共存一塊硬盤同時使用的目的.另外目前最新版本的GHOST已經可以支持EXT3文件系統的備份.

5,如何"格式化"一個分區?

其實,我們通常所說的"格式化",真正的含義是創建文件系統,"格式化"的最初的意思是我們平時說的"低級格式化".只有"低級格式化"才是真正的"格式化",而平時大家說的"格式化"或者"高級格式化"只是創見文件系統,由於微軟的系統裡一直不區分這兩個概念的含義,所以謊言重復一千遍就成了真理,把"創見文件系統"統一說成了"格式化".

在linux系統裡可以用 mkfs (make filesysge 創建文件系統) 來"格式化"一個分區.

#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格式,並監查硬盤壞塊

#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

Copyright © Linux教程網 All Rights Reserved