Quais são suas práticas recomendadas e planos futuros para implantar desktops unixóides? [fechadas]

9

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 ifconfigferramenta 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.

jstarek
fonte

Respostas:

3

Usar o Puppet, CFEngine ou Chef é a solução certa para o seu problema. É claro que consumirá algum tempo e abordagem de tentativa e erro para escrever o script Puppet, que simplesmente funciona. Essas ferramentas são amplamente usadas para automatizar instalações complexas na nuvem e simplificaram a vida de administradores como nós. :)

Abhishek A
fonte
Obrigado pela dica! Como já perguntei ao MaxMackie antes, o Puppet fornece algum tipo de "inteligência centralizada e com crowdsourcing" com relação à reescrita de regras ao alternar entre as principais versões da minha distribuição? Por exemplo, se eu conhecer as opções $ DISTRO do GNOME 2 para 3, haverá um caminho de migração semiautomático?
Jstarek
Você pode escrever um arquivo para, digamos, a configuração do Gnome3 e incluí-lo nas configurações dos hosts nos quais você deseja que o Gnome3 seja instalado. mas também depende de como você cria a configuração do fantoche. Se você seguir a abordagem modular, será mais fácil. -Se Puppet não será capaz de identificar Gnome3 ou 2. (espero que eu tenho a pergunta direita)
Abhishek A
3

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.

symcbean
fonte
Olhando para o site do Landscape, tenho a impressão de que ele não lida com as entradas do arquivo de configuração - por isso, criaria pacotes locais que fazem as alterações necessárias na instalação?
jstarek
1

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) e chmod 777. Você criaria esta regra no arquivo de configuração do CFEngine. No seu computador central, você tem o /etc/syslog.confarquivo "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.confarquivo. 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).

n0pe
fonte
Obrigado pela dica, vou dar uma olhada no CFEngine. No entanto, pelo que li sobre o assunto até agora, parece que não vai me impedir de reescrever as regras ao mudar para uma nova versão principal da minha distribuição, certo?
Jstarek
1

Então, como é que não há instalação de configuração central,

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 .

Steve-o
fonte
Eu já estou usando clientes fat, mas isso não facilita a configuração por si só - eles apenas obtêm as informações de homedir e senha de um servidor central. Se o GNOME não usou o GConf e colocou arquivos de configuração importantes em / usr / share / gconf / defaults /, pode-se manter um / etc / central em algum lugar do servidor e fazer com que os clientes gordos o montem, mas não, os caras do GNOME parece saber melhor. Suspiro ...
jstarek
clientes de gordura @jstarek montar /, substituições GConf viver em/etc/gconf/gconf.xml.*/
Steve-O