Bindfs를 사용하여 chroot 환경과 해당 호스트 간에 공유 폴더를 만드는 방법

Bindfs를 사용하여 chroot 환경과 해당 호스트 간에 공유 폴더를 만드는 방법

다음 문제를 해결하기 위해 binfs(또는 실행 가능한 대안)를 사용하고 싶습니다.

작업 중인 Maven 프로젝트가 포함된 로컬 폴더가 있습니다. 하지만 chroot 환경에서만 빌드할 수 있습니다(가상화 속도가 너무 느림). 하지만 이것은 개발 환경이기 때문에 (사용자 권한으로) IDE를 사용하여 mount-bind 폴더의 파일을 편집할 수 있는 방법이 없습니다(현재 chroot env에 피드하는 방식입니다). 이는 큰 문제가 됩니다. .

나는 바인드가 도움이 될 것이라고 생각하지만, 어떻게 해야 할지 모르겠습니다.

편집하다:

명확히하기 위해 : 나는 (루트로) 시도했습니다

mount -o bind /path/to/my/project /path/to/chroot/mountpoint

그리고

bindfs -u myuser -g users -p +rw /path/to/project /path/to/chroot/mountpoint

답변1

chroot 내에 추가 디렉토리 트리를 제공하는 것은 바인드 마운트의 일반적인 사용 사례입니다. 귀하의 경우에는 기본 시스템과 개발 환경에 동일한 홈 디렉터리를 갖는 것이 합리적일 수 있습니다. 루트 액세스 권한이 있고 Linux를 사용하는 경우 Linux 바인드 마운트를 사용할 수 있습니다.

mount --bind /home /path/to/development/environment/home
chroot /path/to/development/environment

바인드 마운트는 바인드 마운트가 추가 레이어이기 때문에 바인드 마운트보다 빠르며, 바인드 마운트는 원래 레이어와 동일합니다. 이는 파일에 대한 하드 링크와 동일한 작업을 수행합니다.

당신은 사용하고 싶을 수도 있습니다슈루트. 이것은 chroot에서 작업 시스템을 생성하기 위한 약간의 자동화입니다. 자동화하는 작업 중 하나는 바인드 마운트입니다. 원래는 여러분이 지금 하고 있는 일, 즉 데비안 시스템에 깨끗한 개발 환경을 설정하기 위해 개발되었습니다.

바라보다바인드 마운트란 무엇입니까?바인드 설치에 대한 자세한 내용, 특히 "감옥에서 설치" 및 "다른 배포판 실행" 섹션을 참조하세요.

관련 정보