Qemu
虛擬化:遵循 VirtFS (9p) 共享中的符號連結
我在主機上有文件夾,其中包含指向另一台設備的符號連結。像這樣
$ ls -all ~/folder_to_share ... file1 file2 linked_dir -> /mnt/bdrive/real_dir/ ...
我通過libvirt和vagrant-libvirt設置 QEMU 虛擬機。並設置共享文件夾,該文件夾
~/folder_to_share
使用VirtFS(9p 協議)映射到主機目錄。我希望我的虛擬機進入共享目錄並遵循符號連結,因為它是真實目錄。有可能還是我應該切換到另一個協議?
PS vagrant-libvirt配置的一部分:
config.vm.synced_folder "~/folder_to_share/", "/home/vagrant/shared_folder", type: '9p', owner: 1000
我很久以前就用綁定安裝解決了這個問題。您可以刪除符號連結並將其替換為綁定安裝:
mkdir /symlink/to/replace
mount -o bind /src/dir /symlink/to/replace
但是當我嘗試它時,我看到“diod” 9p 伺服器無條件地跳過了綁定安裝。所以我不得不修補它。
注意:Plan9 和它的相鄰項目通常會抗議許多“不良做法”,例如動態連結或符號連結。他們不支持這些可能是正常的,即使在其他環境中也是如此。因此,如果您有一個充滿指向其他地方的符號連結的目錄,您最終將修補 9p 伺服器軟體。