Gemeinsame Partitionen für FreeBSD und Linux

7

Welche Verzeichnisse und wie kann ich zwischen FreeBSD und Linux teilen? Wie kann ich insbesondere / usr / home bzw. / home deduplizieren? Ich denke, die direkte gemeinsame Nutzung einer Partition zwischen beiden Systemen kann zu widersprüchlichen Punktedateien führen, sodass dies möglicherweise nicht die richtige Lösung ist. Ist das Union-Mounting der gemeinsam genutzten Partition sinnvoll? Auf diese Weise konnte ich die Punktedateien in die "/" -Partition jedes Betriebssystems verschieben und den Rest der Dateien in der freigegebenen Partition freigeben.

Welches Dateisystem soll ich für die gemeinsam genutzte Home-Partition selbst verwenden? Ich habe weniger als 2 GB RAM, daher glaube ich nicht, dass sich ZFS nach dem, was ich gelesen habe, verhalten wird. Vielleicht reicht ext2? Irgendwelche besseren Optionen? BEARBEITEN: Ist die Unterstützung des Write-to-UFS-Kernels unter Linux bereits stabil?

  • Linux Distribution ist LMDE.
  • Eigentlich mit PC-BSD, aber soweit ich gelesen habe, sollte es sich dafür genauso wie FreeBSD verhalten. Korrigiere mich, wenn ich falsch liege.
  • Partitionen wären:
OS Mountpoint FS-Größe (GiB; Gesamt: ~ 160 GB)
Linux / ext4 16
FreeBSD / ufs 16
Shared / mnt / home / ext2? ~ 124 # BEARBEITET: Siehe unten
Shared - Swap 4

Irgendwelche anderen Partitionen, die ich machen sollte? Es ist eine Workstation ohne "persistente" Server, aber ich kann mit Gefängnissen in FreeBSD herumalbern. Vielleicht sollte ich eine Partition für diese haben?

Haftungsausschluss: Ich habe noch nie zuvor Union-Dateisysteme verwendet und bin generell neu bei BSD. Fühlen Sie sich frei, bessere Lösungen vorzuschlagen :)

BEARBEITEN: Wie wäre es, wenn Sie in jede Root-Partition einen "Dotfiles" -Baum einfügen und ihn in eine Union einbinden?

Mount-Punkte in FreeBSD:
/.
/ mnt / home /
/ usr / home /: / usr / dotfiles / U / mnt / home / # / usr / dotfiles / hat Priorität

Beispielinhalt:
/ usr / dotfiles / fchurca /: .cache .kderc
/ mnt / home / fchurca /: .vimrc development / Documents / # .vimrc ist nicht plattformspezifisch
/ usr / home / fchurca: .cache .kderc .vimrc development / Documents /

Auf diese Weise könnte es für alle (höchstens zwei) Benutzer der Box funktionieren.

fchurca
quelle
Technisch gesehen /usrhandelt es sich um schreibgeschützte Daten, die von Hosts gemeinsam genutzt werden können. Ich würde jedoch nicht empfehlen, sie für zwei völlig unterschiedliche Betriebssysteme freizugeben. Die Verwendung /homein beiden sollte in Ordnung sein, solange Ihre Anwendersoftware ähnliche Versionen aufweist. Wenn Sie nur "mit Gefängnissen herumspielen" möchten, verwenden Sie eine VM.
Jordanm
Mit dem Herumspielen mit Gefängnissen meinte ich, dass ich nicht nur meine "übliche Arbeit" * in BSD anfangen möchte, sondern auch Gefängnisse mitnehmen möchte. Soll ich eine Partition für die Gefängnisse erstellen? *: Webdev und Datenbank; beide werden auf einer anderen Box gehostet, daher verwende ich meistens Editoren, Clients und Netzwerk-Mounts in dieser)
fchurca

Antworten:

7

Sie sollten nur teilen Datenpartitionen. Teilen Sie keine Programmpartitionen.

/home ist in Ordnung, aber vermeiden Sie bin, dev usw., usr, var, opt und so ziemlich alles andere als zu Hause.

Das Dateisystem muss etwas sein, für das beide Kernel Treiber haben. Ich bin mir nicht sicher, wie gut die ext-Unterstützung von BSD ist, aber die UFS-Unterstützung von Linux ist gut genug, was bedeutet, dass Sie wahrscheinlich bei UFS oder MSDOS bleiben möchten. Die Swap-Partition kann gemeinsam genutzt werden, solange beide denselben Partitionstyp für den Swap erkennen (was ich glaube, aber nicht sicher bin).

