ホストに他のデバイスへのシンボリックリンクがあるフォルダがあります。このように
$ ls -all ~/folder_to_share
...
file1
file2
linked_dir -> /mnt/bdrive/real_dir/
...
以下でQEMU仮想マシンを設定しました。ライブラリ仮想マシンそして放浪者 libvirt。また、以下を~/folder_to_share
使用して、ホストディレクトリにマップされた共有フォルダを設定します。仮想ファイルシステム(9pプロトコル)。
私の仮想マシンが共有ディレクトリに移動し、実際のディレクトリであるかのようにシンボリックリンクをたどります。可能ですか、それとも別のプロトコルに切り替える必要がありますか?
vagrant-libvirtのPS部分構成:
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サーバーソフトウェアにパッチが適用されます。