piątek, 29 lutego 2008

Clearview poprzez BFU + LiveUpgrade

Więc chcemy potestować Clearview ..., jeśli nie chcemy czekać
minimum 6 miesięcy, aż będzie włączone do źródeł ON,
możemy zainstalować najnowsze binaria oparte na buildzie 83.

Mamy już przygotowane specjalne środowisko uruchomieniowe:
# lucurr
be2_snv82_bfu_cv83

# uname -srv
SunOS 5.11 snv_82


Musimy rozpakować pobrane binaria:
# bzcat cv_83-SUNWonbld-20080219.i386.tar.bz2 | tar xvf -
# bzcat cv_83-bfu-20080219.i386.tar.bz2 | tar xvf -

Jeśli mamy zainstalowaną paczkę SUNWonbld, należy ją odinstalować!
Instalujemy paczkę SUNWonbld dostarczoną przez clearview:
# pkgadd -d /export/home/estibi/cv_83/onbld SUNWonbld

Processing package instance from

OS-Net Build Tools(i386) 11.11,REV=2008.02.19.14.29
Copyright 2008 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Using as the package base directory.
## Processing package information.
## Processing system information.
1 package pathname is already properly installed.
## Verifying package dependencies.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.

This package contains scripts which will be executed with super-user
permission during the process of installing this package.

Do you want to continue with the installation of [y,n,?] y

Installing OS-Net Build Tools as

## Installing part 1 of 1.
/opt/onbld/bin/Install
/opt/onbld/bin/SampleLinks
/opt/onbld/bin/SamplePkgLinks
/opt/onbld/bin/acr
/opt/onbld/bin/bfu
/opt/onbld/bin/bfudrop
/opt/onbld/bin/bindrop
/opt/onbld/bin/bldenv
/opt/onbld/bin/bringovercheck
/opt/onbld/bin/build_cscope
/opt/onbld/bin/cddlchk
/opt/onbld/bin/check_fnames
/opt/onbld/bin/check_rtime
/opt/onbld/bin/checkpaths
/opt/onbld/bin/checkproto
/opt/onbld/bin/cstyle
/opt/onbld/bin/ctfcvtptbl
/opt/onbld/bin/ctffindmod
/opt/onbld/bin/elfcmp
/opt/onbld/bin/flg.flp
/opt/onbld/bin/genoffsets
/opt/onbld/bin/get_depend_info
/opt/onbld/bin/hdrchk
/opt/onbld/bin/i386/abi_audit
/opt/onbld/bin/i386/aw
/opt/onbld/bin/i386/bfuld
/opt/onbld/bin/i386/codereview
/opt/onbld/bin/i386/cpiotranslate
/opt/onbld/bin/i386/cscope-fast
/opt/onbld/bin/i386/ctfconvert
/opt/onbld/bin/i386/ctfdump
/opt/onbld/bin/i386/ctfmerge
/opt/onbld/bin/i386/ctfstabs
/opt/onbld/bin/i386/cw
/opt/onbld/bin/i386/elfextract
/opt/onbld/bin/i386/fastfs
/opt/onbld/bin/i386/findunref
/opt/onbld/bin/i386/install
/opt/onbld/bin/i386/lintdump
/opt/onbld/bin/i386/mbh_patch
/opt/onbld/bin/i386/ndrgen
/opt/onbld/bin/i386/ndrgen1
/opt/onbld/bin/i386/pmodes
/opt/onbld/bin/i386/protocmp
/opt/onbld/bin/i386/protolist
/opt/onbld/bin/intf_check
/opt/onbld/bin/jstyle
/opt/onbld/bin/keywords
/opt/onbld/bin/make_pkg_db
/opt/onbld/bin/makebfu
/opt/onbld/bin/mkacr
/opt/onbld/bin/mkbfu
/opt/onbld/bin/mkclosed
/opt/onbld/bin/mkreadme_osol
/opt/onbld/bin/mktpl
/opt/onbld/bin/nightly
/opt/onbld/bin/onblddrop
/opt/onbld/bin/protocmp.terse
/opt/onbld/bin/sccscheck
/opt/onbld/bin/sccscp
/opt/onbld/bin/sccshist
/opt/onbld/bin/sccsmv
/opt/onbld/bin/sccsrm
/opt/onbld/bin/sdrop
/opt/onbld/bin/signit
/opt/onbld/bin/signproto
/opt/onbld/bin/validate_flg
/opt/onbld/bin/validate_paths
/opt/onbld/bin/wdiff
/opt/onbld/bin/webrev
/opt/onbld/bin/ws
/opt/onbld/bin/wsdiff
/opt/onbld/bin/wx
/opt/onbld/bin/xref
/opt/onbld/bin/xref.mk
/opt/onbld/env/developer
/opt/onbld/env/gatekeeper
/opt/onbld/etc/abi/ABI_i386.db
/opt/onbld/etc/abi/ABI_sparc.db
/opt/onbld/etc/abi/exceptions
/opt/onbld/gk/.cshrc
/opt/onbld/gk/.login
/opt/onbld/lib/i386/libdwarf.so.1
/opt/onbld/man/man1/Install.1
/opt/onbld/man/man1/acr.1
/opt/onbld/man/man1/bldenv.1
/opt/onbld/man/man1/bringovercheck.1
/opt/onbld/man/man1/cddlchk.1
/opt/onbld/man/man1/check_rtime.1
/opt/onbld/man/man1/checkpaths.1
/opt/onbld/man/man1/codereview.1
/opt/onbld/man/man1/cstyle.1
/opt/onbld/man/man1/cw.1
/opt/onbld/man/man1/flg.flp.1
/opt/onbld/man/man1/get_depend_info.1
/opt/onbld/man/man1/intf_check.1
/opt/onbld/man/man1/lintdump.1
/opt/onbld/man/man1/make_pkg_db.1
/opt/onbld/man/man1/mkacr.1
/opt/onbld/man/man1/nightly.1
/opt/onbld/man/man1/sccscheck.1
/opt/onbld/man/man1/sccscp.1
/opt/onbld/man/man1/sccsmv.1
/opt/onbld/man/man1/sccsrm.1
/opt/onbld/man/man1/signit.1
/opt/onbld/man/man1/signproto.1
/opt/onbld/man/man1/webrev.1
/opt/onbld/man/man1/ws.1
/opt/onbld/man/man1/wsdiff.1
/opt/onbld/man/man1/wx.1
/opt/onbld/man/man1/xref.1
[ verifying class ]
/opt/onbld/bin/i386/install.bin

