호스트에 다른 장치에 대한 심볼릭 링크가 있는 폴더가 있습니다. 이와 같이
$ 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 서버 소프트웨어를 패치하게 됩니다.