仮想化: VirtFS(9p) 共有のシンボリックリンクに従います。

仮想化: VirtFS(9p) 共有のシンボリックリンクに従います。

ホストに他のデバイスへのシンボリックリンクがあるフォルダがあります。このように

$ 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サーバーソフトウェアにパッチが適用されます。

関連情報