Automação da instalação

3

Caso de uso:

Quando instalo o Ubuntu em outro computador, preciso:

  • instala todos os pacotes que eu uso;
  • faça algumas alterações de configuração;
  • svn checkout de alguns projetos;
  • git clone de alguns projetos;
  • configuração .ssh/config ;
  • faça o download de uma compilação personalizada do Eclipse;
  • faça o download de alguns plug-ins adicionais do Eclipse;
  • faça muitos outros ajustes.

Então, quero executar um script, como sudo install-everything-needed , que executaria essas ações predefinidas.

Existe algum pacote que forneça o backbone para tal sistema?

    
por Denis Gorbachev 22.05.2011 / 09:41

2 respostas

4

Kickstart

  

O kickstart Configurator é uma ferramenta gráfica para criar arquivos do Kickstart   , que permitem instalações totalmente automáticas com scripts.   Você precisará usar a instalação alternativa e pode definir qualquer coisa que o Ubuntu solicitar durante a instalação (incluindo a formatação de discos). Tudo que você deixar em branco será solicitado durante a instalação.

Agora, para a ressalva: o kickstart não é perfeito no Ubuntu, porque está faltando muitos recursos. Por exemplo, você precisa alterar manualmente o arquivo ks.cfg para adicionar o que você deseja instalar e você precisa dizer tudo (então você precisa adicionar o desktop ubuntu também ...) para adicionar outros pacotes.

Você precisará de um arquivo de texto de pós-instalação que inclua todas as configurações para as configurações restantes que você precisa fazer e adicione isso à configuração. Mas você também pode usar isso para adicionar downloads que exigem wget ou mover um arquivo de configurações ssh pré-definido para o sistema etc etc. Quanto a esse script ... você está sozinho lá. Ninguém terá os mesmos add-ons, então será todo trabalho manual.

A melhor maneira de fazer isso é instalando uma máquina virtual e ajustando o arquivo de configuração até que você esteja satisfeito: dessa forma você pode editar o arquivo ks.cfg e remasterizar o ISO sem precisar gravar CDs.

Mais informações na página de ajuda do Ubuntu .

    
por Rinzwind 22.05.2011 / 10:12
2

Se você estiver familiarizado com scripts de shell, poderá hackear alguma coisa. Não acho que exista um pacote desses disponível nos repositórios, pois os requisitos variam em cada caso.

Você pode querer ativar todos os repositórios usando:

sudo sed 's@# deb@deb@' -i /etc/apt/sources.list

Atualize suas informações de recompra e atualize seu sistema (incluindo kernels) e instale pacotes (sem solicitar / aceitar alterações: -y ):

sudo apt-get update
sudo apt-get -y dist-upgrade
sudo apt-get -y install subversion git [more packages here]

Como mostrado anteriormente, você pode usar ferramentas como sed para editar arquivos de configuração.

svn checkout usando:

mkdir -p ~/dir/in/home
cd ~/dir/in/home
svn --no-auth-cache --username [svn-user] --password [password-here] co http://svn.example.com/repo targetdir

--no-auth-cache impede que os aplicativos de chaveiro interrompam o processo automático. Outro motivo para desativá-lo para processos automáticos é devido a um erro no KWallet que causa um segfault ao abrir um chaveiro ("wallet"). No caso de um check-out anônimo, você pode omitir as partes de autenticação.

mkdir -p ~/dir/in/home2
cd ~/dir/in/home2
git clone http://git.example.com/repo.git targetdir

Configuração do SSH (cliente):

mkdir ~/.ssh
cat > ~/.ssh/id_example_rsa <<PRIVATEKEY
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,.....

wtzol/3qd5LrCvUedVE....
78PlmRpeNbeGVaqvm8wN2gPdV3wiaC9/3RUCJo/6V9Rq+oNdXuR+vg==
-----END RSA PRIVATE KEY-----
PRIVATEKEY
cat > ~/.ssh/config <<'CFG'
Host example
    Hostname example.com
    Port 22
    User example-user
    IdentityFile ~/.ssh/id_example_rsa
CFG

Em vez de colocar as coisas no script, você também pode colocá-lo em um pendrive e cp it:

cp /media/NAME/id_example_rsa ~/.ssh/

Se você colocá-lo em um servidor:

wget http://example.com/config -O ~/.ssh/config

Deve ficar óbvio que não é inteligente colocar chaves privadas em um servidor público.

Eu não tenho experiência com o Eclipse, mas você deve estar bem com wget .

    
por Lekensteyn 22.05.2011 / 10:17