红联Linux门户
Linux帮助

Linux分区到底怎么分才是合理的(摘自Gentoo手册)

发布时间:2010-01-27 22:55:29来源:红联作者:Arshcaria
前几天摆弄Gentoo玩,仔细看了下Gentoo的handbook,
感觉无论您是使用Gentoo还是其他的Linux发行版,都应该好好看看这个手册,写的太棒了,中文翻译的也很到位。

自从高一接触Mandrake(现在的Mandriva)以来,把玩Linux/BSD之属已有5个年头,
不算多么厉害,也该是小有经验了。
平时基本不怎么注意分区的问题,帮同学装Linux都是简单的两倍内存的swap分区,其他的通通挂到 “/ ”,嘿嘿,挺坏......
就算给自己装也是多出来boot home这两个分区而已,而且具体的大小也不大在意。
平时维护学校的邮箱服务器,也都是手动备份/var目录中的数据。
而接下来这段文字,很好的解答了如何科学的分区这个问题。



以下摘自《Gentoo Linux x86手册》
http://www.gentoo.org/doc/zh_cn/handbook/handbook-x86.xml

分区的数目主要根据你的系统环境来决定。例如,如果你有很多用户,你可能更希望把你的/home目录独立出来,因为这样做可以增加安全性,备份起来也更容易。如果你安装Gentoo用来做邮件服务器,你的/var目录应该独立出来,因为邮件都存储在/var目录中。选择一个好的文件系统将最大限度地提高你的系统性能。游戏服务器应该把/opt目录独立出来,因为大多数游戏服务端软件都安装在那。理由也与/home目录类似:安全与备份。你一定要使/usr 目录保持足够大:因为它将不仅包含大部分应用程序,而且Portage树本身就需要大约500M空间,这还不包括存储在其中的各种源代码包。

正如你所看到的,这完全取决于你想要达到什么目的。独立的分区或卷有以下优点:

* 你可以为每一个分区或卷选择最佳性能的文件系统
* 如果一个有问题的工具不停地向一个分区或卷写文件,也不会把你整个系统的可用空间都用完
* 如果需要,可以减少文件系统检测的时间,因为多个检测可以并行的进行(尽管这个优势在多磁盘系统上比多分区系统上更为明显)
* 通过对一些分区的进行只读、nosuid(忽略setuid位)、noexec(忽略可执行位)等方式挂载,安全性会大大增强

然而,多分区系统有一大缺点:如果配置的不合理,可能导致系统中一个分区有很大的空闲空间,而另一个没有空闲空间了。SCSI和SATA还有15个分区的限制。

作为分区的例子,我们向你示范一个用于演示的有20GB磁盘的笔记本(包含网站服务器、邮件服务器、gnome……):

代码 2.1: 文件系统使用实例

$ df -h
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda5 ext3 509M 132M 351M 28% /
/dev/sda2 ext3 5.0G 3.0G 1.8G 63% /home
/dev/sda7 ext3 7.9G 6.2G 1.3G 83% /usr
/dev/sda8 ext3 1011M 483M 477M 51% /opt
/dev/sda9 ext3 2.0G 607M 1.3G 32% /var
/dev/sda1 ext2 51M 17M 31M 36% /boot
/dev/sda6 swap 516M 12M 504M 2%
(留作它用的未分配空间:2GB)

这里的/usr快满了(使用了83%),但是一旦所有的软件都安装好了,/usr目录就不会如此的增长了。尽管分配给/var目录的空间看似过多了,但是要记住,Portage默认使用这个分区来编译软件包。如果你想使你的/var目录保持一个合理的大小,如1GB,你需要更改/etc/make.conf 文件中的PORTAGE_TMPDIR来指定一个拥有足够的空闲空间的分区,用以编译诸如OpenOffice这样巨大的软件包。
文章评论

