Verschiedene Linux-Distributionen, die denselben / home-Ordner verwenden?


58

Was ist der beste Weg, um die gleichen /homeVerzeichnisse zwischen verschiedenen Linux-Distributionen zu teilen ?

Ich meine, ich möchte beides haben, zum Beispiel Fedora und Arch, und ich möchte meine Dateien zu Hause finden, egal in welcher Linux-Distribution ich boote. Wenn ich jedoch dieselbe Partition für /homeeinbinde, kann es sein, dass ich die im /homeVerzeichnis gespeicherten Konfigurationen durcheinanderbringe .

Was kann ich also tun?


3
Ich teile meinen Home-Ordner zwischen 3 Linux-Distributionen. Hier ist ein wichtiges Problem, bei dem ich festgestellt habe, dass es wahrscheinlich unvermeidlich ist. Zwar kann argumentiert werden, dass der Zugriff auf dieselben Dateien mit verschiedenen Versionen einer Anwendung normalerweise keinen Datenverlust verursachen sollte, doch scheint es völlig selbstverständlich, dass bei jedem Start eines anderen (Haupt- oder Neben-) Programms verschiedene Caches und Suchindizes neu erstellt werden müssen. Version einer Anwendung. Es sieht so aus, als ob ich dies mit GNOME Desktop Search Index erlebe.
Alexey

Antworten:


40

Es ist sicherlich möglich, einen Home-Ordner (oder eine Partition) über verschiedene Linux-Distributionen gemeinsam zu nutzen.

Machen Sie sich aber folgende Notizen:

  • UID und GID müssen für die einzelnen Benutzer auf jeder Distribution gleich sein.
  • Wie bereits erwähnt, können unterschiedliche Konfigurationsdateien für dasselbe Programm zu unerwartetem Verhalten führen.
  • Wenn Sie alle Distributionen in demselben Boot-Ordner installieren, stellen Sie sicher, dass der Bootloader die verschiedenen Distributionen korrekt verarbeitet.

Ich habe ein funktionierendes (virtuelles) Setup:

/dev/sda (40GB)
 +-/dev/sda1   /boot (100MB, ext2)
 +-/dev/sda3   swap  (2GB)
 +-/dev/sda4   /home (20GB, ext4)
 +---/dev/sda5  /root (Ubuntu 10.04, 5GB, ext4)
 +---/dev/sda6  /root (Fedora 14, 5GB, ext4)
 +---/dev/sda7  /root (openSUSE 11.3, 5GB, ext4)
 +---/dev/sda8  /root (ArchLinux 2010.05, 5GB, ext4)

Ubuntu und Fedora führen beide Gnome 2.30 aus, openSUSE hat KDE4 und ArchLinux LXDE. Alle Distributionen haben ihre notwendigen Boot-Dateien auf einer Partition. Das Wechseln zwischen den Distributionen bietet eine dauerhafte Benutzerkonfiguration, wie beabsichtigt.

Die andere Möglichkeit wäre ein kompakter Home-Ordner (muss keine vollständige Partition sein) für jede der Distributionen, der nur die erforderlichen Konfigurationsdateien (.gnome2, .kde4, .compiz, .themes usw.) und a enthält gemeinsame Datenpartition mit den "schweren" Sachen (Dokumente, Bilder, Videos, Musik usw.). Symbolische Verknüpfungen in jedem Ausgangsordner der Distribution verweisen dann auf die freigegebene Partition.

Danach kann es nach Belieben um weitere Dinge erweitert werden.
Beispiel: Sie haben eclipseIDE auf allen Distributionen installiert und möchten, dass überall die gleichen Konfigurations- und Quelldateien verfügbar sind. Zu diesem Zweck können Sie in jedem Ausgangsordner der Distribution symbolische Links zu dem freigegebenen Ordner erstellen.

Das wäre Ubuntu:

$ ls -l /home/user
.eclipse -> /mnt/shared/.eclipse
.gnome2
Documents -> /mnt/shared/Documents
workspace -> /mnt/shared/workspace
...

