Sun hat in den vergangenen Jahren immer wieder neue Methoden gezeigt, wie man ein Solaris System patchen kann, da der recommended patch cluster nicht alles Patches beinhalten kann, welche für ein System benötigt werden und seit Solaris 10 hat meine keine andere Wahl mehr, sich mit diesen Tool auseinander zu setzen.
Viele dieser Tools sind, trotz dem guten Ansatz, nicht tauglich für den Alltag. Die monströsen Java Programme, für die man teilweise X benötigt, sind völlig bloat und langsam. Dazu kommt noch, dass Patch Services von Sun alles andere als verfügbar und zuverlässig sind.
Die Proactive Services der Sun Schweiz bietet eine Patch CD/DVD an, auf der man einen speziell anhand der Explorer Daten erstellten Patch Cluster erhält. Das wäre ja eigentlich eine gute Idee, allerdings ist es mir nicht ganz ersichtlich, warum man als Kunde neben dem Sun Vertrag nochmals ein paar tausend Franken für eine Patch CD bezahlen soll, nur weil Sun kein funktionierendes Patch Tool zu verfügung stellen kann.
Auch Martin Paul von der Universität Wien dürfte sich über diese Situation aufgeregt haben, was ihn vermutlich dazu motiviert hat, PCA- Patch Check Advanced zu schreiben. PCA ist ein Perl basierendes Script, welches mit 1500 Zeilen wirklich klein ist. Es benötigt ausser Perl, was ohnehin mit der standart Solaris Installation dabei ist, wget, was ab Solaris 9 ebenfalls zum Lieferumfang gehört.
PCA ist ein Tool zur Patch Analyse und Installation, welches einen Text oder HTML Output erzeugen kann. Ferner kann es auch als Patch Server agieren, was insbesondere in grösseren Umgebungen praktisch ist. Es besticht nicht nur mit seinerGeschwindigkeit, sondern auch mit seiner einfachen Handhabung, was bei den Sun Tools wie smpatch nicht der Fall ist.
Wenn der SunSolve Account ebenfalls aktiv ist, kann man bereits loslegen: Nachdem man das Script auf das System kopiert hat, geht man in ein Verzeichnis, wo man die Patches haben möchte, am besten /var/tmp.
Die Liste mit den fehlenden Patches anzeigen (pca zeigt auch das alter und die Kategorie ([S]ecurity, [B]ad ) an:
root@newponit # pca -l
Download xref-file to /var/tmp/patchdiag.xref: done
Using /var/tmp/patchdiag.xref from Feb/13/07
Host: newponit (SunOS 5.10/Generic_118833-36/sparc/sun4u)Patch IR CR RSB Age Synopsis
------ -- - -- --- --- -------------------------------------------------------
117463 03 < 04 --- 8 SunOS 5.10: passwdutil Patch
118666 10 < 11 -S- 5 J2SE 5.0: update 11 patch (5.0u11)
118667 10 < 11 -S- 5 J2SE 5.0: update 11 patch (5.0u11), 64bit
118712 12 < 13 R-- 1 SunOS 5.10: Sun XVR-100 Graphics Accelerator Patch
118815 04 < 05 R-- 8 SunOS 5.10: awk nawk patch
118918 22 < 24 RS- 9 SunOS 5.10: Solaris Crypto Framework patch
119130 31 < 32 R-- 9 SunOS 5.10: Sun Fibre Channel Device Drivers
119580 04 < 05 --- 5 SunOS 5.10: libcpc Patch
119703 07 < 08 --- 1 SunOS 5.10: Patch for localeadm issues
119998 -- < 02 -S- 5 SunOS 5.10: arp, ip, ipsecah drivers patch
120050 04 < 05 --B 7 SunOS 5.10: usermod patch
120068 01 < 02 -S- 1 SunOS 5.10: in.telnetd Patch
120222 14 < 15 --- 8 SunOS 5.10: Emulex-Sun LightPulse Fibre Channel Adapter driver
120473 01 < 02 --- 6 SunOS 5.10: nss_compat patch
120812 14 < 15 --- 5 OpenGL 1.5: OpenGL Patch for Solaris
120845 03 < 04 --- 8 SunOS 5.10: auditd patch
120986 08 < 10 --- 8 SunOS 5.10: mkfs and newfs patch
122130 02 < 03 --- 5 SunOS 5.10: Patch to update SUNWlocaledefsrc files
123186 01 < 02 RS- 9 SunOS 5.10: NIS yp utilities patch
123590 01 < 02 --- 3 SunOS 5.10: PostgresSQL patch
124149 02 < 03 --- 5 SunOS 5.10: Sun XVR-300 Graphics Accelerator Patch
124244 -- < 01 -S- 8 SunOS 5.10: /usr/bin/rm patch
124993 -- < 01 --- 9 SunOS 5.10: in.ndpd patch
124995 -- < 01 --- 9 SunOS 5.10: ehci driver patch
125014 -- < 02 --- 3 SunOS 5.10: IP filter patch
125016 -- < 01 --- 7 SunOS 5.10: audit and init patch
125024 -- < 01 --- 9 SunOS 5.10: basic audit reporting tool patch
125026 -- < 01 --- 9 SunOS 5.10: message queue patch
125040 -- < 01 --- 5 SunOS 5.10: /usr/lib/inet/in.mpathd patch
125073 -- < 01 --- 5 SunOS 5.10: vold patch
125075 -- < 01 --- 9 SunOS 5.10: svc-volfs patch
Danach kann man die Patches downloaden:
root@newponit # pca -d
Using /var/tmp/patchdiag.xref from Feb/13/07
Host: newponit (SunOS 5.10/Generic_118833-36/sparc/sun4u)Patch IR CR RSB Age Synopsis
------ -- - -- --- --- -------------------------------------------------------
117463 03 < 04 --- 8 SunOS 5.10: passwdutil Patch
Download 1/31: done
118666 10 < 11 -S- 5 J2SE 5.0: update 11 patch (5.0u11)
Download 2/31: done
118667 10 < 11 -S- 5 J2SE 5.0: update 11 patch (5.0u11), 64bit
Download 3/31: done
118712 12 < 13 R-- 1 SunOS 5.10: Sun XVR-100 Graphics Accelerator Patch
Download 4/31: done
118815 04 < 05 R-- 8 SunOS 5.10: awk nawk patch
Download 5/31: done
118918 22 < 24 RS- 9 SunOS 5.10: Solaris Crypto Framework patch
Download 6/31: done
119130 31 < 32 R-- 9 SunOS 5.10: Sun Fibre Channel Device Drivers
Download 7/31: done
[...]
Und installieren:
root@newponit # pca -i
Using /var/tmp/patchdiag.xref from Feb/14/07
Host: newponit (SunOS 5.10/Generic_118833-36/sparc/sun4u)Patch IR CR RSB Age Synopsis
------ -- - -- --- --- -------------------------------------------------------
117463 03 < 04 --- 9 SunOS 5.10: passwdutil Patch
Download 1/33: skipped - file exists
Install 1/33: done - reboot
118666 10 < 11 -S- 6 J2SE 5.0: update 11 patch (5.0u11)
Download 2/33: skipped - file exists
Install 2/33: done
[...]
118667 10 < 11 -S- 6 J2SE 5.0: update 11 patch (5.0u11), 64bit
Download 3/33: skipped - file exists
Install 3/33:
125073 -- < 01 --- 6 SunOS 5.10: vold patch
Download 32/33: skipped - file exists
Install 32/33: done - reboot
125075 -- < 01 --- 10 SunOS 5.10: svc-volfs patch
Download 33/33: skipped - file exists
Install 33/33: done
Download Summary: 33 total, 0 successful, 32 skipped, 1 failed
Install Summary : 33 total, 32 successful, 0 skipped, 1 failed
Reboot required to complete patch process.
Anmerkung: Falls ein Patch sofort einen Reboot bzw. Reconfigure verlang, verweigert PCA die Installation weiterer Patches. Nach einem Reboot kann man weiter machen.
Nachdem man alle Patches installiert hat, muss man nur noch Rebooten und gut ist. Und das alles ohne Java und X. Meiner Meinung nach besteht bei Sun ein Handlungsbedarf, was die Entwicklung komfortabler und praxis tauglicher Tools angeht.