使配置文件在多台PC上保持同步


15

我有几台不同的linux机器,每台机器上都有许多配置文件(和文件夹)

例如:

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

是否有一种简单而优雅的方法来使这些文件在我的机器之间同步(一个人无法访问互联网)

另外,某些文件将需要更高级的同步过程,因为它们之间必须稍有不同……例如:

我的台式机键盘有一系列热键,而笔记本电脑几乎没有。我曾经XF86Mail在台式机上打开雷鸟,但在笔记本电脑上却打开Meta+ M

我的家庭台式机和工作台式机都是面向“多用户”的,我的笔记本电脑只适合我。因此,在笔记本电脑上,我倾向于将openbox的“ rc.xml”文件保留在,/etc/xdg/openbox/rc.xml但在台式机上~/.config/openbox/rc.xml

Answers:


10

使文件受版本控制。这有很多好处,包括促进保持文件同步(在一台计算机上提交,在另一台计算机上更新)和保持更改历史记录(以便您可以轻松找到导致上个月正常运行的程序的原因)。

我使用CVS并与Unison或Sneakernet同步存储库,但这是因为自从广泛使用的分布式版本控制出现以来,我一直在这样做。从现在开始的任何人都应该使用适当的分布式版本控制工具,例如集市,darcs,git,mercurial等。

管理需要在机器之间不同的文件总是很麻烦。如果配置语言允许使用条件,请使用它们。否则,如果存在包含机制,则使用它来将配置文件分为与机器有关的部分和共享的部分。将所有与机器相关的部件保存在单独的目录(类似~/.local/NAME/)中,该目录始终通过符号链接(每台机器上的~/.here-> )进行引用local/NAME。我有一些文件是由共享部分中的脚本根据保留在机器特定部分中的参数生成的;这排除了通过GUI配置界面间接修改这些文件的可能性。避免在中配置内容/etc,因此很难在机器之间进行同步。


git用于此目的。我的回购~/.etc我也有一个~/.usr~/.var我希望,这些目录是标准所以KDE将停止投掷下.kde所有tmp目录的/ var /配置/ etc文件。很难知道我想要的东西在我的主目录中。
xenoterracide

5

我同意版本控制的答案,但是我最近尝试的另一种方法是Dropbox。从本质上讲,它是一个版本控制系统,可以在所有计算机之间自动同步,因此,如果您在一台计算机上编辑文件,您将在几秒钟内看到其他计算机上反映的更改,而无需在前一台计算机上进行提交和更新。后者。

他们的免费基本计划是2GB,所以我用它来对我的配置文件和聊天日志进行版本控制


我在这里看到的主要好处是安装起来容易得多。
Ashesh Kumar Singh


1

如今,人们可以得到最好的第一(DVCS)和第二(Dropbox的)响应与sparkleshare,它提供了与幕后基于Git的存储Dropbox的类似的用户体验。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.