我在主机上有一个文件夹,其中有到另一个设备的符号链接。像这样
$ 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 服务器软件。