使用 Virtual Box 在主機和訪客之間共用整個主目錄

使用 Virtual Box 在主機和訪客之間共用整個主目錄

由於某些原因,我工作的地方被困住了Ubuntu 12.04。由於我需要很多最新的軟體,我想使用帶有Ubuntu 14.04.我用virtual box 4.3(Oracle 版)成功設定了一切。

之後,我嘗試建立主機主目錄的共用並將其用作來賓使用者的主目錄。原因之一是,如果虛擬盒子出現故障,我不想丟失所有內容,因此將所有文件保存在真實的高清硬碟上似乎很重要。

目前目錄透過 AutoFS 掛載在來賓上。來賓和主機中的使用者俱有相同的登入名稱、uid 和主 gid。

當我使用 ssh 從來賓登入到來賓時,它似乎可以工作,但它不適用於圖形登入:用戶立即斷開連接。我猜這是因為主機上的圖形登入建立了一些檔案;圖形登入會嘗試在來賓上建立這些文件,然後失敗。

任何想法?

答案1

我同意@Dan Cornilescu 的觀點。這不是一個好主意,特別是考慮到當使用或缺乏 Sudo 權限操作檔案/資料夾時 Linux 會變得多麼不穩定。

儘管我確信您的建議(儘管您從未真正提出過問題)是可能的,但我認為這不是解決您提到的最初問題的最佳解決方案。 “原因之一是,如果虛擬盒子出現故障,我不想失去一切......”

我完全理解這個問題。一方面,你有一個很棒的(自由的)由 oracle 提供的服務,但您不想完全依賴非「規範」的東西。然而,有幾種方法可以解決這個問題,比「將所有文件都放在真正的硬碟上」更能讓人安心。以下是 VirtualBox 中內建的幾個功能,我首先使用它們。

~”快照他們就是這樣做的。

~ 一個簡單的出口進口.VHD根據需要配置 VM(或)。我更喜歡這種方法,因為它比快照更靜態(滿足我的需要)。將 VHD/VM 匯出作為備份本質上是便攜式電腦和/或互動式備份。而不是透過專有方法創建的標準(休眠)影像。

~ 創建自己的,或使用 Vagrant Box。更多資訊這裡這裡。您可以找到.box適合您需求的並將其用作備份,或者更好的是將基本腳本與自訂(BASH) 腳本.box結合使用。.SH在安裝程式和更改設定時更新此腳本,以便在發生故障時您只需執行一個簡單的腳本和 violä!現在就可以開始全新安裝了。

答案2

一般來說,我發現在具有不同(版本)X 伺服器、視窗管理器和/或X 應用程式的電腦之間共享homedir 不是一個好主意,因為其中一些經常使用相同的主目錄配置文件,並且不同的版本可以繼續彼此。尤其是同時使用不同版本的軟體時。

通常,在某些軟體的新版本更新檔案後,舊版本將不再能夠使用這些檔案。

它也可能發生在另一個方向,通常是當嘗試在較新的作業系統上重新使用舊作業系統中的homedir 時(而在較新的作業系統上使用新建立的homedir 的用戶運作得很好) - 你無能為力在 GUI 上登入可能就是這種情況。

以不衝突的方式將虛擬機器 homedir 保留在主機 HD 上的一種可能方法(當我升級作業系統時,我正在使用類似的方法):

  • 透過 NFS 匯出主機 homedir 並將其掛載到 VM 上,例如 /mnt/主機使用者ID
  • 創建說一個虛擬機器主目錄其中的 dir 可以透過將其連結到 VM 來用作 VM 上的 homedir/家目錄:

    /home/使用者 ID -> /mnt/host_userid/vm_homedir

  • 符號連結目錄/文件除了應用程式目錄/設定檔之外從同一位置的兩台機器方便地訪問它們,如下所示:

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

透過這種方式,您可以將所有內容保留在主機 HD 上(即使虛擬機器關閉也可以存取),但每台電腦都使用自己的設定檔副本。

答案3

根據@Dan Cornilescu的建議(和評論),我解決了這個問題,如下所示:

  1. 為主機主目錄建立一個虛擬盒子共享host_home
  2. 可選(但在我的情況下非常重要)允許來賓在共享資料夾上建立符號連結(請參閱這裡例如)
  3. 在引導時使用來賓使用者 uid 和 gid 在來賓中掛載此共用/mnt/host_home(請參閱接受的答案 這裡例如)
  4. 在賓客主頁中,我要共享的符號連結資料夾(適用於DesktopDownloads等)

目前一切都如預期進行。讀取或寫入檔案時可能會出現效能下降,但沒關係。

相關內容