/opt 和 /usr/local 位于同一分区但不在根目录下

/opt 和 /usr/local 位于同一分区但不在根目录下

我计划很快在一台新笔记本电脑上安装 Ubuntu。我想将目录/opt/usr/local根分区和主分区分开放置,但我不需要为它们设置两个分区,只需要一个。

是否可以将这两个目录放在一个单独的分区上,最好不要使用软链接?遵循软链接需要路径解析,因此我认为对常访问的顶级目录进行软链接不是一个好主意。

答案1

我不会说符号链接是个问题。如果符号链接查找对性能影响太大,那就已经很糟糕了 :) 如果它真的是一个“常用”目录,您可能还会希望它被缓存,这样就不会每次都从磁盘读取它。但我认为,/opt 和 /usr/local 在标准 Ubuntu 安装中使用得并不多,/usr/local 更多地用于您从源代码编译的自己的内容(这不是正确的定义,但通常情况如此),而 /opt 用于“可选”软件。但通常 Ubuntu 上安装的软件并不多,例如一些 Google 软件,如果我想找一个例子的话。无论如何,即使这些目录被大量使用,我也不会说符号链接意味着很多差异,如果我是你,我不会担心。

您还有另一种选择。假设您有一个用于 /opt 和 /usr/local 的独立文件系统,例如 /dev/sda6。将其挂载为 /opt。在 /opt 内创建一个目录,假设它是 usrlocal。然后您可以使用 VFS bind 来“挂载目录”(从技术上讲,这不是一个正确的概念,但没关系......)这样:

mount --bind /opt/usrlocal /usr/local

当然你/etc/fstab也可以把它放进你的文件中,所以你不需要在你的文件中手动执行这样的操作/etc/fstab

/opt/usrlocal /usr/local none bind 0 0

答案2

有一种“挂载绑定”功能,可以将一个目录挂载到另一个目录上。例如,如果您的第二个分区挂载在 上,并且您在其中/mnt/other创建了和目录home,那么您可以像这样使用挂载optlocal

mount -obind /mnt/other/home /home

相应的fstab条目将是

/mnt/other/home /home none bind 0 0

相关内容