符号链接,其中链接接收更新而原始链接不接收更新

符号链接,其中链接接收更新而原始链接不接收更新

是否可以分配组或所有权,例如

ln -s original link

其中original文件夹将被更新,所有link文件夹都将收到新文件,但对文件的任何更改都不会保存在original.用户将拥有该文件夹的写入权限,但没有文件的写入权限。

答案1

符号链接只是一个重定向标志,告诉目录遍历代码“改为查看那里”。一旦您到达文件的位置,无论您如何到达那里,它们都是相同的文件。

您所描述的正是常见用例之一联合坐骑。也可以看看Linux 上的联合挂载尽管在我撰写本文时,它并没有提供我所希望的全面答案。override过度original安装的联合安装的基本原则link是,link/file如果override/file存在,original/file否则。

在 Linux 上,您可以使用以下命令进行联合挂载覆盖文件系统。像这样的东西(未经测试):

mkdir override work
chgrp users override; chmod g+rwxs override
mount -t overlay overlay -o lowerdir=link,upperdir=override,workdir=work link

答案2

在 Linux 和 Solaris 上,您还可以使用原始文件的“引用链接”。 “引用链接”是文件的副本,其中最初仅复制元数据。对副本的任何更改都不会传播回原始文件。同样,对原始文件的任何更改都不会反映在副本中。引用链接要求底层文件系统支持写时复制语义。

BTRFS 在 Linux 上支持引用链接XFS文件系统(XFS 需要内核版本 4.8 或更高版本)。可以使用以下命令在 Linux 上创建引用链接cp --reflink...命令或者ioctl( ..., FI_CLONE, ...)或者ioctl( ..., FI_CLONERANGE, ...)功能。

Solaris 11.4 支持 ZFS 上的引用链接,其中可以使用以下命令创建引用链接cp -z ...命令或者功能reflink()

相关内容