Eu tenho configurado desktops Linux para um observatório de rádio sem fins lucrativos. Para mim, essa foi a primeira vez que tive que pensar em "implantar" várias máquinas idênticas, centralizando login, diretórios pessoais e assim por diante. Logo ficou claro para mim que, talvez ao contrário da intuição, a filosofia "tudo é textual" não necessariamente torna isso uma tarefa fácil, e me perguntei o que os administradores experientes fazem a respeito disso.
No meu caso, eu estava instalando o Ubuntu 10.04 LTS em cada máquina. Após a instalação, executei um script personalizado que altera arquivos de configuração, remove e instala o software e copia alguns arquivos, como imagens de plano de fundo ou marcadores de navegador, do servidor. Eu penso, entretanto, que minhas perguntas são independentes de distro.
Problemas
Eu estava principalmente encontrando dois problemas: Primeiro, ferramentas inconsistentes e arquivos de configuração, tanto através de distribuições e através de versões, e em segundo lugar algum software crucial não expondo configurações para arquivos de configuração de uma maneira fácil e intuitiva.
Deixe-me dar dois exemplos curtos do que quero dizer:
A ferramenta ifconfig
está sendo substituída por ip
. Todos os scripts que dependem da presença do primeiro serão quebrados se, por exemplo, forem executados em uma caixa atual do ArchLinux. Então, eu precisaria verificar quais ferramentas em quais versões estão presentes em uma máquina em que eu executo um script ... isso de alguma forma parece reinventar o autoconf em pequena escala.
Para o segundo problema, considere que eu queria dar aos desktops uma espécie de "identidade comum". No meu post-install-config-script, eu uso as seguintes linhas para conseguir isso:
scp user@server:/export/admin/*.jpg /usr/share/backgrounds/
scp user@server:/export/admin/ubuntu-wallpapers.xml /usr/share/gnome-background-properties/
sed 's/warty-final-ubuntu\.png/MyBackground\.jpg/' -i /usr/share/gconf/defaults/10_libgnome2-common
sed 's/warty\-final\-ubuntu\.png/MyBackground\.jpg/' -i /usr/share/gconf/defaults/16_ubuntu-wallpapers
sed 's/ubuntu-mono-dark/ubuntu-mono-light/' -i /usr/share/gconf/defaults/16_ubuntu-artwork
sed 's/Ambiance/Clearlooks/' -i /usr/share/gconf/defaults/16_ubuntu-artwork
Suponho que criar um IC é uma tarefa comum para administradores organizacionais. Então, como é que não existe um recurso de configuração central, talvez até mesmo um desktop cruzado? Ter que definir dois (valores idênticos!) Valores não documentados em dois arquivos de configuração distintos me parece estranho.
Perguntas
Em um ambiente organizacional, como você lida com configurações centrais e unificadas em vários clientes?
Sistemas como o FAI do Debian oferecem vantagens significativas (além de não ter que trocar CDs) pelo meu método de "instalar primeiro, executar o script depois"?
Quais são as boas práticas para a transição entre as principais versões de sua distribuição? E, além das coisas técnicas: existe um ambiente de desktop que promete estabilidade a longo prazo no que diz respeito à experiência do usuário? Eu não acho que posso migrar meus usuários para o KDE 4 ou o GNOME 3, mas o XFCE ainda tem algumas desvantagens funcionais ...
Existe um sistema * nix que aborda esse tipo de problema de configuração? Por exemplo, suponho que existam sistemas que solicitam algumas imagens de sua organização (logotipos, imagens de plano de fundo, cores e conjuntos de fontes etc.) e as aplicam ao gerenciador de login, áreas de trabalho dos usuários, aplicativos da Web (!) E em. Nota: No nosso caso, tenho que trabalhar com clientes gordos, portanto, uma solução puramente thin client não ajudará.