複数のオペレーティング システム間でホームを共有できますか?

複数のオペレーティング システム間でホームを共有できますか?

同じハードディスク上に、複数のオペレーティング システムで共有される単一のホーム パーティション (EXT4 など) を配置することは可能ですか?

私がやりたいのは、Linux、HURD、DragonFlyBSD を同じシステムにインストールして、単一のホームを持つことです。

競合する設定ファイルの問題を解決するには、次の方法が有効です。

/home/
      user1/
      user1_linux/
      user1_hurd/
      user1_dfbsd/

user1、すべての「通常の」ファイルが格納される疑似ユーザー ディレクトリであり、その他は、構成ファイルと OS 固有のファイルが配置される実際の OS 固有のユーザー ディレクトリです。

user1/次に、各 OS に、専用のユーザー ディレクトリへのアクセス権のみを持たせます。

答え1

これは確かに可能です。/homeを別のパーティションに配置し、各オペレーティングシステムでマウントします。ただし、これは大きな問題を引き起こすことはほぼ確実である

私は、8年間にわたって役に立ってきた代替ソリューションを提案したいと思います。それは、バージョン管理されたリポジトリ異なるプラットフォームや、わずかに異なるバージョンのアプリケーションで使用しても壊れないことが十分に保証できる、最小限のユーティリティと構成ファイルのセット:

  • 構成多くの用途に使用できます。
  • .gitignore ファイルバージョン管理に意味がないファイルとディレクトリ (ログなど)、秘密が含まれているファイルとディレクトリ (ライセンス ファイルなど)、または適切にバージョン管理するのが非常に難しいファイルとディレクトリ (ウィンドウ サイズなどのランタイム情報を 1 行の JSON/XML で構成ファイルに混在させているファイルとディレクトリなど) を一覧表示します。
  • doc/ ファイルには、設定以外のめったに必要のない事項を思い出すためのものがあります。
  • コードの例。
  • .bashrcで作業するために、基本システムに patches/ を追加しますset -o errexit。これは、何らかの問題が発生した場合に早期に終了することで、.bashrc が正常であることを確認するための実験でした。これを行うことは可能ですが、サードパーティのコードによっていくつかの機能が壊れました。
  • shell-includes/ は にのみ使用されscripts/arch_linux_system_upgrade.sh、これが私が Arch Linux を更新する方法として好んでいる方法です。
  • make-includes/はMakefileにいくつかのユーティリティターゲットを追加します
  • Makefileは、
    • バージョン管理を容易にするために構成をクリーンアップします。
    • リポジトリの内容に対していくつかの簡単なテストを実行します。
    • 前後にコピーする必要がないように、ホーム ディレクトリ内のドットファイルへのシンボリック リンクを作成します。
    • ユーザー サービス pulseaudio および redshift を開始します。

関連情報