Und openSUSE:

$ ls -l /home/user
.eclipse -> /mnt/shared/.eclipse
.kde4
Documents -> /mnt/shared/Documents
workspace -> /mnt/shared/workspace
...

Und so weiter..

Wenn Sie sich nicht sicher sind, ob Konfigurationsdateien gestört werden, versuchen Sie es auf die zweite, sicherere Art und Weise und finden Sie heraus, welche Home-Komponenten von den installierten Distributionen problemlos gemeinsam genutzt werden können.


1
Gute Antwort. Ich würde vorschlagen, dass Sie und alle anderen, die etwas Ähnliches ausprobieren, sich LVM ansehen.
25.

Wenn Sie das Setup mit LVM erstellen, wird es wesentlich flexibler und skalierbarer. Die Verwendung von primären / logischen Partitionen eignet sich gut für eine statische Einrichtung. Hängt vom Anwendungsfall und der verfügbaren Zeit ab, um eine Lösung zu implementieren.
wag

1
Ich benutze das leichte Zuhause und eine andere Partition für das schwere Zeug mit symbolischen Links. Funktioniert hervorragend, und Sie können einige Konfigurationen für gängige Programme wie Firefox in die gemeinsame Partition "Schweres Zeug" einfügen und die Dateien durch Symlinks ersetzen.
Fernando Briano

Ich habe vor, so etwas mit meinem Heimcomputer zu machen, da das letzte Update von Ubuntu ziemlich fehlerhaft ist. Ich habe die Situation zuerst auf einer virtuellen Partition getestet, und derselbe Ordner / home verursacht aufgrund der Berechtigungen für diese Partition viele Probleme, insbesondere bei Desktop-Managern. Ich denke, dass die Separate / Home mit Sym-Links das sind, was ich am Ende für meinen PC mache. Ich werde verwenden: CentOS, Ubuntu, Debian, openSUSE, möglicherweise Fedora, alle OS-Dateien auf LVM, eine primäre Partition für ein Haupt- / Boot- und erweiterte Partitionen für alle anderen OS- / Boot-Dateien. Da sie nicht in LVM arbeiten
CenterOrbit

11

Ich würde nicht empfehlen, Ihre /homezwischen radikal unterschiedlichen Distributionen zu teilen . Zwei Versionen desselben Programms, die dieselben Konfigurationsdateien lesen und schreiben, können zu Problemen führen, z. B. wenn die neuere Version etwas schreibt, das die ältere Version nicht versteht.

Wenn es Ihnen nichts ausmacht, dass die Pfade unterschiedlich sind, speichern Sie Ihre Dateien in der /homeeinen Distribution und hängen Sie diese / home an einem anderen Ort in der anderen Distribution ein (z. B. /home/<user>/fedora). Dann /home/<user>/foo/barkann /home/<user>/fedora/foo/barzum Beispiel über on arch darauf zugegriffen werden .

Wenn Sie möchten, dass die Pfade gleich sind, speichern Sie die meisten Ihrer Dateien auf einer dritten, unterschiedlichen Partition und hängen Sie sie in beiden Distributionen an derselben Stelle ein, z /home/<user>/stuff.


1
Ich habe ein Setup wie dieses, aber mit einem ~ / Docs / -Ordner. Hier befinden sich alle "eigenen Daten", außerhalb davon befinden sich andere Programmdaten (spezifisch für eine Maschine oder nicht). Die wichtigsten Konfigurationsdateien werden regelmäßig von ~ / nach ~ / Docs / configfiles /
kasterma am

Geben Sie jedem Benutzer lokale Informationen. Ich denke, dass es schwieriger ist, mit diesen Unterschieden umzugehen, als nur die "gemeinsamen" Ordner (Musik, Downloads, Codding, Docs, usw.) und nicht die Dotfiles oder andere ähnliche /usroder /opt. Auf diese Weise können Sie Ihre Daten aus dem Ordner sichern, den Sie täglich in all Ihren Boxen verwenden.
erm3nda

7

Sie können Symlinks verwenden

