Linux分区方案、文件结构与挂载方法

发布时间:2020-07-01编辑:脚本学堂
本文介绍下,linux系统的分区方案,以及linux的文件结构与linux文件系统挂载的方法,有需要的朋友参考下。

Windows的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如:C,D,E,F等。linux的文件结构是单个的树状结构。最顶部的为根目录,即/。在根目录下,分为多个子目录,包括/bin、/boot、/dev、/etc、/home、/lib、/media、/mnt、/opt、/proc、/root、/sbin、/tmp、/usr和/var等。这些目录的具体作用在这里就不做详细介绍了。磁盘linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作。

显然,根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁盘分区。上面还提到,Linux分区交换也需要独立使用一个分区,因此,安装一个Linux至少需要两个分区。

(事实上,只使用一个分区安装Linux也是可能的,而且,如果电脑的物理内存足够大,交换分区并不是必须的)在不同的linux安装教程中,不同的作者阐述了各种不同的分区建议,本文也不例外。

个人建议:
/boot:在很多老旧的教程中,都会让用户在/boot目录上挂载一个大小为100MB左右的独立分区,并推荐把该/boot放在硬盘的前面,即1024柱面之前。事实上,那是Lilo无法引导1024柱面后的操作系统内核的时代遗物了。当然,也有作者宣称,独立挂载/boot的好处是可以让多个Linux共享一个/boot。其实,无论是基于上述的哪种理由,都没有必要把/boot分区独立出来。

首先,grub可以引导1024柱面后的Linux内核;
其次,即使是安装有多个Linux,也完全可以不共享/boot。因为/boot目录的大小通常都非常小,大约20MB,分一个100MB的分区无疑是一种浪费,而且还把硬盘分的支离破碎,不方便管理。

另外,如果让两个Linux共享一个/boot,每次升级内核,都会导致Grub的配置文件冲突,带来不必要的麻烦。而且,不独立/boot分区仅仅占用了根目录下的大约20MB左右的空间,根本不会对根目录的使用造成任何影响。

注意:
随着硬盘容量的增大,无法引导Linux内核的现象再次出现,这也就是著名的137GB限制。
很遗憾,Grub是无法引导137GB之后的分区中的Linux内核的。

如果不巧遇到了这样的情况(我就遇到过),则要考虑把/boot独立挂载到位于137GB前方的独立分区中,或索性就把 Linux分区都往前移动,让根目录所在分区位于137GB之前。

/usr/local:建议把/opt、/usr或/usr/local独立出来的教程,基本上也是非常老的了。使用Ubuntu时,我们一般都是使用系统的软件包管理器安装软件,很少自己编译安装任何软件。而建议独立/usr、/opt、/usr/local的理由无非是为了重装系统时不再重新编译软件而直接使用早先编译好的版本。因此对于大多数的普通用户来说,这个建议通常是没有意义的。

/var:建议把/var和/tmp独立出来的教程通常是面向服务器的。因为高负载的服务器通常会产生很多日志文件和临时文件,而这些文件又经常改变,因此把/var和/tmp独立出来,有利于提高服务器的性能。我们使用Ubuntu是做桌面的,甚至有些用户根本从来就没有关心过系统日志这玩意儿,所以根本没有必要独立的为/var和/tmp挂载分区。

/home:这可能是唯一一个值得独立挂载Linux分区的目录了。/home是用户文件夹所在的地方。一个用户可能在/home/user中存放了大量的文件资料,如果独立挂载/home,即使遇到Ubuntu系统无故身亡的尴尬局面,也可以立刻重装系统,取得自己的文件资料。因此,/home是唯一可以考虑独立挂载Linux分区的目录。

看了上面的一些介绍,你可能已经知道我的建议了:

- 双Linux分区方案

/:至少3GB,建议根据实际情况,尽可能多分一些,特别是喜欢玩各式软件的读者。
SWAP:物理内存小于等于512MB,建议分配实际物理内存容量2倍大小的SWAP;物理内存大于512MB,建议分配与物理内存等容量的SWAP。

- 三Linux分区方案

/:至少3GB,建议根据实际情况,尽可能多分一些,特别是喜欢玩各式软件的读者。
/home:根据实际需要分配1GB~100GB或更多,酌情处理。SWAP:物理内存小于等于512MB,建议分配实际物理内存容量2倍大小的SWAP;物理内存大于512MB,建议分配与物理内存等容量的SWAP。

说明:
有些老旧的教程中建议把Linux安装在主分区中,或在/boot下挂载一个主分区。

其实,Linux的所有分区都可以位于逻辑分区中。
因此,不要再浪费有限的主分区了,放心地把Linux安装在逻辑分区中吧。