Qual é a melhor maneira de atualizar várias estações de trabalho de desktop linux de uma só vez?

1

No trabalho, temos várias estações de trabalho do Ubuntu Linux. Estou procurando uma maneira boa / confiável / rápida de instalar um conjunto de pacotes em todas as caixas de uma só vez. O que estou pensando em fazer agora é:

  1. Instale o Ubuntu em uma nova caixa e use-o como uma imagem de disco principal.
  2. Clonar ou copiar o conteúdo da partição para todas as caixas.
  3. Quando um pacote / conjunto de pacotes precisa ser atualizado, aplique as alterações na imagem de disco principal.
  4. Faça o dump da imagem de disco principal para um servidor NFS central.
  5. Use a inicialização PXE / diskless para colocar todas as estações de trabalho em um modo de recuperação.
  6. Clone a imagem do disco mestre em todas as estações de trabalho uma vez por semana.
  7. Use uma ferramenta de gerenciamento de configuração (o que devo usar?) para configurar / etc e amigos.

Alguém mais fez algo semelhante? Como você se aproximou?

Eu já estou usando o NFS / NIS, então não perderei nenhum dado do usuário.

    
por Dennis Williamson 16.07.2009 / 23:16

8 respostas

2

Acho que o fantoche pode ajudá-lo com isso. Você está essencialmente gerenciando um grupo de estações de trabalho ao invés de servidores , mas deve funcionar da mesma maneira. Dessa forma, você pode criar grupos diferentes com base em quaisquer diferenças de hardware, etc.

    
por 16.07.2009 / 23:32
1

Você pode criar fantasmas para todos eles, mas a maioria das distribuições do Linux inclui um método para fazer o script do processo de instalação. A vantagem é que ele perguntará a você se ocorrer um problema, enquanto apenas o efeito fantasma não ocorrerá.

Com o Fedora (entre outros) você pode fazer o script de tal forma que todas as estações de trabalho façam login em uma fonte central de controle / alerta para que conduzam a instalação do pacote de forma autônoma, mas perguntem quando ocorrerem diferenças e problemas.

Como alternativa, se você tiver vários tipos de máquinas, agrupe seus endereços MAC em grupos de configuração de hardware e use um CD ao vivo para rsync e instale o grub, dependendo da configuração do MAC / Hardware. >

Toneladas de abordagens realmente. Tutoriais sobre instalações sem cabeça fornecerão algumas ideias interessantes com ou sem telas.

Fazendo o script do processo de instalação do Fedora / Anaconda

    
por 16.07.2009 / 23:27
1

Outra opção que você pode considerar é usar os processos existentes, como "yum update", para extrair pacotes de um repositório que você executa e forçar essas estações de trabalho a serem atualizadas em um horário específico. Tudo o que você precisa fazer é atualizar uma estação de trabalho mestre, anotar os pacotes que precisa distribuir e colocá-los em seu repositório interno.

    
por 16.07.2009 / 23:38
1

Sugiro criar um repositório do APT . Você pode adicionar seus próprios pacotes ao repositório e usar um cronjob para atualizar os pacotes usando o apt-get uma vez por semana. O trabalho do apt-get pode ser feito automaticamente, e como o repositório é seu, você pode atualizá-lo ou não como desejar.

Tudo o que você precisa fazer é configurar o repositório e configurar o APT em todas as máquinas para usá-lo. Eu recomendaria o cfengine para configurar todos os sistemas; assim você não precisa visitar cada um para atualizar o APT em cada um deles.

Você pode até criar um pacote com a configuração do repositório embutida nele; Eu recomendaria isso de fato. Então, quando você constrói um novo ambiente, sua configuração APT local é apenas um apt-get away.

    
por 17.07.2009 / 02:00
1

Acho difícil acreditar que ninguém tenha mencionado Redhat Spacewalk .

