Virtual Box를 사용하여 호스트와 게스트 간에 전체 홈 디렉토리 공유

Virtual Box를 사용하여 호스트와 게스트 간에 전체 홈 디렉토리 공유

어떤 이유에서인지 제가 일하는 곳은 Ubuntu 12.04. 최신 소프트웨어가 많이 필요해서 Ubuntu 14.04. virtual box 4.3(Oracle Edition)을 사용하여 모든 것을 성공적으로 설정했습니다 .

그 후, 나는 호스트 홈 디렉토리의 공유를 생성하고 이를 게스트의 사용자 홈 디렉토리로 사용하려고 했습니다. 그 이유 중 하나는 가상 박스가 실패하더라도 모든 것을 잃어버리고 싶지 않기 때문에 모든 파일을 실제 HD에 저장하는 것이 중요해 보입니다.

현재 디렉토리는 AutoFS를 사용하여 게스트에 마운트되어 있습니다. 게스트와 호스트의 사용자는 동일한 로그인, uid 및 기본 gid를 갖습니다.

SSH를 사용하여 게스트에서 게스트로 로그인하면 작동하는 것 같지만 그래픽 로그인에서는 작동하지 않습니다. 사용자의 연결이 즉시 끊어집니다. 호스트의 그래픽 로그인이 일부 파일을 생성하기 때문인 것 같습니다. 그래픽 로그인이 게스트에서 해당 파일을 생성하려고 시도한 후 실패합니다.

어떤 아이디어?

답변1

@Dan Cornilescu에 동의합니다. 특히 파일/폴더가 Sudo 권한으로 조작되거나 권한이 부족할 때 Linux가 변덕스러울 수 있다는 점을 고려하면 이는 좋은 생각이 아닙니다.

귀하가 제안한 내용(실제로 질문한 적이 없음에도 불구하고)이 가능하다고 확신하지만 귀하가 언급한 초기 문제에 대한 최선의 해결책은 아니라고 생각합니다. "그 이유 중 하나는 가상 상자가 실패하면 모든 것을 잃어버리고 싶지 않기 때문입니다..."

나는 이 문제를 완전히 이해합니다. 한편으로는 당신은 굉장한 (무료) 오라클이 제공하는 서비스이지만 "표준"이 아닌 서비스에 전적으로 의존하고 싶지는 않습니다. 그러나 "모든 파일을 실제 HD에 저장하는 것"보다 마음의 평화를 제공하는 여러 가지 방법으로 이 문제를 해결할 수 있습니다. 다음은 제가 다른 무엇보다도 사용하는 VirtualBox에 내장된 몇 가지 기능입니다.

~ "스냅샷." 그들은 바로 그렇게 합니다. 모든 종류의 설치 전후에 VM의 스냅샷을 생성하거나 CronTab을 사용하여 스냅샷을 예약합니다. 이렇게 하면 충돌이 발생하기 전에 항상 빠르고 쉽게 이전 버전을 로드/부팅할 수 있습니다.

~ 간단한수출 수입.VHD필요에 따라 VM(또는 )의 저는 이 방법이 스냅샷보다 (내 필요에 따라) 더 정적이기 때문에 선호합니다. VHD/VM을 백업으로 내보내는 것은 본질적으로 휴대용 컴퓨터 및/또는 대화형 백업입니다. 독자적인 방법으로 생성된 표준(휴면) 이미지가 아닙니다.

~ 직접 만들거나 Vagrant Box를 사용하세요. 더 많은 정보여기그리고여기. 귀하의 필요에 맞는 것을 찾아서 .box백업으로 사용할 수 있습니다.아직은 더 나아사용자 정의 (BASH) 스크립트 .box와 함께 기본을 사용하십시오 . .SH프로그램을 설치할 때 이 스크립트를 업데이트하고 설정을 변경하면 오류 발생 시 간단한 스크립트를 실행하고 violä! 이제 새로 설치를 시작하면 바로 시작할 수 있습니다.

답변2

일반적으로 X 서버, 창 관리자 및/또는 X 응용 프로그램이 다른(버전) 컴퓨터 간에 homedir을 공유하는 것은 좋은 생각이 아닙니다. 그 중 일부는 종종 동일한 홈 디렉터리 구성 파일을 사용하고 다른 버전이 적용될 수 있기 때문입니다. 서로. 특히 서로 다른 소프트웨어 버전을 동시에 사용하는 경우에는 더욱 그렇습니다.

일부 소프트웨어의 최신 버전이 업데이트된 후에는 이전 버전에서 더 이상 해당 파일을 사용할 수 없는 경우가 많습니다.

다른 방향에서도 발생할 수 있습니다. 일반적으로 최신 OS에서 이전 OS의 homedir을 있는 그대로 재사용하려고 할 때(최신 OS에서 새로 생성된 homedir을 가진 사용자는 정상적으로 작동하지만) - 귀하의 무능력 GUI에 로그인하는 것이 그러한 경우일 수 있습니다.

충돌하지 않는 방식으로 호스트 HD의 VM homedir을 유지하기 위한 가능한 접근 방식(OS를 업그레이드할 때 다음과 같은 내용을 사용하고 있습니다):

  • NFS를 통해 호스트 homedir을 내보내고 VM에 마운트합니다. /mnt/host_userid.
  • 만들기 말하다vm_homedirVM의 homedir로 연결하여 VM의 homedir로 사용할 내부 dir/집디렉토리:

    /home/userid -> /mnt/host_userid/vm_homedir

  • 심볼릭 링크 디렉토리/파일앱 디렉토리/구성 파일 이외의 것다음과 같이 같은 장소에 있는 두 컴퓨터에서 편리하게 액세스할 수 있습니다.

/mnt/host_userid/vm_homedir/documents -> ../documents

이렇게 하면 호스트 HD에 모든 것을 보관할 수 있지만(VM이 다운된 경우에도 액세스 가능) 각 시스템은 자체 구성 파일 복사본으로 작동합니다.

답변3

@Dan Cornilescu 제안(및 의견)에 따라 이 문제를 다음과 같이 해결했습니다.

  1. 호스트 홈 디렉터리에 대한 가상 상자 공유를 만들었습니다.host_home
  2. 선택적으로(내 경우에는 매우 중요함) 게스트가 공유 폴더에 심볼릭 링크를 생성할 수 있도록 허용했습니다(참조:여기예를 들어)
  3. 부팅 시 게스트 사용자 uid 및 gid를 사용하여 게스트에 이 공유를 마운트합니다 /mnt/host_home(참조:수락된 답변 여기예를 들어)
  4. 게스트 홈에서 공유하고 싶은 심볼릭 링크 폴더( Desktop, Downloads등에서 작동)

현재로서는 모든 것이 예상대로 작동합니다. 파일을 읽거나 쓸 때 성능이 저하될 수 있지만 괜찮습니다.

관련 정보