it-swarm.cn

为什么将/ home以外的内容放在单独的分区中?

因此最近,一个Debian 5.0.5安装程序为我提供了单独的/usr/home/var/tmp分区(在一个物理磁盘上)。

实际原因是什么?我明白那个 /home放在单独的分区上可能会很有利,因为用户文件可以单独加密,但是为什么还要其他呢?

56
Alex B
  1. 最小化损失:如果/usr位于单独的分区上,则损坏的/usr并不意味着您无法恢复/etc
  2. 安全性:/不能始终为ro(/root可能需要为rw等),但是/usr可以。它可以用来使ro尽可能多。
  3. 使用不同的FS:我可能想对/tmp(不可靠,但是对于许多文件来说是快速的)和/home(必须可靠)使用不同的系统。相似的/var包含数据,而/usr则不包含数据,因此可以牺牲/usr的稳定性,但不如/tmp那样。
  4. Fsck的持续时间:较小的分区意味着检查一个分区更快。
  5. 提到填补部分,尽管其他方法是配额。
57
Maciej Piechotka

如果您有多台共享同一操作系统的计算机,则单独的/usr可能会有用。他们可以共享一个中央/usr,而不是在每个系统上都复制它。 /usr可以只读方式安装。

/var/tmp可以由用户程序或守护程序填充。因此,将它们放在单独的分区中是安全的,这样可以防止根分区/充满100%,并严重影响您的系统。为避免有两个不同的分区,将/tmp作为/var/tmp的符号链接并不罕见。

25
Didier Trosset

因为普通用户会导致将内容写入/var/tmp,从而可能导致整个系统出现问题。这样,用户进程可以填充/var/tmp,但不是根fs。独立 /usr/usr通过NFS或其他远程fs。

(我希望这很清楚,我还没有喝咖啡)

13
KellyClowers

问题是,全根文件系统使Linux系统无法扩展到某个扩展,即使管理员没有恢复CD或类似文件也无法修复它。什么时候 /tmp/var,尤其是/home位于单独的分区中,如果没有管理员,根目录fs永远不会填满。取/usr放入所有通常安装的目录中,即使安装新软件也不会导致此问题。

11
txwikinger

通常,具有单独分区的参数为:

  1. 安全性:例如,您可以以只读方式挂载分区,以防止恶意用户(或进程)覆盖特洛伊木马或用特洛伊木马替换二进制文件。因此,如果您的ssh二进制文件位于/ usr/local/bin中并且/ usr/local是只读安装的,那么任何人都很难替换该二进制文件。

  2. 灵活性/便利性:例如,如果在自己的分区上设置/ var,并且/ var的磁盘已满80%,则可以调整其大小,甚至可以根据需要将其移动到另一个磁盘。我宁愿这样做,也不愿处理'/'为100%已满的系统,因为/ var下的日志已经以某种方式陷入困境。不同的分区也可以完全具有不同的文件系统,从而允许您的OS使用ext3(例如),而数据库使用ext4,或者对象存储库使用XFS,或者您的自定义应用程序使用...原始设备!

9
jonesy

传统上,这样做是因为开发DEC硬件的特殊性。购买用于根和交换的快速小磁盘和用于用户数据(/usr)的较大慢速磁盘是更经济的选择。在某些方面,惯例只是停留了下来。

但是,这样做仍有一些原因。一些常见的是:

  • 将/ boot放在靠近磁盘开头的单独的小分区上。较旧的PC BIOS固件只能从磁盘的前1024个磁道启动。对于现代硬件,这不太可能成为问题。

  • 将繁忙的分区(例如/var/tmp)放置在单独的磁盘上,以消除访问用户数据的瓶颈。

  • 不同分区上的不同文件系统。例如,您可能希望对/usr使用日志文件系统,但不希望将分区文件系统用于Oracle等DBMS的主机文件-DBMS会自己进行日志记录,日志文件系统可能会产生大量开销。

  • 将用户数据存储在单独的磁盘或分区上,可以轻松地将其迁移到更大的磁盘上,而无需在机器上进行大量的手术。

  • 您可能希望通过NFS挂载共享数据,例如主目录或应用程序二进制文件。

  • 对于某些类型的文件系统,fsck在大容量上花费很长时间。您可能希望对系统区域(频繁)和用户区域(不太频繁)有不同的文件系统维护计划。

7

格式化文件系统也可以比rm -rf'ing更快。特别是如果您要擦除数千个小文件。您想完全重新创建鱿鱼缓存...需要处理的大量图像文件,但是在创建最终结果后可以将其丢弃。 .obj文件来自大量编译...等等。

5
gabe.

我有时放在单独分区上的文件夹是/usr/local/,这样,如果我更改/升级发行版或与发行版旁边安装的另一个发行版,可以与发行版的程序包管理器分开构建和安装的任何软件都可以重复使用。显然不能保证可以在所有可能的组合中使用它,但不会造成伤害。

4
Troubadour

我将/tmp放在tmpfs上,因此内容存储在RAM而不是磁盘上。对于/etc/usr没有用然而。

但是能够将不同的目录放在不同的文件系统上可能是有益的。即在/home的快速/实验性文件系统(例如ext4)与稳定/可靠的文件系统(例如ext2)上的/etc

2
jonescb