什么是分区

类比. 简单的分解下,一块新的硬盘就像刚打好地基的房子——在你开始往里放东西(比如家具)之前,还需要构造好框架和墙壁。分区就像是磁盘的第一层地基。合理地划出若干个分区之后的磁盘就像一座有多个房间的屋子。每个分区(房间)大小各异,并且可以通过移动来改变大小,但是在移动物品以腾出空间的过程中也可能会产生一定的破坏。创建完一个分区后就可以选择一种文件系统来进行格式化,文件系统定下之后,就可以放入文件和文件夹等形式的数据了。

所以一个分区就是指从整个磁盘中分配出的一块逻辑区域。根据系统安装时所进行的不同设置,一块磁盘上可能会有一个或多个分区。在某些情况下,分区的结构,数量和大小是可以修改的,但这通常是被认为是专家级的功能。

很多 Microsoft Windows 用户只有一个大的分区 - 通常被称为“C: 盘”,但是对 Microsoft Windows 用户来说,拥有多个带有连续字母(D:,E: 等)标志的分区也是常见的。

类似的,对于 Ubuntu 来说,可以安装系统到磁盘上的一个分区,或者将数据和应用程序分布在多个分区。

图 10.1. 分区

分区

对于两种方案都有合适的理由。使用单个分区包含所有程序、库和数据可以使系统易于管理,也可以提供灵活性,因为安装程序或者添加数据都将从一个共用的总集(pool)使用空间。

[注意] 注:

如果安装 Ubuntu 时接受了所有的默认值,最后获得的系统将位于在磁盘上的两个分区中。一个装有所有文件,另一个是所谓交换分区(swap),其可以被认为是系统内存的扩展。

或者,可以创建多个大小不同的分区,不同类型的应用程序、库和数据可以分别放在其中。这经常用于多用户或服务器环境,此时用户数据和系统程序、日志文件及配置文件保持分离。这样做的一个显著好处可以在系统出错、日志文件开始增长时看到。这个案例中,日志文件(位于一个分区中)将不会消耗掉所有可用磁盘空间,因为它们将被限制在物理磁盘中它们自己的(小)分区中。

分区方案选定以后,并不就是固定死了。还是可以使用分区编辑工具调整分区大小的 (以使每个分区都有足够的剩余空间),然而,这是一个相当高级的主题并且通常不能在正在使用的系统上进行。

[注意] 注:

虽然可以在系统安装后更改硬盘分区布局,但是在对分区进行更改之前备份数据仍然非常重要。

关于文件系统. 对硬盘进行分区只是开始。一旦磁盘被分割,这些分区需要格式化以使操作系统可以按结构化的方式放置文件。有许多种不同的文件系统类型,每种都有其优点。对于 Microsoft Windows,最主要的两种文件系统是 FAT(文件分配表,File Allocation Table)和 NTFS (新技术文件系统,New Technology File System)。对于 Ubuntu,有很多选项,包括 ext2,ext3,ext4,reiserfs,xfs 以及很多其他种类。Ubuntu 安装程序默认选择 ext4,但是当然也可以换成其他的。

[提示] 小提示:

ext4 是一个很好的通用日志文件系统。它可以很好地处理多数任务,但是有时在媒体中心上转而选择 xfs,因为它在除理非常大的文件 - 例如音乐和视频文件时表现得更好。

挂载点. 挂载点是文件层次结构中可以出现的文件系统位置。在 Microsoft Windows 系统中没有实际与之对应的概念。对于 Microsoft Windows,分区 C:、D: 等显示为完全分离的入口,于是操作系统、应用程序和数据经常被用户使用“在 C 盘上”或“在 D 盘的一个文件夹中”的方式提起。

[提示] 小提示:

“挂载(mount)”是一个表示文件系统可被系统使用时的术语。光盘通常在插入时自动挂载。对于 USB 接口的设备,例如记忆棒,硬盘和音乐播放器也同样如此。举个通俗的例子,一棵树上的树枝可能真的是这棵树自己长出来的,也可能是用绳子绑在上边的。这个用绳子绑的过程,就是所谓的“挂载(mount)”。

