Os clientes todos tem CentOS 6 64 bits, com uma partição do S.O. de 20 GB e o resto do HD dividida por igual em uma partição /opt/local para cópias locais de ferramentas mais usadas (as menos usadas ficam só no servidor) e uma partição /homelocal na qual é criada automaticamente uma pasta no primeiro login de um determinado usuário naquela máquina. O /homelocal serve como workspace svn. Assim as ferramentas de chip rodam bem rápido porque praticamente só fazem acesso ao disco local. Se um usuário quer passar para outra máquina ele só deve fazer svn up lá (e não ter esquecido o svn ci na máquina anterior).

A partição do CentOS tem ainda um Tinycore, na mesma partição. Este Tinycore é configurado para poder desmontar completamente o HD depois de ter completado o boot. Ele também é configurado com servidor ssh usando automaticamente o mesmo IP que o CentOS usa. Dessa forma pode-se dar reboot num cliente no Tinycore, mudando o default do grub. Pode-se fazer isso com mais outro cliente, acessar depois os dois por ssh e fazer um clone de partição de HD um para o outro. De fato, todos as partições de S.O. dos clientes são clones.

Os arquivos de configuração que mudadas a partir da primeira instalação estão em svn. Se mudo algo num cliente, faço svn ci e depois vou para outro liente e faço svn up para replicar.

No servidor tem um script que executa um dado comando em todos os clientes, tipo clientes svn up. Aí todos os clientes fazem svn up.