Linux操作系统有一些固定的目录。各种Linux发行版的目录结构虽然不会一模一样,但是不会有很大差异。知道了这些目录的作用,不仅对你进行磁盘分区规划很有帮助,而且会让你以后的日常维护工作变得轻松。只有对如下表中的各个目录的用途很了解,才能在硬盘分区时不至于犯下大的错误。
目 录
|
英文全名
|
用 途
|
/ |
/ |
整个目录结构的起始点 |
/bin |
Binaries |
用来存放最常用的二进制命令 |
/boot |
Boot |
包含引导Linux的重要文件,如grub和内核文件等 |
/dev |
Devices |
所有设备都在该目录下,包括硬盘和显示器等 |
/etc |
etc |
系统的所有配置文件都放在它下面 |
/home |
Home |
存放各用户的家目录($HOME)及其文件和配置 |
/lib |
Libraries |
系统的库文件,有点像Windows的Program Files |
/lost+found |
lost+found |
用于存放系统异常时丢失的文件(如突然宕机),以利于恢复 |
/media |
Media |
用于加载各种媒体,如:光盘、软盘等 |
/mnt |
Mount |
用于加载各种文件系统 |
/opt |
Optionally |
用于存放安装的“可选(optionally)”程序 |
/proc |
Processes |
包含进程等信息,是内存的映射,不是真实目录 |
/root |
Root |
该目录是root用户的家目录($HOME) |
/sbin |
System-only binaries |
用于存放系统专用的二进制命令 |
/sys |
System |
用于存放系统信息 |
/tmp |
Temporary files |
用于存放临时文件 |
/usr |
User |
用于存放普通用户的应用程序、库文件和文档等 |
/var |
Variable files |
用于存放那些在时间、大小、内容上会经常变化的文件 |
-----------------------------------------------------------------------------
使用任何Linux系统,都要有至少两个分区:一个根分区,用“/”表示;另一个是swap(交换)分区。所以,最简单的分区方法就是:先创建swap分区,剩下的所有空间分配给根分区“/”。
swap分区的尺寸,最小应该和内存一样大,最大一般不超过内存的两倍大小。
swap分区就像Windows的虚拟内存交换文件pagefile.sys,系统在需要时会把它当作虚拟内存来使用,比方说在运行大型程序时、在内存优化时,或者在系统休眠时。系统休眠时,把整个内存的数据写入swap分区,这就是为什么你的swap分区的大小至少应该和内存一样大的原因。
最好把/boot单独创建一个分区上,因为这个目录下的文件比较重要,万一分区损坏,系统可能无法启动。如果单独创建为一个分区,其他分区的损坏就不会影响它,从而提高了系统的稳定性。一般情况下,/boot分区不需要太大,128MB就足够用了。
其他分区,就要看实际需求了。
比方说,如果服务器会有很多用户登录上来放文件,那么/home最好单独分区,并给予足够大的空间。
在比方说,如果服务器是要放数据库的,这个数据库可能会变得很大,那么/var最好单独分区,并给予足够大的空间;因为数据库默认是放在/var下面的。
Web服务器也是一样,因为Web页面默认是放在/var/www/html下面的,所以,如果会有人上传大量的文件(如果论坛附件),那么最好也要把/var单独分区,并给予足够大的空间。
一般而言,作为服务器,我还建议把/tmp单独作为一个分区。因为大部分应用程序都会向这个目录写入临时文件,虽然每次Linux重启时这个目录会被清空,但是没有人动不动重新启动服务器玩儿的。我曾经帮一个朋友解决过一个问题,就是关于/tmp的。
--------------------------------------------------------------------------------
下面举个简单的磁盘分区的例子。
公司内部做了一台开发服务器,在Internet机房里还有一些Web服务器和数据库服务器。
开发服务器是给所有开发人员用的,他们要在“家目录”中存储大量的文件。平时,他们的工作站在启动时,是会自动将开发服务器上自己的“家目录”挂载到本地的;也就是说,他们工作站上的“家目录”,实际上在开发服务器上(这个功能是通过NFS实现的)。所以,这台服务器的/home是用的最多的,而且需要比较大的空间。
此外,由于是开发服务器,我们还需要一个做版本管理的源代码仓库,这个仓库是放在/var下面的。虽然源代码的文件尺寸不会特别大,不需要特别大的空间,但是这些代码非常重要,所以我们也要想保护/boot那样保护它们。
所以,对于这台开发服务器,我给出的分区方案(服务器硬盘共有750GB,内存为1GB)详见下表:
文件系统
|
挂载点
|
大小
|
分区格式
|
/dev/sda1 |
/boot |
128MB |
ext4 |
/dev/sda2 |
/ |
20GB |
ext4 |
/dev/sda5 |
|
2GB |
swap |
/dev/sda6 |
/var |
125GB |
ext4 |
/dev/sda7 |
/home |
600GB |
ext4 |
/dev/sda8 |
/tmp |
2GB |
ext4 |
以上分区方案只是一个参考,实际分区方案应该根据自己的实际情况而定。
本文转自 jundong 51CTO博客,原文链接:http://blog.51cto.com/minitoo/853765,如需转载请自行联系原作者