不同驱动器之间的文件系统目录上的符号链接?

不同驱动器之间的文件系统目录上的符号链接?

我正在尝试在我的 24Gb 集成 SanDisk iSSD 和另一个 500Gb 辅助驱动器上安装 Ubuntu 16.04,如下所述:如何从无法选择为启动设备的 SSD 驱动器启动 Ubuntu?

尽管 gertvdijk 的回答很棒,但我仍然无法理解他提到的符号链接。

我想创建一些占用大量空间的文件夹,例如/sbin/将信息存储在更大的驱动器上。假设我使用以下命令创建/sbin/符号链接/folder/on/large/drive/ln -s /sbin/ /folder/on/large/drive

这能解决问题吗?如果我使用 apt-get install 安装程序,并且 apt 想要放置文件,/sbin/它会自动放入/folder/on/large/drive吗?

或者mount --bind /sbin/ /folder/on/large/drive效果会更好吗?

答案1

简短回答:无论哪种方式都可以。

较长的答案: 只要一切正常,它们应该几乎完全一样。唯一的区别在于,如果出于某种原因它们工作。

可以将符号链接想象成“快捷方式”文件。它基本上只是一个小文件,可以告诉您下一步要去哪里,操作系统(通常)会自动为您处理重定向。

另一方面,挂载会直接改变你对文件系统的看法 - 无论何时你从挂载的目录中请求文件,内核都会默默地将实际的文件。

如果目标文件系统不可用,符号链接和挂载将表现不同。符号链接将指向不存在的位置 - 并且可能会开始抛出错误。但是,挂载将立即失败,因为没有要挂载的文件系统。然后,任何读取或写入它的尝试都将直接传递到(可能是空的)目录应该被支架遮盖住。

手册页:对数函数(1)安装(8)

尽管如此,我个人建议不要将任何系统关键文件(如/sbin)移出主驱动器。/home但是,将(或其某些子目录)移动到第二个驱动器是一种非常常见且可接受的做法。

相关内容