Red Hat Training

A Red Hat training course is available for Red Hat Satellite

Capítulo 6. Escrevendo o script da configuração manualmente

Observe que este capítulo fornece uma alternativa para usar o RHN Bootstrap para gerar o script do bootstrap. Com todas estas instruções, você conseguirá criar seu próprio script de bootstrap desde o início.
Todas as técnicas iniciais partilham do mesmo tema: a implementação dos arquivos necessários, em um local centralizado para ser recuperado e instalado executando comandos simples e programáveis em cada cliente. Neste capítulo, juntaremos todas estas peças para criar um único script que possa ser invocado por qualquer sistema de sua empresa.
Ao combinar todos estes comandos a partir de capítulos anteriores da forma mais ordenada possível, obteremos o seguinte script. Tenha em mente que as versões Red Hat Enterprise Linux 3 ou 4, não possuem o rhn_register:
# First, install the latest client RPMs to the system.
rpm -Uvh \
	http://proxy-or-sat.example.com.com/pub/rhn_register-2.8.27-1.7.3.i386.rpm \
	http://proxy-or-sat.example.com.com/pub/rhn_register-gnome-2.8.27-1.7.3.i386.rpm \
	http://proxy-or-sat.example.com.com/pub/up2date-3.0.7-1.i386.rpm \
	http://proxy-or-sat.example.com.com/pub/up2date-gnome-3.0.7-1.i386.rpm

# Second, reconfigure the clients to talk to the correct server.

perl -p -i -e 's/s/www\.rhns\.redhat\.com/proxy-or-sat\.example\.com/g' \
	/etc/sysconfig/rhn/rhn_register \
	/etc/sysconfig/rhn/up2date


# Third, install the SSL client certificate for your company's 
# RHN Satellite Server or RHN Proxy Server.
rpm -Uvh http://proxy-or-sat.example.com/pub/rhn-org-trusted-ssl-cert-*.noarch.rpm

# Fourth, reconfigure the clients to use the new SSL certificate.
perl -p -i -e 's/^sslCA/#sslCA/g;' \
	/etc/sysconfig/rhn/up2date /etc/sysconfig/rhn/rhn_register
echo "sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT" \
	>> /etc/sysconfig/rhn/up2date
echo "sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT" \
	>> /etc/sysconfig/rhn/rhn_register


# Fifth, download the GPG key needed to validate custom packages.
wget -O - -q http://proxy-or-sat.example.com.com/pub/YOUR-RPM-GPG-KEY


# Sixth, import that GPG key to your GPG keyring.
rpm --import /path/to/YOUR-RPM-GPG-KEY
Lembre-se que o sexto passo é documentado aqui, pois ele se refere aos sistemas rodando o Red Hat Linux 3 ou versões anteriores a esta.
O script é composto por um processo limpo e repetitivo, que deve configurar plenamente qualquer cliente do Red Hat Network em potencial, que esteja se preparando para registrar-se em um RHN Proxy Server ou RHN Satellite Server. Lembre-se que os valores da chave, tais como o URL de seu RHN Server, seu diretório público e sua chave GPG atual deve ser inserida nos espaços reservados listados abaixo dentro do script. Da mesma forma, dependendo de seu ambiente, podem ser necessárias algumas modificações adicionais. Apesar deste script funcionar quase que literalmente, ele deve ser usado como um guia.
Como seus componentes, este script pode ser localizado centralmente. Ao colocar este script na pasta /pub/ do servidor, executar o comando wget -O- nele, e realizar um pipe do resultado em uma sessão do shell, pode ocorrer de executar todo o processo do bootstrap com um único comando de cada cliente:
wget -O - http://proxy-or-sat.example.com.com/pub/bootstrap_script | bash

Atenção

A execução de um script de shell diretamente a partir da entrada em pipe sob a conexão da Web, pode acarretar alguns riscos inerentes. Por isso, neste caso, é muito importante garantir a segurança do servidor da fonte.
Este comando de uma linha pode então ser invocado por todos os sistemas em uma rede. Se o administrador possuir acesso SSH para todos os sistemas em questão, iterar em uma lista destes sistemas e executar o comando de maneira remota em todos eles, deve ser uma tarefa muito simples. Este script seria também perfeito como um adicional ao pós seção de um script kickstart existente.