共有 51 条评论

  1. leskady 于 2012-03-02 16:29:04发表:

    谢谢楼主,支持分享,共同学习!

  2. cainiaogaofei 于 2010-12-20 10:27:24发表:

    我是新手,我要交流,我要赚现金!

  3. 249490082 于 2010-12-19 20:26:03发表:

    学习了

  4. logoxx 于 2010-12-19 20:22:18发表:

    一切依据这台的机子的用途和定位而定。。
    用于服务器的话肯定要谨慎一点。。
    一般的用户只需要根目录/和交换分区SWAP就行了

  5. q772131492 于 2010-12-19 17:04:54发表:

    学习了。。。。

  6. wzcw 于 2010-05-09 21:52:15发表:

    学习了,谢谢。

  7. shen.yhx 于 2010-05-09 00:56:15发表:

    一直是一个分区过来的,学习了。

  8. hgywww 于 2010-02-03 21:43:46发表:

    学习了

  9. dchwlinux 于 2010-02-03 20:00:49发表:

    39# 6shao
    不清楚,我在虚拟机里装KDE的opesnsese的时候都是开512内存就够了。我内存两G,你呢?要是内存不够1G,swap还是必须的。

  10. acmkiller 于 2010-02-03 09:23:54发表:

    刚刚入门~学习中

  11. winsly 于 2010-02-02 19:12:14发表:

    很想学

  12. weiba666@qq.com 于 2010-02-02 14:27:36发表:

    学习了~

  13. dgd1818 于 2010-02-02 06:54:55发表:

    不错,跟着学习

  14. 6shao 于 2010-02-01 15:57:56发表:

    38# dchwlinux
    会不会是内存低导致的?之前忘记是F10还是F11了,运行KDE桌面就挂,只偶尔进去过几次。1G内存还会有这样的问题吗?

  15. dchwlinux 于 2010-02-01 08:52:19发表:

    我的就没事,看过日志没?有什么错误?

  16. 6shao 于 2010-01-31 23:08:29发表:

    36# dchwlinux
    运行那个游戏后,进地图的时候Linux挂了啊,没反应了,硬盘灯也不亮了。

  17. dchwlinux 于 2010-01-31 16:58:44发表:

    32# 6shao
    是linux挂了还是windows挂了?

  18. kantiede 于 2010-01-31 14:40:57发表:

    学习

  19. 爱唯一 于 2010-01-31 11:26:56发表:

    建议新手分/分区/boot分区以及swap分区 /boot分区给它300M就OK了 这里里面主要是存放引导程序的,swap建议是二倍内存

  20. xuexishouce 于 2010-01-31 01:57:16发表:

    文件系统 1K-块 已用 可用 已用% 挂载点
    /dev/sda1 4883556 218228 4665328 5% /
    udev 445936 260 445676 1% /dev
    none 445936 348 445588 1% /dev/shm
    none 445936 188 445748 1% /var/run
    none 445936 0 445936 0% /var/lock
    none 445936 0 445936 0% /lib/init/rw
    /dev/sda5 9767184 2682708 7084476 28% /usr
    /dev/sda6 979868 50056 929812 6% /boot
    /dev/sda7 4883556 320020 4563536 7% /var
    /dev/sda9 55679512 13418232 42261280 25% /home
    这个是我的分区 请参考

  21. 6shao 于 2010-01-30 23:44:37发表:

    31# dchwlinux
    真的,挂了,在载入地图的过程中,不动了,硬盘灯也不亮了。

  22. dchwlinux 于 2010-01-30 20:31:53发表:

    29# 6shao


    机器就挂了?不是吧,我在linux下也就是连上去不到1分钟就掉线而已。我还是玩儿nexuiz去了,最起码不掉线。

  23. yueguang2003 于 2010-01-30 17:55:39发表:

    不错额啊,

  24. 6shao 于 2010-01-30 16:51:37发表:

    28# dchwlinux
    呵呵,这位老兄,我说过,老师没出什么作业,我只是想多学点东西,希望能在毕业设计中有所体现。我想做的专业一些,希望在工作中什么的有可能会用上嘛!想多学一点东西而已。
    那个游戏我在网站上Wiki里看到方法了,但是运行后只要进地图机器就挂了,呵呵。游戏是连不上,在XP上也没连上过,呵呵,看来高手也没解决哦。

  25. dchwlinux 于 2010-01-30 13:43:43发表:

    27# 6shao

    你做作业我没意见,要硬往分区上扯的话,那我问你是完全自己配服务器还是安装rpm包?要是完全自己编译的话那/tmp,/var这样的分就要分出来了,编译的时候要用。(作业还问怎么分区么?老师应该不会出这种题。)编译是很费时间的,一个10几兆的tar包解压后可能上百兆,编译过程少说也得半个小时。
    对了,你那个游戏我玩儿了一下,是连不上,ping值123的服务器也掉。只能自己加机器人玩儿。不过我玩儿了一会儿头晕,还老被简单的机器人虐。在nexuiz里只要能连上就不卡,看见ping小的人多的线要bookmark,而且在linux下nexuiz可能没声音,为了能重进也应该加书签。
    上游戏图:

  26. 6shao 于 2010-01-30 12:06:07发表:

    21# dchwlinux
    何为又是作业呢?毕业设计还没留呢,只是想先做做,能早点开始不是很好吗?专科的时候觉得做的不好,我希望做的完美一些,而且用LAMJ,不是很好吗?如果毕设可以摆脱Windows,我觉得是一种进步。

  27. 6shao 于 2010-01-30 12:04:13发表:

    20# 坐想脐橙
    一个学习用,一个平时用,Fedora毕竟不稳定嘛,服务器当然要选择CentOS啦!

  28. qiaotian 于 2010-01-30 12:00:40发表:

    才开始没注意这么多,现在看了才觉得也蛮复杂的

  29. lyj234 于 2010-01-30 11:16:30发表:

    学习下

  30. baizx 于 2010-01-30 11:13:21发表:

    [i=s] 本帖最后由 baizx 于 2010-1-30 11:16 编辑 [/i]

    个人使用
    /BOOT
    lvm ( / /home /SWAP /tmp)

    企业的就要细了 是甚至 是别的盘上的 或者 整台 整台 机器 mount

  31. baizx 于 2010-01-30 11:11:05发表:

    ....../tmp 要留出来

  32. dchwlinux 于 2010-01-30 09:10:00发表:

    19# 6shao


    作业,又是作业。这个问题好像跟分区没有关系了吧。LAMP的教程网上都有,一搜一大堆啊。JSP的教程也都可以搜到。不过说到英语,看游戏网页不用太多英语的,home、download、forum、wiki这些东西看不懂?看不懂搜翻译啊。游戏的启动方法应该和nexuiz相似。

  33. 坐想脐橙 于 2010-01-30 04:15:17发表:

    有没有必要装两个LINUX?

  34. 6shao 于 2010-01-29 23:12:15发表:

    17# dchwlinux
    讲的很好,如果作为个人用户,我可以都不分出来,但是我做毕业设计,想做LAMJ(即Linux+Apache+MySQL+JSP,原来是PHP,不过我想用JSP),所以想知道要做什么分区。

  35. 6shao 于 2010-01-29 21:57:36发表:

    17# dchwlinux
    嘿嘿,来回复你啦,不好意思哦,个人英文水平有限,没看过官网上的东西。而且那个游戏我提供过,但没什么人理我,证据如下:
    http://www.linuxdiyf.com/bbs/viewthread.php?tid=166381
    Windows下随便解压到哪里都能玩,但在Linux下确实不晓得如何去运行。

  36. dchwlinux 于 2010-01-29 20:41:25发表:

    楼上的,你玩儿游戏之前都不到官网上看说明么?你说的跨平台的压缩包是什么游戏能告诉我么?是nexuiz吗?这游戏源里也有,要是从源里安装不知道会安装在哪儿(庆幸中...万一是/usr.....)。当我在官网上发现除了一个zip包外没有其它的东西时我就纳闷了。一百度才知道解压后在多平台都能玩儿。游戏的地图在~/.nexuiz下。地图文件很小,pk3的zip压缩包。windows下还没找到,还不知道怎么改。这类游戏当然是放在windows下了,这样两边都能用了。各个目录的作用想知道哪个就搜哪个啊。比较大的也就/usr。/var主要是邮件和日志。理论上多分区可以避免对一个分区的读写次数,比如/var下的日志,虽然都是小文件,但是读写频繁,对外开放的邮件服务也是小而多的文件。/usr大多程序都用到,读得可能多些吧。听说/opt常被用来编译大型的程序,/tmp作为临时目录也可能用到。而对于个人用户而言,一般都是从源里下载编译好的包以包管理器来安装,不太需要单独分/opt、/tmp。而/home看你想要多大的私人空间了。

    给你看一张nexuiz的游戏图,是用.sh文件来启动的,有两个,不知道有什么区别。
    要是那个游戏不是nexuiz 的话一写要告诉我啊,让大家也有的玩儿。

  37. 6shao 于 2010-01-29 12:47:22发表:

    除了分区问题外还想知道各个分区或文件夹的作用,比如一个游戏,不分平台的压缩包,我应该把文件解压到哪里,怎样运行。谢谢!

  38. zealot1024 于 2010-01-29 10:13:49发表:

    学习了~

  39. daniell_tang 于 2010-01-28 19:50:19发表:

    学习!!

  40. wst021 于 2010-01-28 16:26:28发表:

    好教材,好好学习。