Software im AFS/NFS
In Abweichung vom früheren Status Quo wird der LD_LIBRARY_PATH in den Resource Control Scripts nicht mehr gesetzt. Es wird empfohlen, auf die Verwendung des LD_LIBRARY_PATH weitgehend zu verzichten. Bei Software auf Netzlaufwerken sollte der Suchpfad für die benötigten Bibliotheken mit Hilfe der rpath-Option von ld direkt einkompiliert werden. Dies kann z.B. beim Aufruf von configure wie folgt angegeben werden:
./configure --enable-shared --prefix=/net_drive/arch/software \
LDFLAGS="-Wl,-rpath /net_drive/arch/software/lib"
Ändern des root-Passworts
Das root-Passwort der Puppet-Clients wird während der initialen Kickstart-Installation auf ein Default-Passwort gesetzt. Es empfiehlt sich die Verwendung der folgenden Klasse in den arbeitsbereichspezifischen Modulen, um das Passwort zu ändern:
class cpw_root {
exec {
"initial_cpw_root":
command => "/usr/sbin/usermod -p '<passwordhash>' root && /bin/rm /etc/cpw_root",
onlyif => "/usr/bin/test -e /etc/cpw_root";
"custom_cpw_root":
command => "/usr/sbin/usermod -p '<passwordhash>' root,
onlyif => "/usr/bin/test -e ${basepath}/${modulename}/cpw_root/cpw_root";
}
}
In der Klasse wird zwischen den beiden Befehlen initial_cpw_root und custom_cpw_root unterschieden. Der erste Befehl wird ausgeführt, wenn die lokale Datei /etc/cpw_root existiert. Diese Datei wird während der Kickstart-Installation angelegt, und der Befehl ist daher gut für die einmalige Änderung des root-Passworts auf einem einzelnen Rechner (z.B. direkt nach der intialen Installation) geeignet. Beim Befehl initial_cpw_root wird die Datei automatisch von Puppet gelöscht, so dass der Befehl nicht bei jedem Puppet-Run wiederholt wird. Der zweite Befehl wird ausgeführt, wenn die Datei /afs/wsi/wsi/git-environment/puppet/files/ubuntu/<modulename>/cpw_root/cpw_root existiert. Da diese Datei im AFS liegt, ist dieser Befehl dazu geeignet, das root-Passwort auf allen Clients auf einmal zu ändern. Man muss dazu nur diese Datei anlegen und max. 30 Minuten bis zum nächsten Puppet-Run warten. Die Datei kann nicht von Puppet gelöscht werden, da der Befehl custom_cpw_root sonst nur für den ersten Client ausgeführt würde, der den Puppet-Server kontaktiert. Sie muss daher manuell gelöscht werden, nachdem das Passwort erfolgreich auf allen Rechnern aktualisiert wurde.