Red Hat Training

A Red Hat training course is available for Red Hat Satellite

Chapitre 6. Écrire manuellement la configuration dans un script

Notez que ce chapitre offre une alternative à l'utilisation de RHN Bootstrap pour générer le script bootstrap. Avec ces instructions, vous devriez pouvoir créer votre propre script bootstrap.
Toutes les techniques initiales ont partagées un thème commun : le déploiement de fichiers nécessaires dans un emplacement centralisé qui peuvent être obtenus et installés à l'aide de simples commandes scriptables exécutées sur chaque client. Dans le chapitre présent, nous explorons le rassemblement de toutes ces pièces pour créer un seul script qui peut être appelé par tout système dans votre organisation.
Lorsque nous rassemblons toutes les commandes des chapitres précédents dans l'ordre le plus raisonnable, nous obtenons le script suivant. N'oubliez pas que rhn_register n'existe pas sur Red Hat Enterprise Linux 3 ou 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
Souvenez-vous que la sixième étape est documentée ici vu qu'elle concerne les systèmes qui exécutent Red Hat Enterprise Linux 3 ou une version supérieure.
Ce script est composé d'un processus propre et répétable qui devrait entièrement configurer tout client Red Hat Network potentiel en préparation à l'enregistrement à un RHN Proxy Server ou RHN Satellite Server. Souvenez-vous que les valeurs clés, comme l'URL de votre serveur RHN, son répertoire public et votre clé GPG actuelle doivent être insérées dans les paramètres substituables listés dans le script. De plus, selon votre environnement, des modifications supplémentaires peuvent être requises. Bien que ce script peut fonctionner pratiquement mot à mot, il devrait être utilisé comme guide.
Tout comme ses composants, ce script peut être situé centralement. En plaçant ce script dans le répertoire /pub/ du serveur, en exécutant wget -O- dessus et en redirigeant la sortie vers une session shell, nous pouvons exécuter le processus bootstrap entier avec une seule commande de chaque client :
wget -O - http://proxy-or-sat.example.com.com/pub/bootstrap_script | bash

Avertissement

L'exécution d'un script shell directement de l'entrée redirigée sur une connexion Web pose évidemment des risques de sécurité implicites. Il est donc vital d'assurer la sécurité du serveur source dans cet exemple.
Cette commande d'une ligne peut ensuite être appelée pour tous les systèmes sur un réseau. Si l'administrateur a un accès SSH sur tous les systèmes en question, il serait simple de passer en boucle une liste de ces systèmes et d'exécuter la commande à distance sur tous. Ce script serait également un ajout parfait à la section %post d'un script kickstart existant.