Und wenn Sie Partitionen zwischen Betriebssystemen gemeinsam nutzen, versuchen Sie nicht, eine Partition in einer VM von der anderen aus auszuführen. Betriebssysteme müssen die ausschließliche Kontrolle über Dateisysteme haben. Zwei verschiedene Betriebssysteme, die beide die ausschließliche Kontrolle über eine Partition haben, führen sehr schnell zu Beschädigungen.

Bahamat
quelle
1
Nach dem, was ich gelesen habe, funktioniert ext2 in FreeBSD. ext4 nicht und ext3 muss als ext2 gemountet werden. ¿Wie gut ist die UFS-Unterstützung? Soweit ich weiß, erfordert die Schreibunterstützung eine Neukompilierung des Kernels, um ihn explizit zu aktivieren, da er nicht als stabil angesehen wird. Andererseits können sich die Dinge geändert haben. Wenn ja, welche Kernel-Version bietet stabile Write-to-UFS-Unterstützung? Außerdem sind beide Installationen physisch, so dass die gleichzeitige Montage kein Problem darstellt :)
fchurca
7

Ich würde empfehlen , die Partition nicht zu teilen /home. Das Problem ist, dass viele Anwendungen ihre Konfiguration und Daten in versteckten Dateien und Verzeichnissen in jedem Benutzer-Ausgangsverzeichnis speichern. Das Risiko ist sehr hoch. Sie verwenden nicht dieselbe Version dieser Anwendungen in beiden Umgebungen (z. B. Gnom, KDE, GTK, Firefox, Thunderbird, VirtualBox, Wein und dergleichen). Wenn dies der Fall ist, können Aufwärts-, Abwärts- oder Architekturinkompatibilitäten diese Dateien durcheinander bringen und diese Anwendungen instabil machen oder im schlimmsten Fall Daten verlieren.

Ich habe gerade nachgesehen und ich habe mehr als hundert dieser Dateien / Verzeichnisse in meinem Home-Verzeichnis.

$ ls -d ~/.??* | wc -l
119

Ich würde vorschlagen, eine dedizierte freigegebene Partition zu erstellen, die beispielsweise in gemountet ist /export/shared, und möglicherweise Links zu verwenden, um bestimmte Dateien und Verzeichnisse freizugeben, sobald Sie sicher sind, dass sie kompatibel sind. Stellen Sie sicher, dass Sie sie sichern, bevor Sie diese Anwendungen auf beiden Seiten aktualisieren.


Nachdem Sie Ihren Kommentar, den ich zuvor verpasst habe, zu spät gelesen haben, finden Sie hier einige zusätzliche Informationen, um Ihre Frage besser beantworten zu können:

Sie könnten den Anteil Documents, Download, Images, Music, Publicund ähnliche Standard- oder kundenspezifischen Verzeichnisse , die unter Ihrem befinden $HOME. Desktopwäre riskant. Mit ZFS können diese Verzeichnisse in eigenen Dateisystemen und mit eigenen Einhängepunkten gespeichert werden. Es ist sicherlich möglich, zwei Home-Verzeichnisse in ihren eigenen Dateisystemen zu haben, eines für FreeBSD und eines für Linux, und das Loopback für gemeinsam genutzte Unterverzeichnisse (Dateisysteme) in beiden Home-Verzeichnissen zu mounten. Unter Linux wäre das ein -bindMount und unter BSD ein nullfsOne. Möglicherweise haben Sie das Problem, dass der ZFS-Mool möglicherweise nicht automatisch importiert wird, wenn Sie von einem Betriebssystem zum anderen wechseln. Was ich tue, um das Problem zu umgehen, ist, dass es hostidauf beiden Seiten gleich ist.

jlliagre
quelle
1
Das Problem ist genau, wie man teilt / nach Hause, ohne dass die Punktedateien in Konflikt stehen :)
fchurca
3

Ich habe einen Laptop, auf dem ich vier Betriebssysteme mehrfach boote.

Ich habe überlegt, etwas Ähnliches mit dem Home-Verzeichnis für Linux- und BSD-Systeme zu machen. Ich habe mir zfs angesehen, aber es gibt einige Probleme mit der Versionskompatibilität (und ich habe nur 3 Gigs Ram, also drängt das vielleicht). Ich denke auch, dass die Linux-Unterstützung für UFS begrenzt ist, daher neige ich zu ext2.

Ich dachte vielleicht, dass ich für das Verzeichnis /home/srobert/.config (und ähnliche Punktedateien) ein Skript verwenden könnte, das bei der Anmeldung ausgeführt wird, möglicherweise von .xinitrc, das entweder .config-freebsd mit .config ODER verknüpft. config-linux zu .config, abhängig von der Ausgabe von uname. Ich habe das (noch) nicht ausprobiert, aber es ist eine Theorie.

Um den großen Yogi zu zitieren: In Theorie, Theorie und Praxis sind sie gleich. In der Praxis ist das nicht der Fall.

srobert
quelle