Eu tenho configurado desktops Linux para um observatório de rádio sem fins lucrativos. Para mim, foi a primeira vez que tive que pensar em "implantar" várias máquinas idênticas, centralizar o login, diretórios pessoais e assim por diante. Logo ficou claro para mim que, talvez contrariamente à intuição, a filosofia "tudo é textual" não torna necessariamente uma tarefa fácil, e eu me perguntava o que administradores experientes fazem sobre isso.
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 os arquivos de configuração, remove e instala o software e copia alguns arquivos, como imagens de segundo plano ou indicadores do navegador, do servidor. Penso, no entanto, que minhas perguntas são independentes da distribuição.
Problemas
Eu estava encontrando principalmente dois problemas: primeiro, ferramentas e arquivos de configuração inconsistentes, tanto nas distribuições quanto nas versões, e segundo, algum software crucial que não expõe as configurações dos arquivos de configuração de maneira fácil e intuitiva.
Deixe-me dar dois breves exemplos do que quero dizer:
A ifconfig
ferramenta está sendo substituída por ip
. Todos os scripts que dependem da presença do primeiro serão interrompidos 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 na qual 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 algum tipo de "identidade comum". No meu script pós-instalação-configuração, 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 seja uma tarefa comum para administradores organizacionais. Então, como é que não existe um recurso central de configuração, talvez até em desktops? Ter que definir dois valores não documentados (idênticos!) Em dois arquivos de configuração distintos me parece estranho.
Questões
Em um ambiente organizacional, como você lida com a configuração central e unificada em vários clientes?
Sistemas como o FAI do Debian oferecem vantagens significativas (além de não precisar mudar os CDs) sobre o 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 da sua distribuição? Além do material técnico: 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 GNOME 3, mas o XFCE ainda tem algumas desvantagens funcionais ...
Existe um sistema * nix que resolva esse tipo de problema de configuração? Por exemplo, eu suponho que existem sistemas que solicitam algumas imagens da sua organização (logotipos, imagens de plano de fundo, conjuntos de cores e fontes etc.) e as apliquem ao gerenciador de login, às áreas de trabalho dos usuários, aos aplicativos da Web (!) E assim por diante. em. Nota: No nosso caso, tenho que trabalhar com clientes gordos, para que uma solução puramente de cliente fino não ajude.
Primeiro, não espere que seja fácil trabalhar com várias distribuições.
Não executei grandes lançamentos da área de trabalho. Para mim, a melhor solução foi usar um boot / tftp da LAN para inicializar o sistema e executar a instalação pelo NFS. A maioria das distros do Linux solicita todas as configurações iniciais antecipadamente - então você pode deixar o instalador em execução por, digamos, 40 minutos, sem assistência (nenhuma solicitação "Você realmente deseja executar este programa?"). Naquele momento, eu estava cuidando das máquinas Redhat e Suse - e tinha um RPM preparado com todas as configurações personalizadas que eu instalei após a conclusão da instalação padrão. No entanto, é bem possível automatizar tudo isso em uma variedade de distribuições.
Eu não sou um grande fã da distribuição Ubuntu por vários motivos, mas o Lanscape da Canonical é uma ferramenta muito impressionante. E se você estiver fazendo muitas instalações em larga escala do Ubuntu / gerenciando vários desktops Ubuntu, definitivamente vale a pena olhar mais de perto.
fonte
Eu tenho trabalhado muito com o software chamado CFEngine . É um gerenciador de configuração de código aberto que lê "regras" que você define e garante que todas as máquinas às quais estão ligadas e respeitem essas regras. É completamente de código aberto e tão útil que nossa empresa decidiu usar a versão suportada do software chamada Nova.
Esta é uma visão ampla de como funciona. Digamos que você tenha 4 computadores na sua rede gerenciada. Todos eles precisam ter um arquivo
/etc/syslog.conf
, de propriedade da raiz, da mesma forma (de acordo com um mestre) echmod 777
. Você criaria esta regra no arquivo de configuração do CFEngine. No seu computador central, você tem o/etc/syslog.conf
arquivo "mestre" . A cada X período de tempo, a versão do CFEngine do seu computador passa pela rede e pergunta a cada caixa sobre seu/etc/syslog.conf
arquivo. A cópia local do CFEngine em execução em cada cliente consultará o arquivo em questão e reportará seu conteúdo, permissões etc. Se eles não corresponderem EXATAMENTE à sua cópia de rodízio, o CFEngine enviará sua cópia ao cliente e verificará os arquivos novamente. Eles vão combinar e ele vai passar para a sua próxima regra.Quanto à simplicidade, a sintaxe usada nas "regras" do CFEngine (que eles chamam de promessas) pode demorar um pouco para se acostumar, mas vale a pena aprender (acrescenta outra grande habilidade ao seu conjunto de habilidades).
fonte
O Gnome possui o GConf, que pode executar todas essas pequenas tarefas:
http://wiki.novell.com/index.php/Locking_Down_the_GNOME_Desktop
http://library.gnome.org/admin/system-admin-guide/stable/gconf-9.html.en
O Ubuntu LTS é a quase única opção de suporte a longo prazo na área de trabalho.
A implantação de várias máquinas é quase possível com apenas um simples
dd
, pois as distribuições de desktops estão lentamente tornando essa rota menos atraente.Considere também uma opção agora: o chamado cliente gordo .
fonte
/
, substituições GConf viver em/etc/gconf/gconf.xml.*/