Como posso instalar e configurar automaticamente um sistema Linux?

1

Existem vários programas que eu sempre instalo em qualquer nova instalação do Linux (por exemplo, hd-idle, zsh, ruby); e várias tarefas de configuração que eu sempre executo (por exemplo, zshrc personalizado).

Não querendo fazer isso manualmente toda vez que eu instalo uma máquina Linux, estou procurando algum tipo de ferramenta de automação para esse propósito. Eu já vi coisas como Salt, Ansible, FAI e outras, mas elas são realmente complicadas - além disso, são mais voltadas para a administração em massa de centenas de máquinas.

Eu preciso de uma maneira de definir um conjunto de modelos, colocá-los em uma unidade flash e executá-los na máquina de destino.

Eu estava planejando escrever um programa para esse propósito, mas esse plano está repleto de problemas. Então, eu estou esperando encontrar uma solução existente para o problema, que alguém já criou.

(A única linguagem de programação garantida para funcionar em qualquer sistema é o bash. Mas o bash é horrível para funcionar.)

    
por Sod Almighty 05.12.2016 / 01:54

2 respostas

2

A resposta depende da distro selecionada. Por exemplo, o Debian (e derivados como o Ubuntu, o Mint, etc.) aceitam um seedfile enquanto podem ser carregados durante a instalação para um procedimento totalmente automatizado. É bastante usado em conjunto com um servidor pxe para instalações de rede.

Aqui está uma referência do Ubuntu:
P: Como faço para criar uma instalação completamente autônoma do Ubuntu?
A: link

    
por 05.12.2016 / 01:58
-1

Se você puder assumir que os programas estão presentes nos repositórios upstream padrão para suas distribuições, você pode escrever algum tipo de script de shell. (O abaixo pode ser considerado pseudo-código como eu não testei isso.)

#!/bin/bash
packages_to_install="curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel"
release='cat /etc/*-release'
case $release in
  redhat|centos) cmd="yum install"; ;;
  ubuntu|debian) cmd="apt-get install"; ;;
esac
for pkg in $packages_to_install; do
  sudo $cmd $pkg
done

Eu realmente não amo essa solução, mas com base em seus comentários sobre o ansible / salt sendo muito complicado para você e uma boa solução Debian não ser distro-agnóstico, eu acho que isso é tudo o que você tem.

    
por 05.12.2016 / 03:03