Linux分区技巧
ubuntu吧
全部回复
仅看楼主
level 12
peterliu1218 楼主
要如何分割硬盘,哪些Linux的目录要挂载到这些不同的分区?其实可以很简单,也可以很困难。在这之前,你必须清楚你的系统,未来主要的使用目的为何?有什么特殊需求?硬件设置为何?
假如你完全没有概念,也不在乎。那系统只需要一个"/",就可以了。Linux的根目录,是所有目录的基础,只要有他,系统就可以引导。顶多再加个swap分区,供系统在内存不足的状况下,可以使用硬盘来交换文件,现代的计算机swap尺寸大约2G,应该足够了。
先小结一下,最简单的分区方式,就是"/"与swap两个分区,就可以应付你绝大多数的应用了。以下不需要再看下去了....
2014年02月07日 09点02分 1
level 12
peterliu1218 楼主
或许你想多了解一点swap...
swap你可以理解作「位在硬盘上的内存」,系统通常会先使用实际的内存,当实际的内存不足时,就会开始使用swap来存放数据。假如你的内存有4G,或者更多,你几乎可以不分割swap。但记住一点,系统没有内存可以使用时,系统就会整个当掉,所有未存储的工作会全部丢失。所以为避免这样的情形发生,通常我们还是需要分割swap。而且因为硬盘的速度远远低于内存,当系统开始使用swap时,系统速度会突然变慢,这也可以警告我们,内存不足了,我们应该存储手上的工作,并关闭一些非必要的程序空出内存。
那swap多大才是合理的?同样是基于你的需求。
若你有休眠的需求,应该要有两倍内存的容量(Ubuntu的休眠功能当前有问题,再引导时常会丢失数据,系统异常,所以是预设关闭的);
若属于「当掉就当掉,重开就好」的用户,可以完全拿掉swap(据说,Google的服务器完全不设置swap,因为他们认为当掉换别台接手,比使用swap造成速度下降来得有效率);
若你认为速度减慢没关系,能继续完成工作就好,那你可以加大swap的容量,甚至在多颗硬盘都分割swap以提升swap的性能(别忘了,硬盘的速度不到内存的十分之一,即使多颗硬盘,性能还是比不上内存);
若你和我一样,足够支撑到存储手上的工作即可,那2G应该相当足够了。
若是分割时,没有分割出swap,但现在有需求了怎么办?没关系,请参考swapfile的设置。
https://tieba.baidu.com/p/2780996216
swap不一定需要独立的分区,也可以用文件的形式存在。
2014年02月07日 09点02分 2
level 12
peterliu1218 楼主
说了这么多,其实正文还没开始....开始前,请先稍微了解一下「Linux文件系统标准」:
https://tieba.baidu.com/p/2852106711
了解各目录的作用,才能正确合理的配置空间。
2014年02月07日 09点02分 3
level 12
peterliu1218 楼主
因为Linux的文件系统是一种树状的结构,一个软件会把包含的众多文件,放置在不同的目录当中,所以不同的使用目的,每个目录扩张的速度会不一样。例如,当计算机当作服务器使用时,由于变动的文件一般是位于/var当中,所以/var应规划足够的空间;当计算机当作日常桌用应用时,/home会增加使用量,所以/home要放大空间;若计算机中会安装大量的软件,那你可能需要增加/usr的空间。
当然,不把这些空间独立分割出去,一起使用/的空间,会有最好的空间使用效率,但这样容易造成系统不稳定,或其它的问题的情形发生。
2014年02月07日 09点02分 4
level 12
peterliu1218 楼主
前面提到Linux文件系统的根目录,是一定要挂载的。没有特定指定分区挂载的目录,都会与根目录放在同一个分区中。
先说,绝对不可以与根目录放在不同分区的目录:
/bin,/sbin, /lib, /etc, /dev 这五个目录。绝对不可与/所在的分区分开,因为这五个目录,有系统必要的工具与资料存放。当根目录在开机过程中被挂载进来时,需要这些工具与资料来维持正常的运作。若是把这五个目录放在其它分区当中,系统就不能正常引导。
以上的目录,绝对不要额外挂载到其它分区上。
再来,不需要与根目录放在不同分区的目录:
如/cdrom,/mnt, /media, /proc, /run, /sys,/srv等。这些目录可以放到其它的分区,但不需要,因为这些目录的存在,只是运作过程中,维持运作所需,大多不会占用空间。放到其它分区,也无益于系统的性能。如/mnt,/media, /cdrom 只是提供一个挂载点,让实体存储媒体可以挂载而已;或如/sys,/proc其实是内存上的数据,上面所有的数据完全不会占用硬盘的空间。所以这些目录不需要额外的分区存放。
在FHS的推荐当中提到,根目录所在的分区越小,越有助于系统的稳定,避免其它的干扰;发生错误时,也会比较容易进行维护修正;而且可以提高系统的性能。
2014年02月07日 09点02分 5
level 12
peterliu1218 楼主
接下来是最好与根目录分开,到其它分区的目录:
所谓「最好」,是对整个作业系统的稳定而言,并非「必要」。如同我一开始所言,只要"/"存在,Linux系统即可运作。现在硬件的速度快,安装一个ubuntu系统,大约只花上10~30分钟即可。所以你必须衡量「价值」。
/home:
以往Linux系统主要是提供服务器使用,所以/home这个目录使用量并不高。但随著Linux的桌面应用发展,不少人也拿来在日常上使用,这时/home就变成存储媒体中,最占容量的目录。假如你安装Ubuntu主要是桌面应用,那你可能需要把最大的空间留给他。
额外分割出/home有个最大的好处,当你重新安装系统时,你不需要特别去备份你的个人文件,只要在安装时,选择不要格式化这个分区,重新挂载为/home就不会丢失你的数据。
还有一个特别的应用:假如你会在你的计算机上,安装两个或更多的Linux系统,你可以共享/home这个分区。简单地说,你的个人文件可以在切换到其它Linux系统时,仍正常使用
/var:
假如你的计算机主要是提供网页服务,或者是mysql数据库,那/var会大量增加,你最好能够把/var额外分割出来。与/home的概念类似,重新安装时,不要格式化,仍可保留原来的数据。
在服务器的应用时,数据的安全是相当重要的,额外分区对数据的安全也有所帮助。此外,/var/log是系统log档保存的位置,养成有问题就去找log的好习惯,有助于解决问题。所以这也加强了额外分区的重要性。当一个服务器出现系统问题,甚至毁损时,除了你的数据外,之前的系统纪录也相当重要,找出为什么系统会出问题,可以帮助管理器快速排除障碍。
/usr:
除了系统的基本程序外,其它所有的应用程序多放在这个目录当中。除了/home,/var这种变动数据的存放目录外,/usr大概是会是使用容量最大的目录,不过一般Linux下的应用程序通常不大,所以大多数的桌面应用顶多3~4GB的空间就已经相当足够了,若是服务器,多半也是2~3GB就足够了。
不过,Ubuntu的发展出现了特例:游戏。Ubuntu与Steam的合作,促成了商业游戏公司开始进入到Linux,而游戏的数据相当可观,以DOTA2来说,他就推荐要8G的可用空间。所以你想要玩这些游戏的话,可能需要很多额外的空间来放置。
以上三者,你必须思考哪些空间必须额外分割出来。当然就系统稳定来说,最好都分割出来。
但就如我之前所言,安装不过也几十分钟的事,若你有备份习惯,是否真的需要额外分割,就需要你的考量了。
2014年02月07日 09点02分 6
楼主写的非常之好!在这部分我有个小疑问,游戏是特例,大型软件不是吗?比如MATLAB,SAS这样的数学软件
2015年07月04日 11点07分
回复
���¸�
: 大型软件当然也需要额外的空间规划,但这类软件你大多只会安装一次,相对於游戏你可能会试玩很多种的状况,对空间的需求还算还好...此外,数学软件要思考的不仅是硬盘空间,内存与swap、系统调整、资料库的规划与设置等,都需要更细致的调整,这就不是我这样一篇简单的文章可以解决的。
2015年07月05日 04点07分
回复 peterliu1218 :原来如此,谢谢楼主!
2015年07月05日 04点07分
@peterliu1218 桌面应用什么意思? 除了系统程序,其他安装的程序都安装在/usr上?
2015年10月12日 16点10分
level 12
peterliu1218 楼主
那到底需要各划分多少空间呢?
我先提供我在桌面应用各目录的使用情形,让各位参考:
/home 29.6 GB
/usr 4.2 GB
/var 736.5 MB
/lib 272.3 MB
/opt 87.6 MB
/boot 40.8 MB
/sbin 11.5 MB
/bin 10.1 MB
/etc 14.4 MB
其它 <1MB
从上面的数据来思考:
/boot每个核心需要40MB,更新后,至少有两个核心需要80MB,所以/boot最好划分出至少100MB。不过,每次核心更新完,就要注意删除旧核心也太辛苦了,所以划分个200~300MB吧!
拿掉应该额外分割的三个目录/home,/usr, /var 后,剩下的全和根目录放在同一分区,大约需要450MB,这部份通常属于比较静态,大小不会变动的部份,就算作500MB。
现在就要思考那三个目录谁要与根目录在一起,谁要额外分割开来,大约需要多少容量?
假如你跟我一样,只是一般的桌面应用,不玩游戏,可能有很多的个人文件,那我的方案是把/var,/usr与根目录在一起,0.5(/ )+4.2(/usr )+0.75(/var ) = 5.45,再多一点缓冲,大约7.5G,那就是
/boot250 MB, / 7.5 GB, /home 剩下的空间(别忘了swap,以下也是)
假如你需要的是网页服务器,跑Apache,php, mySQL,需要性能与安全,那/var,/usr 要额外分割,/home与根目录在一起,那0.5(/)+ 0.1(/home )= 0.6,多一点缓冲,大约1.5G,那就是:
/boot250 MB, / 1.5 GB, /usr 3 GB, /var 剩下的空间
假如你准备大玩游戏,但也需要一些个人文件存储空间,那或许增加/usr,与/home的空间是个不错的决定,那让/var与根目录在一起,0.5(/)+ 0.75 (/var) =1.25,多一点缓冲大约2.5GB,那就是:
/boot250 MB, / 2.5 GB, /usr 20 GB, /home 20 GB
假如你准备架设一个ftpserver,大约5人使用,每人有5GB的空间,各存储在自己的家目录,那就是:
/boot250 MB, / 6 GB, /home 25G
2014年02月07日 09点02分 7
请问分析里面的两个核心是什么意思
2014年03月01日 09点03分
回复 ty浮生若梦 :假如更新核心,里面就会有至少旧核心与新核心两个核心。在Linux,除非你删除,不然旧核心是不会删除的。开机时,你可以选择用哪个核心开机,这可避免新核心有问题时,无法开机的窘境。
2014年03月01日 11点03分
回复 peterliu1218 :这个是指比如ubuntu有新的版本的时候的更新?
2014年03月01日 12点03分
回复 ty浮生若梦 :不只,一般更新的时候,也有可能会更新核心,尤其是核心有安全上的问题时,也会更新核心。我有一台电脑装12.04,刚出12.04就安装了,应该也更新过7,8次了。
2014年03月01日 12点03分
level 12
peterliu1218 楼主
利用以上几个例子,你应该有个基本概念,要如何规划你的分区空间,当然你也可以自己再去调整。现在硬盘空间大,你也不必像我一样斤斤计较。但还是记得我以上所说,根目录小一点,会有比较好的稳定与性能。
此外,若是你需要一个可变动的分区大小,以调整你的需求,或许你可以考虑规划LVM磁盘;假如你需要更多的性能或者更安全的数据保存方式,Ubuntu也提供了softwareRAID供你使用。
还有,假如你空间极大,也不一定要全部都放到/home或者/var中,你可以另外分割,当作备份磁盘,利用rsync去自动备份你的个人文件。
2014年02月07日 09点02分 8
level 7
神人,根分区的推荐大小呢?
2014年02月13日 05点02分 9
wo zheng xiang can kao yi xia gen mu lu fen duo shao bi jiao wen ding jie guo zhao bu dao [吐舌] bu guo hai shi xie xie la
2015年11月24日 08点11分
level 7
不错,学到有用的了!
2014年02月13日 11点02分 10
level 7
现在的电脑配置根本不需要swap,老爷机才用
2014年02月13日 13点02分 11
老爷机来学习ubuntu的路过……
2015年06月11日 16点06分
怎么就不要swap了,不要误导别人。
2015年07月28日 05点07分
回复
������
:笑了,没有调查就没有发言权,现在主流电脑配置Ubuntu和任何衍生版不要swap都能运行
2015年09月01日 14点09分
@i990049 就事不论人,swap可以提高系统稳定性,分区占用空间小,何乐而不为。
2015年09月04日 02点09分
level 12
好贴,学习
2014年02月18日 07点02分 12
level 7
看了楼主的帖子,我重新分区装了一下系统,结果就提示根分区太小了不够用。
2014年02月20日 12点02分 13
把你各分区,列出来看看。
2014年02月20日 12点02分
level 7
我根目录分了3G,VAR和根目录在一起,usr,home,boot这些都独立分出来了,装好系统更新了软件现在只剩300m了,根分区不够了!
2014年02月20日 23点02分 14
更新下载的安装包都放在/var/cache/apt/archives,而第一次更新刚好又是最多的,你可以sudo apt-get clean来清除。
2014年02月21日 02点02分
回复 peterliu1218 :谢谢你!根目录一般剩多少空间比较合适呢?
2014年02月21日 03点02分
回复 非常激动 :以你这种分区方式,使用空间最多的就是/var/cache/apt/archives...以一般更新的状况而论,大概留个1G就足够了。过几个月想到时,再去清除一次即可。
2014年02月21日 04点02分
回复 非常激动 :Linux的文件系统相当有弹性,日后若有特殊需求,例如想架设服务器,你可以把某目录,额外挂载到另一个分区,或者连结到其他目录。不用太担心空间不够。
2014年02月21日 04点02分
level 13
精品
2014年02月21日 02点02分 15
level 8
新人就是经常纠结这个问题
2014年03月01日 14点03分 16
level 7
。。。。。。。。。。。。。。。。。。。。
2014年03月01日 14点03分 17
level 8
不错学习了
2014年04月18日 17点04分 18
level 7
我安装都是直接安装啊 就一个/
2014年04月18日 17点04分 19
level 1
我倒是想知道有么有人扩展过分区,比如装windows和linux双系统的,现在想多给linux点空间,windows系统压缩分区很好实现,但linux扩展分区呢?
2014年04月25日 23点04分 20
任何操作前,都要先备份重要文件。方法很多,最简单的方式就是直接用gparted,用图像的方式,推拉分区的界线。
2014年04月26日 03点04分
1 2 3 尾页