在备战lcpi考试的过程中,我遇到了以下的说法。
如果有多个磁盘可用,最好将 /usr 和 /home 目录放在不同的分区上。http://en.wikibooks.org/wiki/LPI_Linux_Certification/Design_Hard_Disk_Layout
对于桌面工作站,将主目录放在单独的驱动器或分区上是有意义的。
我登录过很多Linux服务器,但我从未见过系统管理员将这些文件夹放在单独的分区上。
在 Linux 服务器上分离这些文件夹是常见的做法吗?
您可能出于什么原因将 /usr 和 /home 分开?(除了使重新安装更容易)。
答案1
将它们创建为单独分区的 3 个主要原因如下:
- 表现
- 隔离
- 安全
例子
通过分离,
/home
您可以将这些数据放在共享网络磁盘上,这样当用户 A 登录到给定域中的服务器时,它们/home/$USER
将成为在机器之间跟随的单个副本。这通常是使用 NFS 和自动挂载(又名autofs
)来完成的。通过将
/usr
数据放在自己的分区上,可以以只读方式挂载,从而对该目录下的数据提供一定程度的保护,使其不会轻易被篡改。隔离的一些额外原因
/usr
是为了更容易部署相同的系统,这些分区可以一次性准备好,然后更容易地跨系统复制。此外,将数据分离出来可以使备份周期变得更容易。
最后,分离易失性目录,例如
/home
可以防止系统的主磁盘被意外或恶意用户填满。
在我超过 15 年的从事此工作的过程中,我只见过/home
分离的(作为通过 NFS 的网络共享)和/boot
和/var
目录被隔离为单独的分区。在一些深奥的 Solaris 盒子之外,我不记得曾经见过 Linux 系统有单独的/usr
- 并且请注意,如果您在启动前没有/usr
安装init
,您的系统将以深奥且无声的方式崩溃。
答案2
放置/home
单独的分区是相当常见的。这通常会拆分系统文件 ( /
) 和用户文件 ( /home
)。这两个文件系统可能具有不同的性能权衡、不同的备份策略、不同的配额、不同的安全策略等。此外,通过这种方式,可以独立于用户数据重新安装或重新映像操作系统。/home
对于单用户工作站和存储用户文件的多用户系统来说,拆分都是一个好主意。我只会保留/home
在除管理员配置文件之外没有用户文件的服务器上的同一分区上(但可能有一个单独的分区用于该机器的任何内容 - /var/mail
或数据库等),或者在安装快速简单,尤其是在笔记本电脑上,无需重新平衡以使用第二个磁盘。
/usr
当操作系统使用大量磁盘空间(例如,1GB 中的 300MB)时,放置单独的分区曾经很常见。该分区可以设为只读,可以通过网络共享。设为/usr
只读的优点是,在断电的情况下,不需要 fsck。如今,所有主要文件系统都使用日志,不需要任何冗长的 fsck,并且磁盘大小的增加比操作系统大小要多得多 — 1TB 中的 30GB 简直就是微不足道的,因此不需要共享。没有充分的理由从系统的其余部分中分离出来(/usr
、、、/bin
…… )。如果您看到 split 的建议,那么它已经过时了。/etc
/var
/usr
答案3
/usr
将和分开是很常见的/home
。有许多的原因。以下是一些:
加密
尽管加密内容/usr
有一些好处,但通常将完全加密的分区专用于/home
目录并保持/usr
不加密状态。
不同的驱动器
我目前使用的笔记本电脑有一个小 SSD 和一个大硬盘。根分区(包括/usr
)位于 SSD 上。/home
位于硬盘上。 SSD 在写入时磨损相对较快。将诸如/home
和 之类的易失性目录放在/var
SSD 上会显着缩短其使用寿命。将我的根分区放在 SSD 上可以减少机器的启动时间。
安全
/home
使用该选项挂载目录是很常见的nosetuid
。此选项不允许在挂载上执行 setuid 文件。设置此选项使用户更难隐藏 root 拥有的 setuid shell。
答案4
我发现的另一个原因是文件系统优化。 /usr 包含应用程序在运行时使用的共享对象和一些其他公共资源,因此您可能需要将其分开以使文件系统更适合频繁使用。同样,对于 /home,您也可以将其用于非常适合大数据的文件系统