Como configurar rapidamente meu diretório home em uma nova máquina linux?

2

Se eu tiver configurações que eu gostaria de usar em uma máquina Linux que eu nunca usei antes, como configurá-las rapidamente?

Eu já tenho um .vimrc e tmux, existe uma maneira de transportar essas coisas facilmente quando eu pulo para uma nova máquina?

E se o software para os arquivos de configuração ainda não estiver instalado, supondo que eu tenha acesso para instalá-lo, existe uma ferramenta que faça isso e carregue meus arquivos de configuração?

    
por leeand00 09.06.2016 / 02:58

3 respostas

3

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 ser myconf ou rc ) 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.

por 09.06.2016 / 03:54
1

Minha sugestão seria ter suas configurações em uma unidade flash, servidor remoto ou repositório remoto (o GitHub é sempre bom). Dessa forma, é um plug-in rápido, scp ou git longe de onde você precisa.

Outra opção é levar uma unidade flash inicializável persistente com você. Suas configurações e configurações estarão a uma inicialização quando o hardware estiver por perto.

Além disso, não há como ter suas configurações personalizadas disponíveis em uma máquina em que você nunca esteve antes. Você tem que movê-los você mesmo.

    
por 09.06.2016 / 03:53
0

A longo prazo, recomendo procurar configurar o seu próprio diretório dotfiles que você manter sob controle de versão e backup para GitLab / BitBucket / GitHub. Dessa forma, é tão simples quanto clonar a partir do repo em uma nova máquina.

    
por 21.11.2018 / 21:10