想象一下,我有三台 Ubuntu 计算机home
,,,。它们都安装了相同版本的 Ubuntu 10.04,并从存储库中保持最新。laptop
beach-house
我在所有计算机上都使用f-spot
、thunderbird
和。google-chrome
有没有办法让数据和配置在它们之间保持同步,而无需持续连接以进行正常(非同步)使用?
例如,它们应该可以在没有网络连接的情况下使用,因此像NFS这样的东西将无法工作。
理想的解决方案不需要手动操作来启动同步过程。
想象一下,我有三台 Ubuntu 计算机home
,,,。它们都安装了相同版本的 Ubuntu 10.04,并从存储库中保持最新。laptop
beach-house
我在所有计算机上都使用f-spot
、thunderbird
和。google-chrome
有没有办法让数据和配置在它们之间保持同步,而无需持续连接以进行正常(非同步)使用?
例如,它们应该可以在没有网络连接的情况下使用,因此像NFS这样的东西将无法工作。
理想的解决方案不需要手动操作来启动同步过程。
f-spot、thunderbird 和 google-chrome 等应用程序都使用某种形式的二进制数据库来存储它们的数据。在同一应用程序可能同时访问/修改文件的情况下尝试同步这样的事情可能会变得非常混乱。
相反,您想寻找特定于应用程序的解决方案。
对于雷鸟,我会说使用 IMAP。如果您没有,GMail 支持它。您可以让 Thunderbird 将您所有的电子邮件上传到那里,或者更好的是,让 GMail 从您的其他帐户中提取电子邮件。您还可以免费获得相当不错的网络邮件和出色的垃圾邮件过滤器。
Firefox 有(除其他外)Firefox Sync。
Chrome 有一个内置的同步功能,记录在这里。
F-Spot 更坚固。也许考虑同步文件而不是数据库的东西。这意味着您需要一直扫描新文件,但前提是您需要在每台计算机上使用 F-Spot。
您可以限制自己在一台计算机上使用 F-Spot,而只访问其他计算机上的文件。在这三个中,F-Spot 数据库是最脆弱的,因此如果您共享数据库文件,请务必小心。
要同步数据(例如文档),请使用UbuntuOne或DropBox。我真的可以推荐后者。这假设您不介意将数据存储在公司的数据中心或云中。我不确定是否要通过互联网分享您的音乐收藏。我的网络连接速度不够快,无法做到这一点,所以我会手动复制或
rsync
定期使用。对于配置,有两种不同的情况:使用常规文本文件作为配置的应用程序,以及使用 gconf、数据库或其他非标准文件的应用程序。对于前者,您可以将点文件(例如
~/.vim/
,~/.zshrc
)存储在 Dropbox(或 UbuntuOne)文件夹的子文件夹中,然后将文件符号链接回您的 $HOME 目录。这很好用。至于您提到的应用程序,似乎它们都没有使用简单的文本文件作为配置。从本质上讲,这意味着您无法有效地同步它们。原因是,如果发生冲突,您将无法解决它。此外,配置目录的某些部分,例如缓存文件,必然是系统特定的,或者不适合同步。在这些情况下,我说不要打扰同步,只需复制一次配置目录即可。但是,有一个例外:本机支持在多台计算机之间共享配置的应用程序。火狐可以做到这一点,最新版本的 Google Chrome 至少可以在您的 Google 个人资料中存储部分配置(检查您的首选项)。我不确定是否支持共享插件/扩展,但这是一项正在开发的功能。
对于谷歌浏览器启用同步将同步您的书签。在较新的版本中,它允许您同步自动填充、书签、扩展、首选项和主题。
XMarks 可以在不同计算机上的 Firefox 和 Chrome(以及其他一些)之间同步您的书签、密码和打开的标签。
F-Spot 的 DropBox。
如果网络正常,您可以使用启动脚本来同步(使用 rsync)必要的文件。因此,您可以使用 upstart 来触发脚本并将其基于网络就绪事件。
或者,也许可以使用 Ubuntu-one 来同步相关文件。
Jorge Castro 说“在较新的版本中”Chrome 会让你同步历史记录。我有最新的;我不认为这是一种选择。由于这是我所珍视的功能,请告诉我您在哪里看到此信息。
还是您的意思是“未来版本”?
您是否经常同时在所有三个系统上进行大量数据更改?如果不是,是否有任何理由登录时 rsync 和注销时另一个 rsync 不会这样做?也许不是完美的解决方案,但足够...
登录时:
注销时:
您不在的两个系统在哪里
remote1
?remote2