Solução semelhante ao Kickstarter para o OpenBSD?

4

Existe alguma solução para o OpenBSD:

Insira o CD do instalador personalizado, pressione enter (como: "tem certeza?" - mensagem), então o instalador particiona automaticamente o disco / instala o OpenBSD, e depois personaliza um pouco (ex: instala alguns aplicativos de portas)?

Isso pode ser feito usando o Kickstarter para o RHEL. Mas isso pode ser feito para o OpenBSD? Eu pesquisei por ele e ainda não encontrei nenhuma resposta boa (só que precisa de maiores habilidades de programação ..).

    
por gasko peter 15.07.2013 / 11:31

2 respostas

5

Uma instalação do OpenBSD faz mais do que atualmente, mas você só precisa pressionar "enter" muito. Quanto a fazer o pkg_installs e outras customizações, existe (e tem sido há muito tempo) um mecanismo para fazer isso, embora seja mais difícil rastrear a documentação se você não sabe o que está procurando. O instalador puxará um conjunto de instalação sitexx.tgz ou sitexx-hostname.tgz se ele estiver na origem do instalador.

O FAQ tem muitos detalhes aqui: link

A outra grande dica que darei a você também é mencionada, há o mecanismo de script rc.firsttime (8). Se você soltar um arquivo em /etc/rc.firsttime, esses comandos serão executados na próxima inicialização e, em seguida, o arquivo será excluído. Se fizer isso no instalador, anexar a esse arquivo, já que o instalador o usará.

Eu vi alguns rumores nas listas de discussão de que um desenvolvedor está trabalhando em um mecanismo ainda mais automatizado para o instalador também ...

ATUALIZAÇÃO 2014-05-01 - autoinstall(8) Capacidade de instalação automática incluída em 5.5: link

    
por 06.10.2013 / 16:15
1

autoinstall(8) é sua ferramenta para executar essa tarefa desde o OpenBSD 5.5. Usando dhcp+pxe e um servidor http, você é bom o suficiente para implantar uma infraestrutura de instalação automatizada. Este tópico está bem explicado em este bsdnow.tv , mas farei alguns comentários sobre este tutorial:

Crie uma entrada de pxe dhcp. O exemplo abaixo, pesquisará o arquivo auto_install em vez de pxeboot

option domain-name-servers 192.168.1.1;
subnet 192.168.1.0 netmask 255.255.255.0 {
    option routers 192.168.1.1;
    filename "auto_install";
    next-server 192.168.1.1;
    range 192.168.1.8 192.168.1.254;
[..other stuff..]
} 

Usando um servidor tftp , hospede os arquivos necessários para inicializar usando o pxe. Você também precisará ativar o pxe-boot no site do cliente em suas bios:

# ls -l /tftp

total 12896
lrwxr-xr-x  1 root  wheel        7 Feb 22 21:37 auto_install -> pxeboot
-rw-r--r--  1 root  wheel  6501415 Feb 22 12:49 bsd
-rw-r--r--  1 root  wheel    80524 Feb 22 12:50 pxeboot

Hospede todos os pacotes de instalação dentro do diretório raiz htdocs e configure o seu httpd.conf de acordo:

# ls /var/www/htdocs/pub/OpenBSD/5.5/i386/

SHA256       bsd          comp55.tgz   index.txt    xetc55.tgz   xshare55.tgz
SHA256.sig   bsd.mp       etc55.tgz    man55.tgz    xfont55.tgz
base55.tgz   bsd.rd       game55.tgz   xbase55.tgz  xserv55.tgz

Dentro do diretório raiz httpd , crie um arquivo install.conf com todas as respostas às perguntas feitas pelo instalador.

# cat /var/www/htdocs/install.conf

System hostname = bsdnow.tv
Password for root = ThePlaceToBe...SD
Network interfaces = em0
IPv4 address for em0 = dhcp
Setup a user = puffy
Password for user = whywasibornasafish
What timezone are you in = US/Eastern
Location of sets = http
Server = 192.168.1.1

Note que você também pode usar nginx aqui. O importante aqui é que ele precisa ser colocado na raiz do servidor com o nome install.conf . Além disso, não há uma lista abrangente dos parâmetros que podem ser usados em autoinstall , portanto, faça sua busca para encontrar bons exemplos como aqui . Citando autoinstall manpages:

The response file is a line-oriented ASCII text file. The format of each line is:

question = answer

question is an installer question (not including the question mark) or a non-ambiguous part of it, consisting of whitespace separated words. answer is the answer to the question. Passwords may be in plaintext, encrypted with encrypt(1), or set to ‘*************’ (13 '*'s) to disable password logins, only permitting alternative access methods (for example, ssh(1) keys).

Você também pode usar MAC_address-install.conf ou hostname-install.conf (se o nome do host estiver definido em dhcpd.conf ) para criar uma rotina de instalação para apenas um host.

Basta inicializar a máquina e aguardar a conclusão do trabalho de instalação.

Além disso, o céu é o limite aqui. Dê uma olhada neste Exemplo complicado em CoBUG que criará dinamicamente um vm, banco de dados de feed e arquivos httpd para configurá-lo e iniciar a instalação. Tudo com apenas um comando;)

    
por 01.02.2018 / 18:01