ln -s /mnt/mydisk/mydocuments /home/user4123/mydocuments

Bei jeder Distribution einmal. Jetzt hat jede Distribution ihre eigenen Konfigurationsdateien


das funktioniert bei mir!
Martin Delille

@MartinDelille Kann ich Sie nach Problemen fragen, seitdem Sie vor 1 Jahr einen Kommentar abgegeben haben ?. Immer noch glücklich, alle Dateien zu mischen? Welche Distributionen.
erm3nda

Es war für Ubuntu / ElementaryOS, aber ich benutze es nicht mehr.
Martin Delille

6

Sie können Ausgangsverzeichnisse zwischen Distributionen freigeben, auch zwischen verschiedenen Unix-Varianten. Personen mit Heimverzeichnissen, die über NFS in einem heterogenen Netzwerk gemeinsam genutzt werden, tun dies die ganze Zeit.

Es kann zu Problemen kommen, wenn Sie verschiedene Versionen einiger Programme auf verschiedenen Systemen ausführen, die dieselben Basisverzeichnisse verwenden. Schwierige Programme sind in der Regel diejenigen mit den ausgefallensten GUIs, wie z. B. Gnome. Beispielsweise aktualisiert Firefox Ihr Profil gerne auf eine neuere Version, lässt Sie dieses Profil jedoch möglicherweise in einer früheren Version nicht erneut laden.


5

Ich würde empfehlen, Symlinks für alle gängigen Konfigurationsdateien zu verwenden, die Sie von einer zur anderen vermissen. Erstellen Sie ein neues Verzeichnis an einem Ort, auf den beide Distributionen zugreifen können, und verschieben Sie die Dateien und den Symlink von dort.

Dadurch wird nicht nur genau gesteuert, was freigegeben wird, sondern es ist auch sehr einfach, Ihre Einstellungen auf andere Computer zu übertragen, sie bei Bedarf der Versionskontrolle zu unterwerfen und sie zu sichern. Es gibt sogar Tools, die Ihnen dabei helfen, wenn Sie davon ausgehen, dass Sie auf diese Weise arbeiten (siehe z. B. Heimweh).

Was das Festlegen allgemeiner Verzeichnisse für Dokumente, Videos, Musik usw. angeht, gibt es einen Standard in Form von XDG-Benutzerverzeichnissen, in denen Dinge wie Desktop, Musik, Bilder, Videos usw. konfiguriert werden ( http: // freedesktop.org/wiki/Software/xdg-user-dirs ). Die Verzeichnisse können sich außerhalb Ihres Home-Verzeichnisses befinden, oder Sie können nach Belieben einen Symlink erstellen und die Verzeichnisse so einstellen, dass sie auf die Symlinks verweisen. Ich weiß, dass Gnome damit arbeitet und nehme an, dass KDE dies auch tut.

Ich habe in der Vergangenheit versucht, dasselbe Ausgangsverzeichnis zu verwenden, und verschiedene Versionen von Anwendungen verursachten schnell Probleme.


3

Sie können den Standardordner "Dokumente" an einem anderen Speicherort oder in einer anderen Partition sowie für andere Ordner wie den Desktop-Ordner, den Download-Ordner usw. festlegen.

Jede Anwendung verwendet die Standardpfade auf eigene Weise. Das erste Mal ist also ein langer Job ...

Einige Beispiele

KDE http://docs.kde.org/stable/en/kdebase-workspace/kcontrol/paths/index.html

GNOME http://ubuntuforums.org/showthread.php?t=631711

Wenn Sie keine Anleitung zum Ändern der Standardeinstellungen für bestimmte Software finden, können Sie es hier erneut versuchen.

Dann gibt es den schwierigen, aber intelligenten Weg, nämlich unterschiedliche Distributionen auf demselben PC einzurichten, der denselben Kernel nutzt.

Ich rate Ihnen (allen) aus Neugier, sich diesen Artikel anzuschauen:

http://teddziuba.com/2011/01/multiple-concurrent-linux-distros.html

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.