Teilen Sie mit Virtual Box das gesamte Home-Verzeichnis zwischen Host und Gast

Teilen Sie mit Virtual Box das gesamte Home-Verzeichnis zwischen Host und Gast

Aus irgendeinem Grund ist mein Arbeitsplatz auf eingestellt Ubuntu 12.04. Da ich viel aktuelle Software benötige, wollte ich eine VM mit verwenden Ubuntu 14.04. Ich habe alles erfolgreich mit virtual box 4.3(der Oracle Edition) eingerichtet.

Danach habe ich versucht, eine Freigabe meines Host-Home-Verzeichnisses zu erstellen und dieses als Home-Verzeichnis für den Benutzer auf dem Gast zu verwenden. Einer der Gründe dafür ist, dass ich nicht alles verlieren möchte, wenn die virtuelle Box ausfällt. Daher scheint es mir wichtig, alle Dateien auf der echten Festplatte zu haben.

Derzeit ist das Verzeichnis mit AutoFS auf dem Gast gemountet. Die Benutzer auf dem Gast und dem Host haben denselben Login, dieselbe UID und dieselbe Haupt-GID.

Es scheint zu funktionieren, wenn ich mich per SSH vom Gast aus beim Gast anmelde, aber mit der grafischen Anmeldung funktioniert es nicht: Die Verbindung des Benutzers wird sofort getrennt. Ich vermute, das liegt daran, dass die grafische Anmeldung auf dem Host einige Dateien erstellt; die grafische Anmeldung versucht, diese Dateien auf dem Gast zu erstellen, und schlägt dann fehl.

Irgendeine Idee?

Antwort1

Ich stimme @Dan Cornilescu zu. Das ist keine gute Idee, insbesondere wenn man bedenkt, wie launisch Linux sein kann, wenn Dateien/Ordner mit Sudo-Berechtigungen oder ohne diese manipuliert werden.

Obwohl ich sicher bin, dass das, was Sie vorschlagen (trotz der Tatsache, dass Sie nie wirklich eine Frage gestellt haben), möglich ist, glaube ich nicht, dass es die beste Lösung für das ursprüngliche Problem ist, das Sie erwähnt haben. „Einer der Gründe ist, dass ich nicht alles verlieren möchte, wenn die virtuelle Box ausfällt …“

Ich verstehe dieses Problem vollkommen. Einerseits haben Sie ein tolles (frei) Service von Oracle, aber Sie möchten sich nicht komplett auf etwas verlassen, das nicht der „Norm“ entspricht. Es gibt jedoch mehrere Möglichkeiten, dieses Problem zu umgehen, die Ihnen mehr Sicherheit bieten, als „alle Dateien auf der echten Festplatte zu haben“. Hier sind ein paar in VirtualBox integrierte Funktionen, die ich vor allen anderen verwende.

~ "Schnappschüsse." Genau das tun sie. Erstellen Sie vor/nach einer Installation jeglicher Art einen Snapshot der VM oder planen Sie einen Snapshot mit CronTab. Auf diese Weise haben Sie immer eine schnelle und einfache Möglichkeit, vor einem Absturz eine frühere Version zu laden/zu booten.

~ Eine einfacheExport Importder VM (oder .VHD) nach Bedarf. Ich bevorzuge diese Methode, weil sie (für meine Zwecke) statischer ist als Snapshots. Ein VHD/VM-Export als Backup ist im Wesentlichen ein tragbarer Computer und/oder ein interaktives Backup. Anstelle eines standardmäßigen (ruhenden) Images, das mit einer proprietären Methode erstellt wurde.

~ Erstellen Sie Ihre eigene oder verwenden Sie eine Vagrant Box. Weitere InformationenHierUndHier. Sie können entweder eine finden, .boxdie Ihren Anforderungen entspricht und diese als Backup verwenden oderbesser nochVerwenden Sie ein einfaches Skript .boxzusammen mit einem benutzerdefinierten .SH(BASH) Skript. Aktualisieren Sie dieses Skript, wenn Sie Programme installieren und Einstellungen ändern, sodass Sie im Fehlerfall einfach ein einfaches Skript ausführen und fertig! Sie können gleich nach der Neuinstallation loslegen.

Antwort2

Generell finde ich, dass es keine gute Idee ist, Ihr Home-Verzeichnis zwischen Maschinen mit unterschiedlichen (Versionen von) X-Server, Fenstermanager und/oder X-Anwendungen zu teilen, da einige von ihnen oft die gleichen Home-Verzeichnis-Konfigurationsdateien verwenden und unterschiedliche Versionen sich gegenseitig beeinträchtigen können. Insbesondere, wenn die unterschiedlichen Softwareversionen gleichzeitig verwendet werden.

Nach einer neueren Version mancher Software-Updates können die älteren Versionen diese Dateien häufig nicht mehr verwenden.

Dies kann auch in die andere Richtung passieren, typischerweise beim Versuch, ein Homedir von einem älteren Betriebssystem unverändert auf einem neueren Betriebssystem wiederzuverwenden (während ein Benutzer mit einem neu erstellten Homedir auf dem neueren Betriebssystem problemlos funktioniert) – Ihre Unfähigkeit, sich über die GUI anzumelden, könnte ein solcher Fall sein.

Ein möglicher Ansatz, um das VM-Homedir konfliktfrei auf der Host-Festplatte zu behalten (ich verwende so etwas, wenn ich mein Betriebssystem aktualisiere):

  • Exportieren Sie das Host-Homedir über NFS und mounten Sie es auf der VM, beispielsweise in /mnt/Host-Benutzer-ID.
  • erstellen sagen einvm_homedirdir darin, das Sie als Homedir auf der VM verwenden, indem Sie es in das VM-Verzeichnis einbinden/heimdir:

    /home/Benutzer-ID -> /mnt/Host_Benutzer-ID/vm_Homedir

  • Symlink-Verzeichnisse/Dateienaußer App-Verzeichnissen/Konfigurationsdateienum bequem von beiden Maschinen am selben Ort darauf zuzugreifen, wie folgt:

/mnt/Host-Benutzer-ID/vm_Homedir/Dokumente -> ../Dokumente

Auf diese Weise behalten Sie alles auf der Host-Festplatte (zugänglich, auch wenn die VM ausgefallen ist), aber jede Maschine arbeitet mit ihrer eigenen Kopie der Konfigurationsdateien.

Antwort3

Ich habe das Problem gemäß den Vorschlägen (und Kommentaren) von @Dan Cornilescu wie folgt gelöst:

  1. Eine virtuelle Box-Freigabe für das Host-Home-Verzeichnis erstellen, sagen wirhost_home
  2. Optional (aber in meinem Fall sehr wichtig) erlaubte es dem Gast, Symlinks auf freigegebene Ordner zu erstellen (sieheHierzum Beispiel)
  3. Mounten Sie diese Freigabe beim Booten im Gast mit der Benutzer-UID und GID des Gastbenutzers, sagen wir mal /mnt/host_home(sieheakzeptierte Antwort Hierzum Beispiel)
  4. Erstellen Sie im Gast-Homepage symbolische Links zu Ordnern, die ich freigeben möchte (funktioniert für Desktop, Downloads, usw.).

Im Moment funktioniert alles wie erwartet. Beim Lesen oder Schreiben von Dateien kann es zu Leistungseinbußen kommen, aber das ist in Ordnung.

verwandte Informationen