符号链接回退

符号链接回退

有没有办法让符号链接有后备?如果未找到目的地,则应使用另一个目的地。

我想为一个程序使用一个配置文件,无论是否安装了驱动器,该配置文件都是不同的。因此,我将拥有指向该特定驱动器上的配置的符号链接,如果找不到,它将使用替代驱动器。

我想我可以使用一个包装脚本来检查驱动器是否已安装,链接到所需的配置,然后运行应用程序,但包装脚本感觉很奇怪。

答案1

标准符号链接没有任何办法。它们始终指向单一目标路径。

但是,在您的特定情况下,您可以利用驱动器阴影安装的方式:如果您将配置文件指向 /path/to/mount/config.cnf,那么您就有一个位于父文件系统上的文件系统(当mount 不存在)和已挂载的文件系统上的一个(当挂载存在时使用)。

但我不建议这样做——一方面,很难同时打开它们来进行比较。我个人会多次选择一个包装脚本。可能还有特定于程序的方法,但您没有命名该程序。

答案2

您可以使用联合安装为了这。如果某个位置存在则显示一个文件,如果第一个选择不存在则显示另一个文件,这就是联合挂载的全部意义。符号链接没有帮助,除非在与安装位置不同的位置显示文件。

mkdir ~/overridden
unionfs-fuse "/media/external:$HOME/overridable" ~/overridden

~/overridden~/overridable显示和下目录树的合并/media/external。当两者中都存在某个文件时,/media/external将显示来自的文件。

也可以看看Linux 上的联合挂载(当有人回答时......)。

相关内容