É o código aberto gratuito equivalente ao sistema Satellite da Redhat Network. Ele permite que você gerencie toda a sua infraestrutura de instalações CentOS, Fedora ou Scientific Linux. Essencialmente, é destinado ao que você está querendo fazer.

Claro, você está usando o Ubuntu, ao contrário das distribuições derivadas do Redhat. Felizmente, o mundo do Ubuntu tem o que você está procurando em Paisagem . Ele vem de graça com um contrato de suporte ou é de US $ 150 / nó. Caro, mas é um trade off.

Se você não for com o Landscape (ou migrar para o RH para caminhada no espaço), então o Puppet / CFengine pode ser sua melhor aposta.

    
por 17.07.2009 / 04:57
0

ssh em cada caixa e execute "apt-get install whatever".

considere ter todos os clientes confiando em sua chave ssh pública de seu host de administração para que você não precise fornecer uma senha para isso.

    
por 16.07.2009 / 23:42
0

Se você estiver usando uma distro baseada no Debian como o Ubuntu, procure em pré-semeadura:

DebianInstaller Pre-seed

Isso permite que você especifique praticamente tudo que você configurou durante a instalação, como rede, apt, pacotes, etc. Ao inicializar o cd de instalação, anexe:

preseed/url=http://blah/preseed.cfg

no menu de inicialização do kernel, e ele usará sua configuração de pré-configuração para fazer a instalação.

    
por 17.07.2009 / 00:00
0

Eu costumava ser um administrador no meu laboratório de computação em Engenharia Elétrica, contando com cerca de 20 computadores, todos do Ubuntu. Eu gostei de sempre usar o último lançamento do Ubuntu assim que ele foi lançado, então eu atualizei muito.

A configuração do laboratório de informática era tal que eu tinha uma caixa-mestre do Debian (raramente atualizada / atualizada), que eu usava para hospedar a página da filial, gerenciando as contas de usuário (com LDAP, permitindo que cada usuário sente-se em qualquer computador e faça o login com a sua pasta pessoal disponível), executando scripts de manutenção, etc.

O método que eu usei para atualizar (o que é um pouco grosseiro na minha opinião tbh) envolvia escrever um CD com a última versão, quando lançado, e colocá-los manualmente nas unidades, reinicializando e passando pelo procedimento de instalação regular. Quando a instalação foi concluída, copiei a chave RSA pública que eu havia gerado (uma vez) para o host (na pasta /root/.ssh/) e, portanto, dei ao box da Debian controle sobre a caixa do host. Então, na caixa mestre eu tinha um script python (claro que pode ser qualquer linguagem de script) que trouxe o computador host para a velocidade com a minha configuração desejada, copiando arquivos de configuração para a caixa de host (como os arquivos de configuração LDAP, arquivos de configuração do Gnome pré-construídos, etc.), apt-get os pacotes necessários (um processo demorado), configurando-os (copiando seus arquivos de configuração e arquivos de itens de menu para os locais corretos) e configurando a caixa do host. / p>

Esse processo, apesar de bruto e sem sofisticação, exigia apenas minha presença para inicializar a caixa "to-be-updated" do CD de instalação do Ubuntu e passar pelas poucas telas de configuração do Ubuntu, configurando o / etc / network / arquivo de interfaces para acesso à rede e, em seguida, executar o script na caixa mestre, então eu poderia estar fora fazendo outra coisa.

Se você quiser mais informações, por favor poste mais especificamente o que você deseja automatizar, seja apenas o processo real de configurar uma nova versão de uma distribuição linux atualmente em execução ou configurar programas que exijam a construção de arquivos fonte ou tal ( porque eu também costumava construir meus próprios pacotes para programas como o Eclipse (que não funciona bem com o Ubuntu direto do gerenciador de pacotes), o XCircuit (que é "buggy" na melhor das hipóteses do pacote repo, Matlab (que requer puncionamento) em um cd-key e mais) ...

Espero que ajude! =)

    
por 17.07.2009 / 00:22