虚拟化:遵循 VirtFS (9p) 共享中的符号链接

虚拟化:遵循 VirtFS (9p) 共享中的符号链接

我在主机上有一个文件夹,其中有到另一个设备的符号链接。像这样

$ ls -all ~/folder_to_share
...
file1
file2
linked_dir -> /mnt/bdrive/real_dir/
...

我通过以下方式设置 QEMU 虚拟机库虚拟机vagrant-libvirt。并且还~/folder_to_share使用设置映射到主机目录的共享文件夹虚拟文件系统(9p协议)。

我希望我的虚拟机走进共享目录并遵循符号链接,因为它是真实目录。是否可能或者我应该切换到另一个协议?

PS vagrant-libvirt 的一部分配置:

config.vm.synced_folder "~/folder_to_share/", "/home/vagrant/shared_folder", type: '9p', owner: 1000

答案1

我很久以前就用绑定安装解决了这个问题。您可以删除符号链接并将其替换为绑定安装:

mkdir /symlink/to/replace mount -o bind /src/dir /symlink/to/replace

但是当我尝试时,我看到“diod”9p 服务器无条件地跳过了绑定安装。所以我必须修补它。

注意:Plan9 及其邻居项目通常反对许多“不良做法”,例如动态链接或符号链接。即使在其他环境中,他们不支持这些可能是正常的。因此,如果您的目录充满了指向其他位置的符号链接,您最终将修补 9p 服务器软件。

相关内容