Red Hat Training

A Red Hat training course is available for Red Hat Satellite

Capitolo 6. Esecuzione manuale dello script per la configurazione

Da notare che questo capitolo fornisce un'alternativa all'utilizzo di RHN Bootstrap per la generazione dello script di bootstrap. Con queste informazioni sarete in grado di creare il vostro script di botstrap.
Tutte le tecniche iniziali avevano un comune denominatore: lo sviluppo dei file necessari in una posizione centralizzata da recuperare ed installare eseguendo comandi semplici 'scriptable' su ogni client. In questo capitolo verrà affrontato il metodo attraverso il quale è possibile creare uno script singolo, che potrà essere invocato da qualsiasi sistema presente nella vostra organizzazione.
Se combiniamo tutti i comandi presenti nel capitolo precedente seguendo un ordine preciso, otterremo il seguente script. Ricordate, rhn_register non è presente all'interno di Red Hat Enterprise Linux 3 o 4.
# 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
Ricordate, la sesta fase viene documentata in questa sezione poichè appartiene ai sistemi che eseguono Red Hat Enterprise Linux 3 o versioni più recenti.
Questo script consiste in un processo pulito e ripetibile in grado di configurare completamente qualsiasi potenziale client Red Hat Network, in preparazione per la registrazione su di un RHN Proxy Server o RHN Satellite Server. Ricordate che i valori delle chiavi, come ad esempio l'URL del vostro RHN Server, la sua directory pubblica, e la vostra chiave GPG devono essere inseriti all'interno degli spazi corrispondenti elencati nello script. Altresì, a seconda del vostro ambiente, potranno essere necessarie alcune modifiche aggiuntive. Questo script dovrebbe essere usato solo come guida.
Come i propri componenti, questo script potrebbe avere una posizione centrale. Posizionando il suddetto script nella directory /pub/ del server, ed eseguendo wget -O- e successivamente inviando in pipe l'output su di una sessione della shell, sarà possibile eseguire l'intero processo di bootstrap con un comando singolo da ogni client:
wget -O - http://proxy-or-sat.example.com.com/pub/bootstrap_script | bash

Avvertimento

L'esecuzione di uno script della shell direttamente da un input inviato in pipe attraverso un collegamento web, presenta ovviamente alcuni rischi. Per questo motivo, ed in questo esempio, è importante controllare la sicurezza del server sorgente.
Successivamente è possibile invocare questo comando attraverso tutti i sistemi presenti su di una rete. Se l'amministratore possiede un accesso SSH a tutti i sistemi in questione, diverrebbe un compito semplice ripeterlo su di un elenco di sistemi, ed eseguire il comando in modo remoto su di essi. Questo script rappresenta una perfetta aggiunta alla sezione %post di uno script di kickstart esistente.