Gerenciando várias configurações (/ etc) - Com um VCS?

6

Eu tenho uma máquina que precisa ter duas configurações que eu preciso manter (a máquina é ocasionalmente movida entre dois ambientes e tem diferentes funções em cada ambiente).

Nota: este não é um ambiente empresarial, é um ambiente doméstico.

Estou pensando em um VCS (gosto de git ), provavelmente usando etckeeper . No entanto, percebo que minha caixa de ferramentas é limitada e que meu martelo VCS pode fazer com que esse problema seja identificado como um prego, quando ele poderia ser identificado melhor como algo diferente.

Esta é a maneira correta de resolver a questão?

    
por Portablejim 24.11.2011 / 06:16

3 respostas

2

Você tem várias alternativas para resolver seu problema:

  • use um VCS e verifique se as permissões e as informações de propriedade dos arquivos também são rastreadas
  • use uma instância do KVM para seu segundo ambiente, ou seja, você poderá instalar uma segunda instância do Linux, caso haja espaço suficiente no disco rígido
  • configura uma configuração de inicialização dupla, de modo que você instale um sistema linux para o primeiro ambiente na partição X e um sistema linux para o segundo na partição Y

O que você escolhe é uma questão de gosto e depende dos detalhes de seus ambientes. Talvez sua CPU não suporte a virtualização, o espaço esteja em questão ou você não queira reinicializar a máquina ao mudar para outro ambiente.

    
por 24.11.2011 / 14:42
2

Você pode dar uma olhada no switchconf que foi projetado especialmente para lidar com vários / etc configurações e comutação de um para outro quando necessário.

Você terá que criar duas configurações no diretório /etc/switchconf , vamos chamá-las de entreprise e home . Em cada diretório, você terá que criar os subdiretórios etc nos quais você precisa alterar os arquivos de configuração e armazená-los nos arquivos, por exemplo, :

/etc/switchconf/enterprise/etc/network/interface  # in which you store your enterprise network interface configuration

/etc/switchconf/home/etc/network/interface   # in which you store your home network interface configuration

Se você precisar que alguns scripts sejam executados antes ou depois de alternar a configuração, você poderá armazená-los em /etc/switchconf/before.d e /etc/switchconf/after.d .

Por fim, para alternar de uma configuração para outra, basta lançar switchconf enterprise para usar a configuração empresarial ou switchconf home para usar a configuração inicial.

    
por 25.11.2011 / 09:49
1

Para uma máquina que precisa ser movida entre ambientes, eu tentaria ter um único conjunto de arquivos para /etc , com o máximo possível de configurações dinâmicas configuradas dinamicamente com scripts de shell. Por exemplo, a configuração da rede provavelmente é diferente, então use uma diretiva mapping em /etc/network/interfaces ou condicionais em scripts em /etc/network/if-up.d e irmãos.

Se alguns arquivos estáticos precisarem ser alterados, mantenha dois conjuntos em dois diretórios diferentes, por exemplo,

/etc/configuration/work/xorg.conf
/etc/configuration/home/xorg.conf
/etc/configurations/current -> work
/etc/X11/xorg.conf -> /etc/configurations/current/xorg.conf

Dessa forma, você alterna entre as configurações alterando o link simbólico /etc/configurations/current e a reinicialização afetou os serviços.

Você pode aproveitar mecanismos que já existem em alguns subsistemas, como esquemas PCMCIA.

    
por 25.11.2011 / 02:51