Het patchen van een solaris 10 machine is een eitje. De procedure is gelijk voor een systeem dat gebruik maakt van UFS en ZFS. De laatste is echter vele malen sneller, omdat een ABE onder ZFS in een oogwenk wordt gecreëerd.
Het programma dat ik aanraad om de patchfiles te downloaded is pca. Het gebruik van dit programma behandel ik niet hier. Het is dermate basic dat ik het als bekend veronderstel. Ik run om de zoveel tijd een simpel ./pca -d missing en verkrijg daarmee alle vrijgegeven patches voor solaris 10.
Omdat ik gebruik maak van een aantal sparse zones is de -R optie van pca om een ABE te patchen niet aan te bevelen (te langzaam). Luupgrade is een veel betere kandidaat hiervoor. We moeten dan wel zorgen dat de met pca gedownloade patchfiles in het zip formaat worden uitgepakt. Ik heb hiervoor een speciale patch directory /export/patches.
Het volgende stukje ksh-script pakt de zipfiles uit naar mijn patch directory.
#!/usr/bin/ksh
#
for f in *.zip; do unzip -d /export/patches $f; done
Update 30 aug: Ik heb inmiddels begrepen dat zip/unzip lastig zijn bij het gebruik van wildcards, maar als je die escaped lukt het prima. De volgende twee regels doen hetzelfde, namelijk alle zipfiles uitpakken vanuit de patchdirectory naar ‘bestemming’
# unzip -d /export/patches "/root/bin/*.zip" <- let op de aanhalingstekens
# unzip -d /export/patches /root/bin/*.zip <- let op het teken
Vervolgens creëren we de ABE die we zullen patchen. Ik kies als naam goofy.
# lucreate -n goofy
Hierna gaan we met luupgrade de patches toepassen op goofy.
# luupgrade -t -n goofy -s /export/patches
Het patchen verloopt snel en op een running systeem is behalve de iets zwaardere belasting verder niets merkbaar. Slechts bij de noodzakelijke reboot naar de nieuwe gepatchte bootomgeving is het systeem korte tijd uit de lucht. Het veilige gevoel dat bij eventuele fouten altijd kan worden teruggevallen op een goed werkende bootomgeving is onbetaalbaar.
Na het patchen maken we de nieuwe BE actief.
# luactivate goofy
Vervolgens starten we het systeem opnieuw op.
# init 6
Het systeem boot in de nieuwe omgeving. Controleer of alles naar wens loopt.