保持点文件在机器之间同步?

时间:2008-10-04 02:15:42

标签: unix configuration-files

与大多数* nix人一样,我倾向于使用我的工具并按照我喜欢的方式配置它们。直到最近,这一切都很顺利。随着我做越来越多的工作,我倾向于登录越来越多的机器,并且越来越多的东西在我的家用机器上配置得很好,但不一定在我的工作机器,我的网络服务器或我的任何工作上服务器...

如何更新这些配置文件?你只是手动复制它们吗?你把它们存放在公共场所吗?

19 个答案:

答案 0 :(得分:17)

我很幸运将我的文件保存在修订控制系统下。它不适合所有人,但大多数程序员应该能够欣赏它的好处。 阅读

  

Keeping Your Life in Subversion

有一个很好的描述,包括如何在多台机器上处理非dotfile配置(如通过svnfix script的cron作业)。

答案 1 :(得分:8)

我也使用subversion来管理我的dotfiles。当我登录到一个盒子时,我的confs会自动更新。我还使用github公开存储my confs。我使用git-svn来保持两者同步。

在新服务器上启动和运行只需运行一些命令即可。 create_links脚本只是将.dotfiles文件夹项目中的符号链接创建到我的$HOME中,并触摸一些不需要签入的文件。

$ cd

# checkout the files
$ svn co https://path/to/my/dotfiles/trunk .dotfiles

# remove any files that might be in the way
$ .dotfiles/create_links.sh unlink

# create the symlinks and other random tasks needed for setup
$ .dotfiles/create_links.sh

答案 2 :(得分:7)

似乎我现在看到的所有地方都发现了一个新的东西让我说“嘿,用DropBox作为一个好东西”

答案 3 :(得分:6)

Rsync是您最好的解决方案。例子可以在这里找到:

http://troy.jdmz.net/rsync/index.html

答案 4 :(得分:6)

我为此使用git。

有专门针对该主题的维基/邮件列表。

vcs-home

答案 5 :(得分:5)

我绝对会推荐homesick。它使用git并自动符号链接你的文件。 homesick track跟踪新的dotfile,而homesick symlink将新的dotfiles从存储库符号链接到您的homefolder。这样,您甚至可以拥有多个存储库。

答案 6 :(得分:3)

您可以使用rsync。它通过ssh工作,我发现它很有用,因为我只设置了具有ssh访问权限的新服务器。

或者,创建一个tar文件,随处移动并解压缩。

答案 7 :(得分:2)

我将它们存储在我的版本控制系统中。

答案 8 :(得分:2)

我使用svn ...有一个公共和一个私人存储库......所以当我上了服务器时我就

svn co http://my.rep/home/public

并拥有我的所有点文件......

答案 9 :(得分:2)

我将我存储在git存储库中,这使我可以轻松地合并超出系统相关的更改,但也可以共享我想要的更改。

答案 10 :(得分:1)

我在主机上保持CM控制下的主文件版本,并且我需要安排复制更新。幸运的是,我们在大多数机器上都有用于主目录的NFS挂载,所以我实际上不必经常复制所有这些。另一方面,我的配置文件相当复杂 - 并且在不同的机器上提供不同的PATH设置等。粗略地说,我拥有管理控制权的机器往往比没有管理控制的偶尔使用的机器安装了更多的开源软件。

所以,我随意混合了手动和半自动过程。

答案 11 :(得分:1)

我把所有的dotfiles放到Dropbox上的一个文件夹中,然后将它们符号链接到每台机器上。在一台机器上进行的更改几乎立即可供所有其他机器使用。它只是有效。

答案 12 :(得分:1)

现在我使用Live Mesh来保持我的所有文件在多台计算机上同步。

答案 13 :(得分:1)

也在这里。 Rsync或unison将是一个好主意,除了有时东西停止工作,我想知道上周我的.bashrc文件是什么。在这种情况下,Svn可以节省生命。

答案 14 :(得分:1)

netskel您将公共文件放在Web服务器上,然后客户端程序在任意数量的客户端计算机上维护点文件。它被设计为在任何级别的客户端计算机上运行,​​因此shell脚本是正确的sh脚本,并且具有最少量的依赖性。

答案 15 :(得分:0)

根据您的环境,您还可以使用(完全备份的)NFS共享...

答案 16 :(得分:0)

谈到在公共场所存储点文件有

http://www.dotfiles.com/

http://dotfiles.org/

但手动更新文件真的很痛苦,因为(AFAIK)这些服务都没有提供任何API。

后者非常简约(没有联系表格,没有关于谁制作/拥有它的信息等)。

答案 17 :(得分:0)

  

briefcase 是一种便于将dotfiles保存在git中的工具,包括那些包含私人信息的工具(例如.gitconfig)。

     

通过将配置文件保存在git public git存储库中,您可以与其他人共享您的设置。任何秘密信息都保存在存储库外的单个文件中(由您来备份和传输此文件)。

     

- http://jim.github.com/briefcase

答案 18 :(得分:0)

制作

https://github.com/lra/mackup

Ira/mackup 是一个适用于 Linux 和 Mac 系统的实用程序,它将使用几乎所有流行的共享存储提供商(dropbox、icloud、google drive)同步应用程序首选项。它的工作原理是用符号链接替换点文件。

它还拥有包含数百个受支持应用程序的大型库https://github.com/lra/mackup/tree/master/mackup/applications