我想创造以下情况:
- 我的用户主目录的单独分区,
- 第二个单独的分区〜/文件, 和
- 第三个单独的分区〜/视频和〜/音乐。
实现第一点似乎并不难,这已经包含在以下问题中:如何将主目录移动到单独的分区?
实现其他两个目标应该遵循相同的模式,但我不确定是否必须注意在某处安装的顺序/如何(即,第一的 /home/用户,然后 /home/用户/随便)。 AFAIK 的顺序/etc/fstab根本不重要。
虽然设置可能更容易,但我不想要使 XDG 目录成为符号链接,除非其他解决方案过于复杂。
答案1
符号链接比其他方法容易得多,但我不会称它们为“干净”的方法 - 例如,如果您删除符号链接,则只会删除链接,而不会删除它指向的文件,从而导致看起来不一致的行为。例如,您可以使用绑定挂载:
mount --bind /media/my-disk /home/user/Documents
这些通常与真实的东西没有区别。
答案2
TL,DR:我推荐符号链接。
如果将分区挂载到不在根分区中的挂载点,则必须注意先挂载主机分区,然后先卸载主机分区。例如,如果/
、/home
和具有单独的分区/home/htorque/Documents
,则必须/home
在 之前挂载/home/htorque/Documents
。如果您在 中列出分区,那么在 之前/etc/fstab
列出就足够了,因为条目是在引导时按顺序安装的。因此,嵌套安装点在正常操作中不是问题。/home
/home/htorque/Documents
在异常情况下,嵌套安装点可能会成为问题。假设包含其中一个分区的磁盘崩溃,或者您正在进行维护,例如卸载文件系统以将其移动到另一磁盘。/home
除非卸载了挂载点所在的分区,否则无法卸载。如果/home
由于文件系统损坏而在引导时未安装,则/home/htorque/Documents
也不会安装。如果您决定重命名/home/torque/Documents
,则需要先卸载分区。此外,如果在任何时候/home/htorque/Documents
未挂载并且您不小心将文件放入该目录中,那么当您挂载时该文件将神秘地消失/home/htorque/Documents
。
您将无法(方便地)使用主目录下的挂载点的一种情况是,如果您在登录时对其进行了加密和挂载,例如,如果您要求对主目录进行加密,则 Ubuntu 使用 ecryptfs 的方式。之后您必须手动(或通过登录脚本)挂载其他分区,并在注销之前小心卸载它们。
一个可能相关或不相关的限制是,如果您希望您的主目录不可供公众读取,但您确实希望您的音乐可供公众读取,那么您的音乐目录的路径不得经过您的主目录。这是在特定情况下反对主目录下挂载点的另一个论点。
绑定坐骑不会在这里给你买太多东西。当符号链接不起作用时(例如,当您需要文件在 chroot 中可用时),它们非常有用。但它们将挂载点的繁重维护与符号链接的一些缺点(文件也存在于其他地方)以及它们自身的缺点(文件的多个规范路径在进行备份等时需要特别小心)结合在一起。
所以我建议创建直接挂载在根分区上的分区(不一定直接在根目录下),并创建符号链接。或者您可以为这些目录配置不同的路径在~/.config/user-dirs.dirs
。
答案3
home 子目录的符号链接是迄今为止最干净的方法。
虽然我认为你可以使用文件系统覆盖,当您创建新用户时初始化目录会更加复杂 - 您需要为每个目录创建新分支或使用伪链接(实际上与符号链接几乎没有什么不同)。