Uma maneira de manter os dotfiles e a configuração com o ssh

1

Estou usando o vim, o tmux e o zsh. Eu amo essas ferramentas. Passei muito tempo para configurar essas ferramentas, principalmente o Vim.

No meu dia-a-dia, tenho que acessar muitas máquinas remotas. Eu uso o ssh para estar conectado com servidores remotos, PIs de framboesa ou máquinas virtuais. Por enquanto, toda vez que eu acesso a uma nova máquina, eu tenho que reconfigurar todas as minhas ferramentas favoritas. Na maior parte do tempo, eu simplesmente não os uso, exceto em máquinas importantes. Eu não posso apenas copiar meus dotfiles, eu também tenho que instalar alguns pré-requisitos.

Existe uma maneira de simplificar esse processo?

    
por Dougui 13.08.2015 / 15:32

1 resposta

1

Supondo que você tenha acesso root à máquina, você pode escrever uma rotina de instalação. Eu fiz algumas suposições, como a disponibilidade de apt-get

#script, saved local, executed on ssh server:

#install tools:
apt-get -y install tool1 tool2 
#be careful with the -y option, though

#new zsh tools:
#load standard .zshrc file
echo . /home/user/.zshrc > /home/user/.additional_zsh_rc
#add alias
echo alias faster=\'than this long command\' > /home/user/.additional_zsh_rc

#new vimrc
echo "vim settings" > /home/user/.vimrc 

#make sure to change ownerships as we are running this script as root
chown user:user /home/user/.additional_zsh_rc
chown user:user /home/user/.vimrc

Agora que vamos executar o script como root para instalar

ssh root@server "/bin/zsh -s" <install_script

ENTÃO podemos logar como usuário (após a execução do script, você é automaticamente desconectado como root). Note que teremos que mudar nosso padrão rcfile para o novo com -rcs (sinta-se livre para mudar o que fonte ou alterar todo o arquivo .zshrc , no meu exemplo o novo rcfile também origina o padrão .zshrc )

ssh user@host "/bin/zsh --rcs /home/user/.additional_zsh_rc"

Agora, também é possível colocar os dois comandos ssh em um script, para que você não precise executá-los manualmente todas as vezes. Para uma execução livre de hash, use o ssh-login sem senha, mas esteja ciente dos perigos, quando alguém tiver acesso root sem senha a máquinas remotas após roubar seu PC.

    
por 13.08.2015 / 16:04