web-dev-qa-db-ja.com

同じ/ homeフォルダーを共有する別のLinuxディストリビューション?

異なるLinuxディストリビューション間で同じ/homeディレクトリを共有する最良の方法は何ですか?

つまり、FedoraとArchの両方を持ちたいし、どのLinuxディストリビューションを起動しても、自宅でファイルを見つけたいと思っています。しかし、同じパーティションを/homeにマウントすると、/homeディレクトリ内に保存されている構成が台無しになる可能性があります。

じゃあどうすればいい?

61
behzad.nouri

異なるLinuxディストリビューションでホームフォルダー(またはパーティション)を共有することは確かに可能です。

ただし、次の点に注意してください。

  • UIDとGIDは、特定のユーザーの各ディストリビューションで同じである必要があります。
  • (すでに指摘したように)同じプログラムの異なる構成ファイルは、予期しない動作を引き起こす可能性があります。
  • すべてのディストリビューションを同じブートフォルダーにインストールする場合は、ブートローダーが異なるディストリビューションを正しく処理することを確認してください。

私は作業中の(仮想)セットアップを持っています:

/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とFedoraはどちらもGnome 2.30を実行しています。openSUSEにはKDE4とArchLinux LXDEがあります。すべてのディストリビューションでは、1つのパーティションに必要なブートファイルがあります。ディストリビューションを切り替えると、意図したとおりの永続的なユーザー構成が提供されます。

もう1つの可能性は、ディストリビューションごとに軽量のホームフォルダー(パーティション全体である必要はありません)で、必要な構成ファイル(.gnome2、.kde4、.compiz、.themesなど)のみを提供し、 「重い」もの(ドキュメント、画像、ビデオ、音楽など)を含む共有データパーティション。次に、各ディストリビューション独自のホームフォルダー内のシンボリックリンクが共有パーティションをポイントします。

その後、これを自由に拡張して、他のものも含めることができます。
例:Eclipse IDEがすべてのディストリビューションにインストールされており、どこでも同じ設定とソースファイルを利用できるようにしたい。各ディストリビューションのホームフォルダーにシンボリックリンクを作成できるこれを達成するために共有のものに。

これはUbuntuです。

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

そしてopenSUSE:

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

等々..

構成ファイルの干渉について確信がない場合は、2番目のより安全な方法を試して、インストールされているディストリビューション間で簡単に共有できるホームコンポーネントを見つけてください。

42
wag

根本的に異なるディストリビューション間で/homeを共有することはお勧めしません。同じプログラムの2つのバージョンが同じ設定ファイルを読み書きすると、問題が発生する可能性があります。新しいバージョンが古いバージョンが理解できない何かを書き込んだ場合。

パスが異なっていてもかまわない場合は、1つのディストリビューションの/homeにファイルを保存し、その/ homeを別のディストリビューションの別の場所(/home/<user>/Fedoraなど)にマウントします。その後、たとえば、Archの/home/<user>/foo/barを介して/home/<user>/Fedora/foo/barにアクセスできます。

パスを同じにしたい場合は、ほとんどのファイルを3番目の異なるパーティションに保存し、両方のディストリビューション内の同じ場所にマウントします。 /home/<user>/stuff

11
jmtd

シンボリックリンクを使用できます

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

各ディストリビューションで1回。各ディストリビューションには独自の設定ファイルがあります

8
kizzx2

異なるUNIXバリアント間でも、ディストリビューション間でホームディレクトリを共有できます。異種ネットワーク上のNFSを介してホームディレクトリを共有している人々は、常にそうしています。

同じホームディレクトリを共有する異なるシステム上で、異なるバージョンのプログラムを実行すると、問題が発生する可能性があります。厄介なプログラムは、通常、Gnomeなどの最も素晴らしいGUIを備えたプログラムです。たとえば、Firefoxはプロファイルを新しいバージョンに喜んでアップグレードしますが、以前のバージョンでそのプロファイルを再度ロードすることを許可しない場合があります。

私は、あなたが自分で見落としている一般的な設定ファイルすべてにシンボリックリンクを使用することをお勧めします。両方のディストリビューションにアクセスできる場所に新しいディレクトリを作成し、そこからファイルとシンボリックリンクを移動します。

これは、共有されるものを正確に制御するだけでなく、設定を他のマシンに移動し、必要に応じてそれらをバージョン管理下に置いてバックアップすることを非常に簡単にします。この方法で作業しているという前提に基づいてこれらのことを行うのに役立つツールさえあります(たとえば、ホームシックを参照)。

ドキュメント、ビデオ、音楽などの共通ディレクトリを設定する限り、XDGユーザーディレクトリの形式でこの標準があり、デスクトップ、音楽、画像、ビデオなどを構成します( http://freedesktop.org/wiki/Software/xdg-user-dirs )。ディレクトリはホームディレクトリの外に置くことも、好きなようにシンボリックリンクを作成し、dirsをシンボリックリンクを指すように設定することもできます。私はGnomeがこれらで動作することを知っており、KDEも動作すると想定しています。

以前はまったく同じホームディレクトリを使用してみましたが、アプリケーションのバージョンが異なるとすぐに問題が発生しました。

5
Edd Steel

デフォルトのドキュメントフォルダーを別の場所またはパーティションに設定し、デスクトップフォルダー、ダウンロードフォルダーなどの他のフォルダーにも同じように設定できます。

各アプリケーションには、デフォルトのパスを使用する独自の方法があるため、初めては長い仕事になります...

いくつかの例

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

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

一部のソフトウェアのデフォルトを変更する方法の説明が見つからない場合は、ここでもう一度試すことができます。

次に、難しいがインテリジェントな方法があります。それは、同じカーネルを共有する同じPCに異なるディストリビューションをセットアップすることです。

好奇心のために、この記事をご覧になることをお勧めします。

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

3
tmow

私が働いていた場合、最も古いSolarisから最新のdebianに至る多くのリモートマシンに同じ家がマウントされています...それらの多くは非標準の代替インストールディレクトリを持っています。

ここに来て、すべてのマシンの同じ場所にデフォルトのシェルがインストールされていない場合に、デフォルトのシェルを適切に設定する方法についてのヒントを得ました。しかし、実際、私はいくつか与えることができます:

私は大量の条件付き構成を使用しており、すべてがホスト名に従って名前が付けられたフォルダーに分割されています。そして、.profileと.zshrcで、$(hostname)変数を使用して、それぞれに細工された適切な設定をロードします。

これは私ができる最もきれいな方法です...

0
yota