保持配置文件在多台电脑上同步

保持配置文件在多台电脑上同步

我有一些不同的 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

答案1

将文件置于版本控制之下。这有很多好处,包括促进保持文件同步(在一台机器上提交,在其他机器上更新)和保留更改历史记录(这样您就可以轻松地找出是什么破坏了上个月运行的程序)。

我使用 CVS 并使用 Unison 或 sexyernet 同步存储库,但那是因为我从广泛可用的分布式版本控制之前就开始这样做了。现在开始的任何人都应该使用正确的分布式版本控制工具,例如 bazaar、darcs、git、mercurial,...

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

答案2

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

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

答案3

木偶CF引擎是两个用于同步文件的好工具(以及更多......)

答案4

文件裁缝是一个针对这个问题的开源 Python 程序。基于 YAML 配置文件,它可以使用特定于设备的变量或使用文件中特定于设备的注释对文件进行少量更改。

免责声明:我遇到了同样的问题,并使用 filetailor 来解决它。

相关内容