通过 mount --bind ... 命令从 Debian 中的符号链接创建另一个符号链接

通过 mount --bind ... 命令从 Debian 中的符号链接创建另一个符号链接

我有一个问题,如何在 Debian 下从另一个符号链接(使用 mount --bind 命令)创建符号链接。

他们是两种情况:

第一种情况: 我在/main/data 中有核心数据。在“data”文件夹中是一些文件(文件夹、文件等)。我在其中创建了另一个文件夹的符号链接,例如:

挂载--bind /主/数据/用户/管理员

接下来,不是从 core 文件夹而是从 admin 文件夹创建另一个符号链接,例如:

挂载--bind /用户/管理员/公共/用户1

一切正常,因为我创建了文件夹到文件夹的符号链接第二种情况:

第二种情况:我只想从 /main/data 挂载单个文件(通过使用 mount --bind 命令),就像第一种情况一样。首先到 admin,然后将整个文件夹挂载到 /user/admin 到 user1。首先,我需要在 /user/admin 中创建空白文件,然后安装核心文件。工作顺利下的步骤 -例子:

触摸/user/admin/myNewFile.txt

挂载--bind /main/data/information.txt /user/admin/myNewFile.txt

但最后一部分不起作用 -例子:

挂载--bind /用户/管理员/公共/用户1

最后一个命令将文件夹从 /user/admin 挂载到 /public/user1 ,这会导致挂载所有文件和文件夹位于 /user/admin 中。在 /public/user1 中将出现“myNewFile.txt”,但该文件是空白的,大小为 0。

问题是 mount 命令是否有任何选项可以正确安装,或者是否有任何其他解决方案来解决此问题。

非常感谢您的建议。

答案1

mount --bind命令创建绑定安装,不是符号链接;实际的符号链接是使用该ln -s命令创建的。

当您使用 时mount --bind /main/data/information.txt /user/admin/myNewFile.txt,您将一个文件系统的一部分(具体来说,一个文件)附加到另一个文件系统之上。尽管 now 的内容information.txt出现在myNewFile.txt,但这仍然不能使该文件成为/user/admin 文件系统。通常这并不重要,但对于你的最后一个命令,它会。

mount --bind /user/admin /public/user1进行绑定安装单身的文件系统 - 原始文件中的任何子安装点都不会被复制...包括子安装点/user/admin/myNewFile.txt

如果您想使用绑定挂载复制整个目录树,包括任何现有的底座就像你的一样/usr/admin/myNewFile.txt,那么你必须使用mount --rbind

mount --rbind /user/admin /public/user1

您的第二种情况与第一种情况类似:

mount --bind /main/data /user/admin

进而:

mount --bind /user /mnt

如果您这样做,您可能会发现这/mnt/admin将是一个空目录。 (或者,如果有一些文件,您会发现它们肯定不是来自 的最新文件/main/data,而是很久以前有人尝试使用/user/admin但未先mount --bind /main/data /user/admin完成的一些旧垃圾。)

当您进行常规挂载或mount --bind目录挂载时,必须首先mkdir在目标位置创建一个空目录。然后 mount 命令将在该目录之上附加其他内容。同样,在处理mount --bind单个文件时,您必须首先touch在目标处创建一个空文件,以便 mount 命令可以附加一些内容。如果您然后查看mount --bind文件系统的那部分,您将看到那些底层的空目录/文件,而不是原始文件中已安装的文件系统/文件。

相关内容