跨多台机器管理 HOME 配置文件

跨多台机器管理 HOME 配置文件

有哪些解决方案可以在多台机器上管理您的 $HOME 配置文件(.profile、.gdbrc、.vimrc 等)的同步,这些机器不一定是相同的 distrib/OS(Debian、RedHat、BSD、MacOS 等),不一定是相同版本的 distribs(稳定版、旧稳定版等),甚至没有安装相同的软件包/工具?

一些文件可以在脚本本身内测试其所在的当前操作系统(即:像 .profile 这样的 shell 脚本),但许多文件不能。

其他文件(例如“.forward”)将依赖于主机名/网络。

我已经研究过使用 puppet 来执行此操作,但是 puppet 并未在所有地方安装。

我已经考虑使用 m4 的一些配置/制作脚本来根据可用的分布和包生成正确的配置文件。

虽然这是一个主观问题,但我想知道您如何解决这个问题。

答案1

dot_file在 NAS 上有一个裸 GIT 存储库,我将它克隆到我的主目录下,并将其中的所有文件符号链接到主目录中,如下所示:

.vimrc -> dot_files/.vimrc

我有每个发行版/版本的 GIT 分支,我只需要将 repo 切换到适当的分支。

获取分支的 repo 内容可以手动完成,也可以使用您提到的工具。我个人选择手动方法。一旦分支在一台机器上更新,我就会将其推送回裸仓库,然后在其他机器上将其拉出。

不过,它没有解决每个主机名/网络方面的问题。但你总是可以用不同的方法处理一些点文件。

答案2

我使用 DropBox 来实现这一点,并链接到我的主目录。我使用 DropBox 而不是 git(或任何 repo)的原因是我不想推送/拉取更改。我只需更新,.somefile它们就会自动推送到所有机器。

当然,我通常会保持脚本简单并且不进行大量特定于操作系统的配置。

相关内容