= Update-Management auf Solaris = == Solaris 10 == === Live Upgrade === Auf '''pluto''' wurde ein Mirror des root-Dateisystems angelegt. Mit lucreate(1M) aus live upgrade kann ein Slice aus dem Mirror herausgelöst und in eine alternative Bootumgebung umgewandelt werden, in die Patches eingespielt werden können. Mit luactivate(1M) kann die Bootumgebung, die beim nächsten Systemstart aktiv ist, ausgewählt werden. Es wurden die Bootumgebungen ''original'' und ''kopie'' angelegt. In ''original'' ist /dev/md/dsk/d4 als / gemountet, es handelt sich dabei um einen Mirror aus den Metadevices d20 auf dem physikalischen Slice c1t1d0s0 und d10 auf c1t0d0s0. === Patch Manager === der Recher '''pluto''' ist Sun Update Connection Proxy server. Installation: {{{ cd /afs/ifh.de/group/rz/Solaris_PM unzip 119788-02.zip patchadd 119788-02 }}} Damit {{{ smpatch analyze smpatch download }}} auf allen Solaris8 und Solaris10 (auser pluto) funktioniert: {{{ smpatch set patchpro.patch.source=http://pluto:3816/solaris/ }}} === Registrierung === der Recher '''pluto''' ist bei Sun registriert mit online account (imeier) == Solaris 8 == Auf '''medea''' konnten live upgrade und Sun Patch Manager durch die Zip-Dateien von der SUN-Seite eingespielt werden. lucreate unterstützt dort nicht die Funktionalität vom Sun Volume Manager wie unter Solaris 10. {{{ live upgrate /afs/ifh.de/group/rz/Solaris_PM/liveuprade2.0_sparc.zip instalation mkdir live_upgrade cd live_upgrade unzip pgkadd -d . }}} {{{ Sun Patch Manager /afs/ifh.de/group/rz/Solaris_PM/pm2.0_sparc.zip instalation unzip cd Patch_Manager_2.0 ./pmsetup }}} === Volume Manager === {{{ Solstice DiskSuite /afs/ifh.de/group/rz/Solaris_PM/SDS-4_2_1_108693_06-solsparc-03-aug-2001.zip instalation mkdir SDS cd SDS unzip pkgadd -d . }}} Das Anlegen eines Mirrors mit Sun Volume Manager funktioniert wie auf Solaris 10. Beispiel auf '''medea''': {{{ metadb -a -f -c 2 c0t0d0s5 c0t0d0s6 c0t1d0s5 c0t1d0s6 metainit -f d11 1 1 c0t1d0s0 metainit -f d12 1 1 c0t0d0s0 metainit d10 -m d11 metaroot d10 lockfs -fa reboot metattach d10 d12 }}} Hier werden pro Platte je 2 Slices für Metadevices verwendet, `-c 2` besagt, dass 2 Kopien der Metadatanbank angelegt werden. === Live Upgrade === ==== / auf Metadevice ==== lucreate mit einem Metadevice hat nicht funktioniert: {{{ [medea] / # lucreate -n original -m /:/dev/md/dsk/d10:ufs Please wait while your system configuration is determined. Determining what file systems should be in the new BE. Searching /dev for possible BE filesystem devices Please wait while the configuration files are updated. Please wait. Configuration validation in progress... ********************************************************************************Beginning process of creating Boot Environment . No more user interaction is required until this process is complete. ******************************************************************************** Setting BE state to Not Complete. Creating file systems on BE . Creating file system on . /dev/md/rdsk/d10: 6657120 sectors in 3082 cylinders of 16 tracks, 135 sectors 3250.5MB in 67 cyl groups (46 c/g, 48.52MB/g, 6080 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 99536, 199040, 298544, 398048, 497552, 597056, 696560, 796064, 895568, 995072, 1094576, 1194080, 1293584, 1393088, 1492592, 1589792, 1689296, 1788800, 1888304, 1987808, 2087312, 2186816, 2286320, 2385824, 2485328, 2584832, 2684336, 2783840, 2883344, 2982848, 3082352, 3179552, 3279056, 3378560, 3478064, 3577568, 3677072, 3776576, 3876080, 3975584, 4075088, 4174592, 4274096, 4373600, 4473104, 4572608, 4672112, 4769312, 4868816, 4968320, 5067824, 5167328, 5266832, 5366336, 5465840, 5565344, 5664848, 5764352, 5863856, 5963360, 6062864, 6162368, 6261872, 6359072, 6458576, 6558080, Mounting file systems for BE . Calculating required sizes of file systems for BE . Populating file systems on BE . Copying file system contents to BE . INFORMATION: Setting asynchronous flag on ABE mount point file system type . Copying of file system / directory is in progress... ERROR: CPIO/FIND errors in the copy operation are listed below: **************************************** cpio: Error with fstatat() of "var/cfengine/sue-out-15442", errno 2, No such file or directory 5359872 blocks 1 error(s) **************************************** ERROR: Copy of file system / directory failed: continuing to copy. ERROR: Copy of file system / directory failed: continuing to copy. ERROR: A mail will be sent at the end of the copy listing the reason for failure. ERROR: A mail will be sent at the end of the copy listing the reason for failure. Creating compare database for file system . Reading of /etc/group failedReading of /etc/group failedReading of /etc/group failedReading of /etc/group failedReading of /etc/group failedReading of /etc/group failedReading of /etc/group failedReading of /etc/group failedReading of /etc/group failedReading of /etc/group failedUpdating compare database on other BEs. Updating compare database on BE . Compare databases updated on all BEs. Making Boot Environment bootable. Making the ABE bootable. Updating ABE's /etc/vfstab file. The update of the vfstab file on the ABE succeeded. Updating ABE's /etc/mnttab file. The update of the mnttab file on the ABE succeeded. Updating ABE's /etc/dumpadm.conf file. The update of the dumpadm.conf file on the ABE succeeded. //usr/lib/lu/lurootdev: : cannot execute ERROR: Unable to determine root device for BE mounted at . ERROR: Unable to determine the configuration of the target boot environment . ERROR: Update of loader failed. ERROR: Unable to umount ABE : cannot make ABE bootable. Making the ABE bootable FAILED. ERROR: Unable to make BE bootable. ERROR: Unable to populate file systems on BE . ERROR: Unable to make file systems for BE . }}} Anscheinend kann lucreate nicht die physische Platte zum Root-Device für den Eintrag ins Boot-PROM ermitteln, weil es keine Metadevices kennt. ==== / auf normalem Device ==== Wenn ein Mirror für / verwendet wird, den Submirror entfernen, der ''nicht'' auf der Bootplatte liegt. In diesem Beispiel liegt / auf d0 bestehend aus d10 und d11: {{{ metadetach d0 d11 metaclear d11 }}} Jetzt ist c0t1d0s0 nicht mehr Teil des Mirrors und kann für eine alternative BE benutzt werden: `lucreate -n kopie -m /:/dev/dsk/c0t1d0s0:ufs` funktioniert wie erwartet, allerdings dauert das Kopieren sehr lange. Wenn in der ABE Partitionen gemountet werden, die auf einem Mirror liegen, z.B. swap oder /tmp, dann muss /etc/system in der BE angepasst werden: {{{ mount /dev/dsk/c0t1d0s0 /mnt sed "s/rootdev.*//" < /etc/system > /mnt/etc/system umount /mnt }}} Damit wird die Unterstützung für Metadevices geladen. rootdev muss entfernt werden, weil diese Zeile festlegt, dass / auf einem Metadevice liegt. === Update Manager === `smpatch analyze` hat auf '''medea''' ohne vorherige Registrierung des Rechners funktioniert. Die Installationsprozedur des Update Managers aktualisiert Java in /usr/j2se/ auf Version 1.4.1_03-b02. smpatch download -d /p -x idlist=/tmp/patchlist {{{ helena This collection of patches is incomplete due to problems in downloading. It is a dvisable to retry the download later and see if the remaining patches can be dow nloaded. If they can, then the new download summary file will show the patches r equired and the order in which to install them. The patches failing to install a re listed here: 108773-26 108773-26 Unexpected error while accessing the requested patch. 110723-09 110723-09 Unexpected error while accessing the requested patch. 116965-23 116965-23 Unexpected error while accessing the requested patch. 109384-13 109384-13 Unexpected error while accessing the requested patch. 108993-62 108993-62 Unexpected error while accessing the requested patch. }}} {{{ poseidon This collection of patches is incomplete due to problems in downloading. It is a dvisable to retry the download later and see if the remaining patches can be dow nloaded. If they can, then the new download summary file will show the patches r equired and the order in which to install them. The patches failing to install a re listed here: 108773-26 108773-26 Unexpected error while accessing the requested patch. 110723-09 110723-09 Unexpected error while accessing the requested patch. 116965-23 116965-23 Unexpected error while accessing the requested patch. 117350-42 117350-42 Unexpected error while accessing the requested patch. 116962-12 116962-12 Unexpected error while accessing the requested patch. 109384-13 109384-13 Unexpected error while accessing the requested patch. 108993-62 108993-62 Unexpected error while accessing the requested patch. }}} == Anmerkungen == Solaris-Systemwerkzeuge auf Solaris 10 sind oft in Java implementiert und benötigen Java 1.5 vom System aus /usr/bin. Es besteht daher ein Konflikt mit /opt/products/bin/java Version 1.4.2.