我想以最方便的方式在我的双 SSD 系统上安装 Linux 发行版(可能是 Devuan):
- 250GB,NVMe。
- 500GB,SATA3。
标准是性能和 SSD 寿命(优先考虑 NVMe)。
- Linux 的哪些目录需要最佳性能,哪些不重要?
- 哪些目录(大部分)以读模式访问,哪些以读/写模式访问?
- 考虑到我有 24GB 的 RAM,/tmp 目录最好放在哪里?NVMe、SATA3 还是 RAM 磁盘?还有其他更好的东西留在 RAM 磁盘上吗?
- 完全加载在内存中的目录(例如内核)是否应该在启动后没有任何性能影响?
该系统是一台笔记本电脑,主要用于开发。
这可能是一个很好的分布吗?
- 快速和小型驱动器:
/, /etc, /bin, /sbin, /lib, /lib64, /usr, /boot, /root, /sys, /home?, /opt?
- 大而慢的驱动器:
/media, /mnt, /lost+found, /var, /home?, /srv
- 内存盘:
/tmp, /run, /var/run, /var/cache?, /var/spool?
- 内核提供:
/dev, /proc
有很多关于 Linux 文件系统的好资源。我会阅读更高级别目录的用途:
https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
一般来说,您可能会发现将大多数东西放在更快的 SSD 上并做出特定的例外将是最简单的分离方法。您选择使用系统的方式会有所改变,但一个好的起点应该是:
除非您定期进行大量系统更改,否则程序和配置往往是相当静态的。所以以下是更关键的性能,更少的更新,更低的容量
/
/etc
/bin
/sbin
/lib
/lib64
/usr
/boot
/root
。这占您操作系统的大部分。/root
是 root 用户的主目录,但在紧急情况下通常更好地保存在您的操作系统中。我会将程序变量数据和用户数据放在另一个驱动器上:
/var
/home
. 这些可以在较慢的驱动器上,您希望在其中进行更多的重写。这只会使文件系统通常不存储在磁盘上:
/tmp
并且/run
通常是一个内存盘。(/var/run
可以是 的符号链接/run
)。/dev
/proc
/sys
都是内核提供的。在我的笔记本电脑上,我有一个 250gb nvme 分区的根、引导和主文件系统。内部的一些加载位置
/home
安装在跨越 250gb SSD 的 btrfs(子卷)上。例如图片、音乐、文档。下载和一些不太重要的备份在安装在 de cd-rom 托架中的 750gb 硬盘上进行。我的用例:
/var
nvme推理:很多桌面应用程序使用了大量的小数据文件、sqlite 或等效的嵌入式数据库文件(隐藏在 中
/home
)。它们在 nvme 上的性能大大提高,因为它允许并行访问。我喜欢不时运行的虚拟机以快速启动并且我有空间。那为什么不呢?
运行此设置 2 年以上没有问题。
/var/tmp
,/run
并且/tmp
是tmpfs
。注意寿命。如今,大多数 NVMe 和 SSD 驱动器都使用相同的 NAND 技术。所以寿命或多或少是相同的(以读/写衡量)。NVMe 的使用寿命可能更长,因为它的价格等级更高。但这真的取决于你买了什么。
它基本上归结为最终的财务决定。
请注意问题中提到的位置:
/media
通常不会真正使用。我相信曾经有一段时间在那里发生了一些自动安装。但这一切都转移到了/var/run/user
。同样/mnt
只是一个没有内容的标准目录。也许一些空的子目录作为挂载点。那里没有数据。/lost+found
永远不要移动。它位于每个文件系统的根目录上,ext{2-4}
用于在 fsck 之后存储损坏的文件。/var/{spool, cache}
不要把它们放在 ram 中。它们旨在在重新启动后持续存在。除非您运行的是高流量服务器,否则这些目录会相对较小。如果您考虑一下,操作系统将受益于更快的驱动器,程序将加载更快,因此您将根放在 NVMe 上。您的根驱动器上有足够的空间。
将 500GB 驱动器用于
/home
目录。我总是将 tmp 放在 RAM 中。
所有这一切都取决于您对 Linux 系统的处理方式,我假设是桌面系统。如果您打算将其用作服务器,请告诉我们您想要做什么。