tar
Existe uma infinidade de possibilidades sobre como realizar isso. Uma maneira comum que eu vi as pessoas usando desde muito tempo atrás foi construir um script que apenas tar
é toda a sua configuração; então eles apenas baixam o arquivo tar
e desempacotam. Pode envolver um arquivo chamado myconf
com um conteúdo como:
.vimrc
.bashrc
.profile
.xinitrc
.vifm
.xmonad
Então você corre
tar -czvf myconf.tgz -T myconf
Faça o download na outra máquina e descompacte.
O problema com essa abordagem sempre foi a integridade dos arquivos. Por exemplo: você trabalhou na máquina A e lá você criou seu .vimrc
, depois você trabalhou na máquina B (para a qual você copiou sua configuração) e atualizou .vimrc
. Quando você voltava para a máquina A, era necessário copiar a configuração da máquina B. Uma confusão resultou no envolvimento de dezenas de máquinas.
nfs
Também vi montagens NFS usadas para esse propósito. Segurando os diretórios /home
inteiros ou mantendo os arquivos de configuração para os quais os usuários fizeram links suaves.
A montagem NFS funciona muito melhor do que tar
ing e copiando coisas, mas tem seus próprios problemas: Se você precisa trabalhar em máquinas nas quais você não tem acesso root, a montagem não é uma opção. Além disso, a criação de montagens do NFS pela Internet pode se mostrar lenta.
github (ou bitbucket ou gitlab)
Este é o meu favorito. Desde o surgimento de repositórios de código-fonte gratuitos e facilmente disponíveis, as pessoas continuaram encontrando novas maneiras de usar VCS
s. Você pode usar um sistema de controle de versão de código como um suporte para arquivos de configuração.
Crie um repositório contendo seus scripts de configuração e git clone
(ou hg
, ou svn
, o que você mais gosta) nas máquinas que você usa. Você pode confirmar e enviar de volta ao repositório quando atualizar sua configuração e sincronizá-la nas outras máquinas quando alternar para elas.
Por outro lado, essa opção não vem sem seu próprio conjunto de problemas:
-
Não crie um repositório de origem diretamente em seu diretório inicial, vários
VCS
s não gostam de ter árvores de origem dentro de outras árvores de origem. Crie um diretório extra em sua casa para armazenar o repositório (um bom nome pode sermyconf
ourc
) e vincule os arquivos que você precisa (por exemplo,ln -s rc/.vimrc ~/.vimrc
). -
Nunca apresente chaves de API ou outros dados que devem ser privados em um repositório de origem público. O Github envia um aviso por e-mail se você enviar algo parecido com uma chave de API, o que provavelmente é uma boa medida da frequência com que isso acontece nos repositórios do github.