我可以外包哪些 FHS 目录以及如何外包?

我可以外包哪些 FHS 目录以及如何外包?

目前我有一台硬盘上装有 Ubuntu 的计算机,所有内容都在一个分区上。我想添加一个 SSD 并移动/到它,外包/boot到一个单独的分区(也在 SSD 上)并保留/home在 HDD 上。

此外,我想将可能经常写入的所有内容保留在 HDD 上,例如/tmp,,,,。(你知道,SSD..和写入操作..)/var/srv/run

我的问题:

  1. 我应该保留这 4 个示例目录之一/吗?
  2. 我应该在硬盘上保留其他内容吗?
  3. 我需要关心什么(例如外包后重新安装和更新GRUB /boot)?
  4. 我可以外包吗/boot
  5. 我应该外包吗/boot

SSD: /boot (?) /

HDD: /home /... ?

答案1

  1. 我应该保留这 4 个示例目录之一/吗?

/run通常是一个挂载点tmpfs - 它不应该在重新启动后继续存在。顺便说一句,/run这不是 FHS、IIRC。

  1. 我应该在硬盘上保留其他内容吗?

取决于很多事情。你使用什么文件系统?有些对 SSD 更友好;例如 Btrfs 有一些功能(这不是一个完整的列表,只是提示需要考虑哪些事情)缓解传统 SSD 问题。还有其他可能有帮助的事情,例如使用选项安装noatime

  1. 我需要关心什么(例如外包后重新安装和更新GRUB /boot)?

更改涉及移动内核的数据存储布局通常需要摆弄引导加载程序。另一件事是正确引用分区。由于您的分区布局将发生变化,因此您肯定需要更新/etc/fstab.

  1. 我可以外包吗/boot
  2. 我应该外包/boot吗?

呃?/boot几乎可以在引导加载程序能够找到它的任何地方。引导加载程序几乎可以位于固件(BIOS/UEFI/其他)可以找到的任何地方。

这是不是一个好主意?依靠。您对这样的设置有何期望?有人会说,如果你不经常更新内核,它会节省一点驱动器,但由于我们在这里谈论 SSD,所以这并不重要,因为块将从底层物理闪存中随机分配记忆。如果您想使用 UEFI(以及可能的 SecureBoot),您将需要一个单独的分区(实际上通常安装在 /boot/EFI IIRC 下的某个位置)。

但更重要的是,我建议您思考一下您实际上想要实现的目标。虽然我理解 SSD 对闪存磨损的担忧,但您的建议实际上不太可能给您带来更好的体验:您的建议几乎只是将系统放在 SSD 上。但是,(假设计算机具有合理数量的 RAM),您将运行的任何内容都将被缓存,这意味着您几乎只能看到从 SSD 或 HDD 加载几兆字节之间的差异:

假设您决定启动 Firefox。它的主库(libxul.so)有(数量级)80MB。经过碎片整理的 HDD 将在 2 秒内为您提供此信息。 SSD 将在大约 0.2 秒内将其刷新。这是十倍的速度。然而,该库仍然需要由运行时链接器 ( ld-linux.so) 处理。只有这样该进程才会启动,您等待它初始化并开始与您交互。现在,人们多久启动一次浏览器,1.8 秒就至关重要?

如果您害怕因 SSD 的性质而丢失数据,请经常备份(无论如何您都应该这样做)。实际上,我认为可能已经有一些解决方案可以在后台将 SSD 内容镜像到 HDD(类似于混合 HDD,但在操作系统级别而不是 HDD 固件)。

相关内容