Eksportujemy niezbędne do BFU zmienne:
# export BFULD=/opt/onbld/bin/i386/bfuld
# export FASTFS=/opt/onbld/bin/i386/fastfs
# export GZIPBIN=/usr/bin/gzip
# export PATH=${PATH}:/opt/onbld/bin

Uwaga, użycie BFU spowoduje, iż nie będzie działać upgrade systemu
do nowszej wersji (np sxce82 -> sxce83)!!!
Nie robimy poniższych kroków, jeśli nie mamy pełnej kopii systemu
(dump0) lub nie używamy LiveUpgrade!!! ;)


Uruchamiamy binarną aktualizację systemu BFU, od tej chwili
bieżący system jest w rękach BFU, przerwanie tego procesu
spowoduje niespójny system.
Zamykamy wszystkie programy/usługi itp.

# /opt/onbld/bin/bfu /export/home/estibi/cv_83/archives-nightly-osol/i386
Copying /opt/onbld/bin/bfu to /tmp/bfu.1037
Executing /tmp/bfu.1037 /export/home/estibi/cv_83/archives-nightly-osol/i386

Loading /export/home/estibi/cv_83/archives-nightly-osol/i386 on /

Creating bfu execution environment ...
/tmp/bfu.1037[2850]: /net/onnv.eng/export/gate/public/bin/acr: cannot open
chmod: WARNING: can't access /tmp/bfubin/acr
Verifying archives ...
Performing basic sanity checks ...
/etc/svc/repository.db: passed integrity check
Disabling kernel module unloading ... moddebug: 0 = 0x20000
Unmounting /lib/libc.so.1 ...
Disabling sendmail temporarily ...
Disabling remote logins ...
Disabling syslog temporarily ...
Killing httpd ...
Disabling fmd temporarily ...
Killing nscd ...
Turning on delayed i/o ...
Filesystem Mode
/ safe
/usr safe

Saving configuration files in /bfu.child ... 6144 blocks
Removing init.d links ... done.
Removing obsolete rc.d scripts ... done.
Extracting ufs modules for boot block ... 3260 blocks
Extracting generic.usr ... 400289 blocks
Extracting i86pc.usr ... 3260 blocks
Extracting i86xpv.usr ... 900 blocks
Extracting generic.lib ... 52265 blocks
Extracting generic.sbin ... 2820 blocks
Extracting generic.kernel ... 180505 blocks
Extracting generic.root ... 10500 blocks
Extracting i86pc.root ... 13510 blocks
Extracting i86xpv.root ... 12050 blocks
Extracting i86hvm.root ... 820 blocks
Extracting i86pc.boot ... 2750 blocks

Removing duplicate kernel binaries ...

Simulating SUNWcry* installation...

Cleaning up old Kerberos GSS-API mechanisms...

Cleaning up old RBAC profiles...


Restoring configuration files.

