web-dev-qa-db-ja.com

FreeBSDとLinuxの共有パーティション

FreeBSDとLinuxの間でどのディレクトリをどのように共有できますか?特に、/ usr/homeと/ homeをそれぞれ重複排除するにはどうすればよいですか?両方のシステム間でパーティションを直接共有すると、ドットファイルの競合が発生する可能性があるため、適切な解決策ではない可能性があります。共有パーティションのユニオンマウントは合理的ですか?このようにして、ドットファイルを各OSの「/」パーティションに移動し、残りのファイルを共有パーティションに共有することができます。

共有ホームパーティション自体にどのファイルシステムを使用する必要がありますか?私は2GB未満を持っていますRAMなので、私が読んだことから、ZFSは動作しないと思います。多分ext2は動作しますか?もっと良いオプションはありますか?編集:UFSへの書き込みカーネルサポートですLinuxではすでに安定していますか?

  • LinuxディストリビューションはLMDEです。
  • 実際にはPC-BSDを使用していますが、私が読んだ限りでは、これについてはFreeBSDと同じように動作するはずです。私が間違っている場合は私を訂正してください。
  • パーティションは次のようになります。
 OSマウントポイントFSサイズ(GiB;合計:〜160GB)
 Linux/ext4 16 
 FreeBSD/ufs 16 
共有/ mnt/home/ext2?〜124#編集済み:以下を参照
共有-スワップ4 

他に作成する必要のあるパーティションはありますか?これは「永続的な」サーバーのないワークステーションですが、FreeBSDではjailをいじくり回すかもしれません。多分私はそれらのためのパーティションを持っている必要がありますか?

免責事項:私はこれまでユニオンファイルシステムを実際に使用したことがなく、一般的にBSDを初めて使用します。より良い解決策を自由に提案してください:)

編集:各ルートパーティションに「ドットファイル」ツリーを追加し、それをユニオンマウントするのはどうですか?

 FreeBSDのマウントポイント:
/
/mnt/home/
/usr/home /:/ usr/dotfiles/U/mnt/home /#/ usr/dotfiles /の優先度
 
内容の例:
/usr/dotfiles/fchurca /:.cache .kderc 
/mnt/home/fchurca /:。 vimrc development/Documents /#.vimrcはプラットフォーム固有ではありません
/usr/home/fchurca:.cache .kderc .vimrc development/Documents /

このようにして、ボックスのすべての(最大2人の)ユーザーに対して機能する可能性があります。

7
fchurca

のみdataパーティションを共有する必要があります。プログラムパーティションを共有しないでください。

/homeは問題ありませんが、bin、devなど、usr、var、opt、およびホーム以外のほとんどすべてを避けてください。

ファイルシステムに関しては、両方のカーネルがドライバーを持っているものでなければなりません。 BSDのextサポートがどれほど優れているかはわかりませんが、LinuxのUFSサポートは十分に優れているため、おそらくUFSまたはMSDOSを使い続けたいと思うでしょう。両方がスワップ用に同じパーティションタイプを認識している限り、スワップパーティションを共有できます(これは認識していると思いますが、確かではありません)。

また、オペレーティングシステム間でパーティションを共有している場合は、一方をVM)で実行しようとするようなことは何もしません。オペレーティングシステムはファイルシステムを排他的に制御する必要があります。2つの異なる実行中のオペレーティング両方がパーティションを排他的に制御しているシステムは、非常に高速に破損します。

7
bahamat

/homeパーティションを共有することをお勧めしますnot。問題は、多くのアプリケーションが構成とデータを各ユーザーのホームディレクトリの隠しファイルとディレクトリに保存することです。リスクは非常に高く、両方の環境(gnome、kde、gtk、firefox、Thunderbird、VirtualBox、wineなど)でこれらのアプリケーションのまったく同じバージョンを使用しないでください。その場合、上向き、下向き、またはアーキテクチャ上の非互換性により、これらのファイルが台無しになり、これらのアプリケーションが不安定になったり、最悪の場合、データが失われたりする可能性があります。

確認したところ、ホームディレクトリにこれらのファイル/ディレクトリが100を超えています。

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

たとえば/export/sharedにマウントされた専用の共有パーティションを作成し、互換性があることが確認できたら、リンクを使用して特定のファイルやディレクトリを共有することをお勧めします。いずれかの側でこれらのアプリケーションをアップグレードする前に、必ずバックアップしてください。


DocumentsDownloadImagesMusicPublic、および$HOMEの下にある同様の標準またはカスタムディレクトリを共有できます。 。 Desktopは危険です。 ZFSを使用すると、これらのディレクトリを独自のファイルシステムに保存し、独自のマウントポイントを使用できます。 FreeBSD用とLinux用の2つのホームディレクトリを独自のファイルシステムに配置し、共有サブディレクトリ(ファイルシステム)ループバックを両方のホームディレクトリにマウントすることは確かに実行可能です。 Linuxでは-bindマウントになり、BSDではnullfsマウントになります。問題の1つは、あるOSから別のOSに切り替えたときに、ZFSmoolが自動的にインポートされない可能性があることです。回避策として私が行うことは、両側に同じhostidを設定することです。

7
jlliagre

私は4つのOSをマルチブートしているラップトップを持っています。

LinuxとBSDシステムのホームディレクトリで同じようなことをすることを考えていました。私はzfsを見ましたが、バージョンの互換性にいくつかの問題があります(そして、私は3ギガのRAMしかないので、おそらくそれがそれを後押ししています)。また、LinuxでのUFSのサポートは限られていると思うので、ext2に傾倒しています。

/home/srobert/.configディレクトリ(および同様のドットファイル)の場合、ログイン時に実行されるスクリプトを使用できると考えていました。おそらく.xinitrcから、.config-freebsdを.config OR unameの出力に応じて、.config-linuxを.configにリンクします。私はこれを(まだ)試していませんが、それは理論です。

偉大なヨギを引用すると:理論的には理論と実践は同じです。実際にはそうではありません。

3
srobert