eu quero controle de versão minha fatia inteira

3

Eu estou alugando uma fatia (ou seja, um VPS) do Slicehost. Passei um dia ou dois preenchendo /usr com meus pacotes favoritos, /etc com configs e scripts de init, e assim por diante. Agora quero:

  1. salve toda essa configuração em algum lugar (por exemplo, para carregar em outra máquina).
  2. veja quais alterações eu fiz em quais arquivos
  3. reverter alterações, marcar revisões e todas as outras boas coisas de controle de versão

Salvar uma imagem de disco me fornece (1), mas não (2) e (3).

Usar o Subversion ( svn import / svn://someotherhost ) pode me dar todos os três, mas espero problemas se realmente tentar verificar um projeto em / e manter diretórios .svn em áreas de propriedade de raiz. E para carregar minha configuração em uma fatia nova, eu precisaria instalar um cliente svn nela primeiro.

Existe uma boa maneira de fazer o que eu quero fazer?

    
por Tom 19.03.2010 / 05:35

4 respostas

5

Estou assumindo que você está usando uma das distribuições do prefeito Se eu precisasse fazer o mesmo que você eu usaria o git para tudo relacionado a arquivos de configuração (/ etc, / usr / local / etc, etc) Eu evitaria os arquivos bin da versão, a menos que você esteja compilando seus próprios pacotes.

E eu usaria o gerenciador de pacotes nativo de cada distribuição para replicar a instalação do mesmo perfil de pacote.

No caso das distribuições baseadas no Debian, isso é realmente fácil:

dpkg --get-selections | grep '[[:space:]]install$'| awk '{print $1}' > packages-installed

e depois no novo sistema:

cat packages-installed | xargs sudo apt-get install

Atenciosamente

    
por 19.03.2010 / 07:10
2

Eu espero que o git ou algum outro vcs distribuído faria um trabalho melhor nesse svn. Você pode querer olhar para a fonte do etckeeper que basicamente rastreia o / etc com o git e alguns outros dvcs. O Etckeeper provavelmente poderia ser estendido ou modificado para rastrear todo o sistema de arquivos.

    
por 19.03.2010 / 06:16
1

Eu vejo duas soluções não óbvias.

Faça backup usando o BackupPC , que permite verificar facilmente as versões anteriores e restaurá-las. Pode ser feito remotamente ou localmente.

Gerenciamento de configuração usando o boneco . Eu não controlo de versão todos os arquivos no servidor. Módulos e manifestos fantoche de controle de versão que descrevem quais alterações devem ser aplicadas ao servidor. Evito tocar os servidores com a mão, e, se o faço, duplico as alterações no fantoche.

Eu uso os dois. Configuração vem de fantoche, versionado com git e versionamento de "dados do usuário" (páginas da web servidas, diretórios de usuário, etc) é tratado pelo backuppc.

    
por 19.03.2010 / 07:23
0

Você pode colocar / etc no SVN . Eu usaria um método de backup diferente para o / usr.

    
por 19.03.2010 / 23:10