NEW conflict: boot/solaris/bootenv.rc
restore: boot/solaris/devicedb/master
NEW conflict: etc/acct/holidays
restore: etc/auto_home
NEW conflict: etc/crypto/kcf.conf
update: etc/crypto/pkcs11.conf
NEW conflict: etc/default/init
restore: etc/devlink.tab
restore: etc/driver_aliases
NEW conflict: etc/driver_classes
update: etc/ftpd/ftpusers
NEW conflict: etc/group
NEW conflict: etc/inet/hosts
restore: etc/inet/inetd.conf
restore: etc/inet/netmasks
NEW conflict: etc/inet/services
restore: etc/inet/sock2path
restore: etc/inittab
NEW conflict: etc/iu.ap
restore: etc/krb5/krb5.conf
NEW conflict: etc/logadm.conf
NEW conflict: etc/minor_perm
NEW conflict: etc/name_to_major
NEW conflict: etc/nsswitch.conf
NEW conflict: etc/pam.conf
NEW conflict: etc/passwd
NEW conflict: etc/path_to_inst
NEW conflict: etc/power.conf
update: etc/profile
NEW conflict: etc/remote
NEW conflict: etc/security/audit_event
NEW conflict: etc/security/auth_attr
NEW conflict: etc/security/device_policy
NEW conflict: etc/security/exec_attr
restore: etc/security/extra_privs
NEW conflict: etc/security/prof_attr
NEW conflict: etc/security/tsol/devalloc_defaults
NEW conflict: etc/shadow
update: etc/syslog.conf
update: etc/ttysrch
NEW conflict: etc/user_attr
update: etc/uucp/Dialers
NEW conflict: etc/vfstab
restore: kernel/drv/mpt.conf
update: kernel/drv/scsi_vhci.conf
restore: kernel/drv/sd.conf
preserve: kernel/misc/amd64/sysinit
preserve: kernel/misc/amd64/usbs49_fw
preserve: kernel/misc/sysinit
preserve: kernel/misc/usbs49_fw
preserve: var/adm/utmpx
preserve: var/adm/wtmpx
preserve: var/log/syslog
preserve: var/saf/zsmon/log
restore: var/spool/cron/crontabs/root
updating /platform/i86pc/amd64/boot_archive
updating /platform/i86pc/boot_archive

For each file in conflict, your version has been restored.
The new versions are under /bfu.conflicts.

MAKE SURE YOU RESOLVE ALL CONFLICTS BEFORE REBOOTING.

To install resolved changes required for reboot in the boot
archive, invoke 'bootadm update-archive'

Removing obsolete smf services ...
Disabling unneeded inetd.conf entries ...
Connecting platform and name service profiles ...
Marking converted services as enabled ...
cp: cannot access /net/greenline.eng/meta0/smf/post-5090532/sysidtool.xml
bfu: could not copy /net/greenline.eng/meta0/smf/post-5090532/sysidtool.xml
cp: cannot access /net/greenline.eng/meta0/smf/post-5090532/kdmconfig.xml
bfu: could not copy /net/greenline.eng/meta0/smf/post-5090532/kdmconfig.xml
Upgrade of amilo took 5:13.
Turning off delayed i/o and syncing filesystems ...
Filesystem Mode
/ safe
/usr safe

Entering post-bfu protected environment (shell: ksh).
Edit configuration files as necessary, then reboot.

bfu#

Teraz jesteśmy w specjalnej powłoce :)

Musimy uruchomić program 'acr' aby naprawić zależności ...

bfu# /opt/onbld/bin/acr
Getting ACR information from /export/home/estibi/cv_83/archives-nightly-osol/i386... ok

Processing global zone:
FILE ACTION STATUS
etc/crypto/kcf.conf i.kcfconfbase ok
etc/driver_classes i.kclasses ok
etc/minor_perm i.minorperm ok
etc/name_to_major i.nametomajor ok
etc/security/device_policy i.devpolicy ok
etc/iu.ap i.iuap ok
etc/path_to_inst i.preserve ok
etc/shadow i.shadow ok
etc/security/audit_event i.renamenew ok
etc/logadm.conf i.logadmconf ok
etc/passwd i.passwd ok
etc/inet/hosts i.hosts ok
etc/default/init i.definit ok
etc/remote i.etcremote ok
etc/nsswitch.conf i.nsswitch ok
etc/group i.group ok
etc/pam.conf i.pamconf ok
etc/inet/services i.services ok
etc/security/auth_attr i.rbac ok
etc/security/exec_attr i.rbac ok
etc/security/prof_attr i.rbac ok
etc/user_attr i.rbac ok
etc/vfstab i.vfstab ok
etc/acct/holidays i.preserve ok
etc/power.conf i.powerconf ok
boot/solaris/bootenv.rc i.bootenvrc ok
etc/security/tsol/devalloc_defaults i.devallocdefs ok

updating //platform/i86pc/amd64/boot_archive
updating //platform/i86pc/boot_archive
Finished. See /tmp/acr.L6aq6o/allresults for complete log.

Uruchamiamy ponownie system.
UWAGA, musimy wydać polecenie 'reboot'!!!
Nie możemy użyć w tym przypadku 'shutdown' ani 'init'.

bfu# reboot

Po restarcie mamy zaktualizowany system wraz
z nowym Clearview:

# uname -srv
SunOS 5.11 cv_83

Brak komentarzy: