私はいくつかの異なるLinuxシステムと多くのシステムを持っています。構成文書(およびフォルダ)各。
たとえば、
~/.ssh/config
~/.config/openbox/rc.xml
~/.config/openbox/autostart.sh
~/.scripts/ ( folder )
~/.bashrc
...etc
私のコンピュータ間でこれらのファイルを同期する簡単でエレガントな方法はありますか?(インターネット接続不可)?
また、一部のファイルは若干異なるため、高度な同期処理が必要です。たとえば、次のようになります。
私のデスクトップキーボードには複数のショートカットがありますが、ノートブックにはショートカットがほとんどありません。私はデスクトップでThunderbirdを開くのに慣れていますが、+ラップXF86Mail
トップでは。MetaM
私の家と職場のデスクトップは両方とも「マルチユーザー」志向ですが、私のラップトップは私に適しています。だから私のラップトップはopenboxの "rc.xml"ファイルを保持する傾向がありますが、/etc/xdg/openbox/rc.xml
デスクトップにはあります。~/.config/openbox/rc.xml
答え1
ファイルをバージョン管理下に置きます。これは、ファイル同期を維持する(あるシステムでコミット、別のシステムで更新)、変更履歴を保持する(先月実行されたプログラムが中断された原因を簡単に特定できる)など、多くの利点を提供します。
私はCVSを使用してUnisonまたはsexyernetを使用してリポジトリを同期しますが、これは分散バージョン管理が広く使用される前にこの作業を開始したためです。今始める人は誰でも正しい方法を使うべきです。分散バージョン管理Bazaar、darcs、git、mercurialなどのツール...
システムごとに異なるファイルを管理することは常に少し苦痛です。構成言語が条件を受け入れる場合は、その条件を使用してください。そうでなく、インクルードメカニズムを使用できる場合は、それを使用して構成ファイルをシステム依存部分と共有部分に分割します。すべての機械関連部品を別々のディレクトリ(たとえば)に保管してください。このディレクトリは常に~/.local/NAME/
シンボリックリンク(各マシンの->)を介して~/.here
参照されます。local/NAME
システム固有のセクションに保存されているパラメータに基づいて、共有セクションのスクリプトによって生成されたいくつかのファイルがあります。これにより、GUI 構成インターフェイスを介してこれらのファイルを間接的に変更することを防ぎます。で設定しないでください/etc
。システム間の同期がより困難になります。
答え2
私は同意するバージョン管理の回答しかし、最近試したもう一つのアプローチはドロップボックス。これは本質的にすべてのコンピュータ間で自動的に同期するバージョン管理システムであるため、あるコンピュータでファイルを編集すると、他のコンピュータにコミットし、別のコンピュータから更新することなく、数秒以内に他のコンピュータに変更が反映されることがわかります。 。
彼らの無料基本計画2GBなので、設定ファイルとチャットログのバージョンを指定するために使用します。
答え3
答え4
ファイルテーラーこの問題を解決するオープンソースのPythonプログラムです。 YAML構成ファイルに基づいてデバイス固有の変数を使用するか、ファイル内のデバイス固有のコメントを使用してファイルを少し変更できます。
免責事項:私も同じ問題があり、filetailorを使用して問題を解決しました。