在 Ubuntu 中,文件和文件夹存在于分区中,就像 Microsoft Windows 中那样。但是分区通常不直接由用户引用。用户一般会说文件“在我的主目录中”(提到 /home/< 用户名> 时),或者“在根目录中”(提到 / 时),而不指出这些目录在磁盘的哪个分区上。

在最标准的 Ubuntu 安装下,系统将只有一个分区,所有文件和文件夹都放在这里边。然而,如果用户插入外置的 USB 接口的记忆棒或 USB 硬盘,Ubuntu 将会挂载那些设备上的分区到目录树中的挂载点下。例如 USB 接口的记忆棒或硬盘通常出现在 /media/disk 下(除非这些设备有设置了卷标的分区,此时他们将出现在 /media/<卷标> 下)。

进一步思考. 正如前边提到的,调整分区大小不是一个小任务。大多情况下,它要求卸载所有相关的文件系统,这意味着不能正在使用它们。一般地,要调整分区大小,系统要引导到一个未使用的文件系统 - 例如可引导的 Live CD。在对磁盘进行分区之前要对分区的数量和大小进行一些思考,以避免稍候不必要的大小调整操作。

[小心] 小心:

因为将磁盘分割为了固定大小的分区,有时可能会用尽 home 分区的磁盘空间。这即使在其他分区还有大量可用空间时也可能发生。优秀合适的分区方案要求您估计每个分区需要的磁盘空间。

对于新用户、家庭用户和其他单用户,一个单独的根(/)分区外加一个交换分区可能是最简单最方便的创建和使用方案。然而,对于多用户系统或者有大量磁盘空间的计算机,最好将 /home,/tmp,和/var 目录作为与根(/)分区分离的单独分区。

在对硬盘进行分区之前,应该考虑如下事项:

  • 根(root):也叫做斜线(/)目录,它是目录体系中的最高层目录,其下包含多个层次的子目录和文件,层层延伸形成一个树状结构。创建根分区时,需要确认根应该包含 /etc, /bin,/sbin,/lib 和 /dev 目录,否则系统将不能引导。也需要确保根分区至少分配了 150-250MiB 的磁盘空间。

  • /home:此目录包含所有用户特定的文件和数据。在多用户系统上,每个用户都将个人数据存放到到此目录的一个子目录中。此目录的大小依赖于系统的用户数以及他们在目录中存放的文件。理想地,您应该根据计划使用量计划好此分区的磁盘空间。通常,可以为每位用户分配大约 100-MB 磁盘空间。然而,如果计划在的 /home 目录存放很多多媒体文件,可能需要预备更大量的空间。

[提示] 小提示:

将 /home 放到单独的分区是个好做法,因为这使从一个发行版平滑地过渡到另外一个成为可能。

  • /var:此目录包含可变数据,例如新闻文章、电子邮件、网站、数据库和包管理系统缓存。此目录的大小也依赖于系统使用情况。最有可能的情况是,此目录的大小由 Ubuntu 包管理工具的使用情况决定。如果打算安装 Ubuntu 提供的所有软件包,需要为 /var 目录分配 2 到 3 GiB 的磁盘空间。但是如果想要节省硬盘空间并且不打算进行任何大的软件更新,可以为 /var 目录分配最少 30 或 40 MiB 的磁盘空间。

  • /tmp:此目录包含程序创建的临时文件。重启之后这个目录将会被清空!一些应用程序,包括压缩包包处理程序、光盘创作工具和多媒体软件也使用此目录来临时存放图像文件。需要根据使用这些程序的情况计划好此目录的空间分配。注意:系统重启之后,这个目录会被清空,不要往这里放需要保留的数据!

  • /usr:此目录包含所有的用户(二进制)程序,这些程序的文档和支持库。此目录趋向使用硬盘上的最大空间。因此,应该为此分区提供至少 500 MiB 磁盘空间。但是,需要根据打算安装的软件包的数量和类型增大此空间。根据计划的使用量和可用的磁盘空间,可能需要为此目录分配 1.5 到 6 GiB 的磁盘空间。

[提示] 小提示:

/usr 分区有时被称为用户系统资源,而此时的用户并不是原来所说的那个。