Parent document is top of "comp.unix.aix Frequently Asked Questions (Part 5 of 5)"
Previous document is "8.04: How can I find out the machine type?"
Next document is "8.06: How do I do remote backup?"

8.05: Updating to 3.2.5

[ formerly in section 1.127 ]

=-=-=-=-=-=-=-= cut here =-=-=-=-=-=-=-=-=-=-=
#!/bin/ksh
# @(#) mktape2disk.sh  creates files from tape on disk.

# change name prefix here
NAME="f"

# from file #i to file #j
integer i=1
integer j

# test arguments
if [ -z "${1}" ]
then
  echo "\nusage: $(basename ${0}) <drive_no> <#files>\n"
  echo "\t<drive_no>: tape drive number (e.g. 0)"
  echo "\t<#files>  : number of files to copy from the tape\n"
  exit 1
fi
device=/dev/rmt${1}.1

# test arguments
if [ -z "${2}" ]
then
  echo "\nusage: $(basename ${0}) <drive_no> <#files>\n"
  echo "\t<drive_no>: tape drive number (e.g. 0)"
  echo "\t<#files>  : number of files to copy from the tape\n"
  exit 1
fi
j=${2}

tctl -f ${device} rewind
if [ $? -ne 0 ]
then
  exit 1
fi

# create tape
while [ ${i} -le ${j} ]
do
    echo "Copy file #${i} of #${j} from (${device}) to disk as (${NAME}${i})."
    dd if=${device} of="${NAME}${i}" bs=200k
    i=i+1
done
tctl -f ${device} rewind
exit 0
=-=-=-=-=-=-=-= cut here =-=-=-=-=-=-=-=-=-=-=

5) Create a new .toc file

   # cd /pub/pmp3250
   # inutoc .
   # pg .toc

6) Place the following file named 'runme.sh' in the PMP directory

=-=-=-=-=-=-=-= cut here =-=-=-=-=-=-=-=-=-=-=
#!/bin/ksh
# @(#) runme.sh for PMP3250
#
INSTP="/usr/sbin/installp"
LOG="/tmp/installp.log"
TEE="/usr/bin/tee"
PATCHDIR=$(pwd)
#
/usr/bin/cp /usr/lpp/info/data/ispaths /usr/lpp/info/data/ispaths.save
#
INFODIR="/usr/lpp/info/$LANG/aixmin"
/usr/bin/mkdir ${INFODIR} 2>/dev/null >/dev/null
if [ ! -w ${INFODIR} ]
then
    print "\n\t*ERROR* Can not (write) access [${INFODIR}]."
    print "\tPlease unmount CD or NFS filesystems.\n"
    exit -1
fi
#
# Commit all ptf's
#
${INSTP} -Xc all 2>&1 | ${TEE} ${LOG}.0
#
# Install latest installp patch
#
${INSTP} -BXacgq -d ${PATCHDIR} bos.obj 3.2.0.0.U422463 2>&1 | ${TEE} ${LOG}.1
#
# Install latest installp patch
#
${INSTP} -BXacgq -d ${PATCHDIR} bos.obj 3.2.0.0.U422467 2>&1 | ${TEE} ${LOG}.6
#
# Run the ptfdir clean utility.
#
/usr/sbin/ptfdir_clean -y -f -v 2>&1 | ${TEE} ${LOG}.2
#
# Install the PMP.    Version 1
#
/usr/lib/instl/sm_inst installp_cmd   \
        -T m -q -a -g -B              \
        -d ${PATCHDIR}                \
        -S '3250 AIX Maintenance Level U493250' \
        -c  -N  -X                    \
        2>&1 | ${TEE} ${LOG}.3
#
# Install the PMP.    Version 2
#
# /usr/sbin/update_all
#
# Install latest installp patch
#
/usr/bin/lppchk -v | ${TEE} ${LOG}.4
#
# Show level of installp patch
#
/usr/bin/lslpp -m bos.obj | ${TEE} ${LOG}.5
#
# Guess you should reboot now.
#
sync;sync
print - "\n\n\tDone......guess you should reboot now !!\n"
exit 0
=-=-=-=-=-=-=-= cut here =-=-=-=-=-=-=-=-=-=-=

7) To run the update on your server

   ===>> Please read the Installation Instructions first <<==

   # cd /pub/pmp3250
   # ./runme.sh

                   ........WAIT...........

   # /etc/shutdown -Fr

8) NFS export the PMP dir as READ-ONLY to all your clients.

9) To update a client system

    a -  Mount the PMP filesystem from the server
    b -  cd <mounted_filesystem>
    c -  execute ./runme.sh
    d -  Unmount PMP filesystem
    e -  reboot

10) To create a copy 1:1 of the tape you received use the script 'mktape.sh'

   # cd /pub/pmp3250
   # mktape.sh 0

=-=-=-=-=-=-=-= cut here =-=-=-=-=-=-=-=-=-=-=
#!/bin/ksh
# @(#) mktape.sh: creates a bootable tape from images on disk

# change name prefix here
NAME="f"

# usage: mktape drive_no
#        drive_no = tape drive number
# test arguments
if [ -z "${1}" ]
then
  echo "\nusage: mktape <drive_no>"
  echo "         <drive_no>: tape drive number (e.g. 0)\n"
  exit 1
fi
device=/dev/rmt${1}.1

tctl -f ${device} rewind
if [ $? -ne 0 ]
then
  exit 1
fi

# create tape
i=1
while test -r "${NAME}${i}"
do
    echo "copy ${i}"
    if [ $i -le 3 ]
    then
      dd if="${NAME}${i}" of=${device} conv=sync bs=1k
    else
      dd if="${NAME}${i}" of=${device} bs=200k
    fi
    let i=${i}+1
done
tctl -f ${device} rewind
exit 0

Parent document is top of "comp.unix.aix Frequently Asked Questions (Part 5 of 5)"
Previous document is "8.04: How can I find out the machine type?"
Next document is "8.06: How do I do remote backup?"