複数のPC間で設定ファイルを同期する


15

私はいくつかの異なるLinuxマシンとのたくさん持っている設定ファイル(およびフォルダ)毎にします。

例えば:

~/.ssh/config
~/.config/openbox/rc.xml
~/.config/openbox/autostart.sh
~/.scripts/ ( folder )
~/.bashrc
...etc

私のマシン間でこれらのファイルの同期を維持するシンプルでエレガントな方法はありますか(1つはインターネットにアクセスできません)

また、一部のファイルはわずかに異なる必要があるため、より高度な同期プロセスが必要になります...

私のデスクトップキーボードにはさまざまなホットキーがあり、ラップトップにはほとんど何もありません。私XF86MailはデスクトップでThunderbirdを開くのに使用していますが、ラップトップではMeta+ Mです。

私のホームデスクトップと仕事用デスクトップはどちらも「マルチユーザー」指向であり、私のラップトップは私だけのものです。だから私のラップトップでは、openboxの「rc.xml」ファイルを/etc/xdg/openbox/rc.xml、デスクトップの~/.config/openbox/rc.xml

回答:


10

ファイルをバージョン管理下に置いてください。これには、ファイルの同期(1台のマシンでのコミット、他のマシンでの更新)の促進、および変更の履歴の保持(先月動作していたプログラムの不具合を簡単に見つけることができる)など、複数の利点があります。

私はCVSを使用し、リポジトリをUnisonまたはsneakernetと同期しますが、それは広く利用可能な分散バージョン管理の前からこれを行ってきたためです。これから始める人は、bazaar、darcs、git、mercurialなどの適切な分散バージョン管理ツールを使用する必要があります。

マシン間で異なる必要があるファイルを管理することは、常に少し面倒です。構成言語で条件が許可されている場合は、それらを使用します。それ以外の場合、インクルードメカニズムがあれば、それを使用して、構成ファイルをマシン依存部分と共有部分に分割します。マシンに依存する部分はすべて、~/.local/NAME/常にシンボリックリンク(各マシンで~/.here-> )を介して参照される個別のディレクトリ(など)に保存しlocal/NAMEます。マシン固有の部分に保持されているパラメーターから、共有部分のスクリプトによって生成されるいくつかのファイルがあります。これにより、GUI構成インターフェースを介してこれらのファイルを間接的に変更できなくなります。で設定を行わないでください/etc。マシン間で同期するのは困難です。


gitこの目的で使用します。私のレポはのために~/.etc私はまた、持っている~/.usr~/.varKDEが.kdeの下にあるすべてのtmpには/ var / configに/ etcファイルを投げて停止するように、これらのディレクトリが標準だったことを私の願いを。自分のホームディレクトリのどこが欲しいかを知るのは難しい。
xenoterracide

5

バージョン管理の答えには同意しますが、私が最近試した別の方法はDropboxです。それは本質的にすべてのマシン間で自動的に同期するバージョン管理システムであるため、1台のコンピューターでファイルを編集すると、数秒で他のコンピューターに変更が反映されます。後者。

無料の基本プランは2GBなので、構成ファイルとチャットログのバージョン管理に使用します


ここで見る主な利点は、セットアップがはるかに簡単なことです。
アシュシュクマールシン

3

PuppetCfengineは、ファイルを同期するための2つの優れたツールです(その他にもたくさんあります)。


シェフもいますが、これらのツールは実際には多数のマシンを管理するためのもので、おそらく2つまたは3つのシステムでは過剰です
-xenoterracide

1

今日、sparkleshareを使用して最初の(dvcs)および2番目の(dropbox)応答のベストを得ることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.