Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ updatep(8) — AIX PS/2 1.2.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

installp

discussion of updating



UPDATEP(8,C)                AIX Commands Reference                 UPDATEP(8,C)



-------------------------------------------------------------------------------
updatep



PURPOSE

Updates one or more Licensed Program Products (LPPs).

SYNTAX


                 one of
                +------+
              +-| -a   |-+
              | | -ac  | |
              | | -ai  | |  +---------------+  +-----------------+  +------+
           +--| | -aci | |--| +-----------+ |--| +-------------+ |--|      |--|
           |  | +------+ |  +-|           |-+  +-|             |-+  +- -q -+
           |  |  +----+  |    +- -n user -+      +- -d device -+
           |  +--| -s |--+
           |     +----+
           |
           |   one of
updatep ---|   +-----+
           |   | -r  |
           |---| -rx |---|
           |   | -c  |
           |   +-----+
           |
           |   one of
           |   +-----+                                    +---------------+
           +---| -u  |--- lpp.name --- vv.rr.llll.ffff ---| +-----------+ |---|
               | -ur |                +---------------+   +-|           |-+
               +-----+                      vv = version    +- -n user -+
                                            rr = release
                                          llll = level
                                          ffff = fix


DESCRIPTION

Warning: Under no circumstances attempt to run more than one installation or
update process at the same time.  The primary site must be up when executing
updatep.

Failure to perform these steps may result in a failure in the installation or
update of the active files being serviced.

The updatep command controls the update process for one or more LPPs.  It also
lets you determine the status of pending LPP updates and provides documentation




Processed November 8, 1990       UPDATEP(8,C)                                 1





UPDATEP(8,C)                AIX Commands Reference                 UPDATEP(8,C)



about the updates.  You must be a operating with superuser authority to run
this command.

The updatep command supports an apply/commit/reject philosophy.  To apply one
or more LPPs, you use the -a or the -ai flags.  You must then use either the -c
flag to commit the LPP or the -r flag to reject the LPP.  Normally you should
not use -r until you have tested the LPP on your system.  If you specify -ac or
-aci, you can apply and commit in one operation.  The -r flag must be used
separately.  During an apply, updatep normally saves the current versions of
files that are being updated.  If needed, these files can be used to do a
recovery or reject.

You are responsible for reserving update save space in the /usr file system.
updatep checks to insure that there is adequate save space in /usr before it
applies an update.  If there is insufficient free space, updatep gives you the
option of either ending the command or of allowing it to continue.  If you end
the command, you can take action to increase the free space in your /usr file
system.  If you continue, no current versions of files are saved and updatep
automatically commits the update, even though you may not have requested a
commit originally.  Normally, you should reserve 4000 blocks (2 megabytes) of
free space in the /usr file system for updates.

You cannot use INTERRUPT to stop the updatep command.  To stop updatep, press
QUIT WITH DUMP.  This should be used only in extreme circumstances since the
state of the system cannot be predicted.  For example, some update control
files may need to be deleted.  If the program is interrupted, you must run
/etc/lpp/inuconfig to reset the status of the system to what it was before
updatep was issued.

FLAGS

-a[i]    Applies the updates for one or more LPPs.  If there is a pending
         update for any LPP on the system, updatep does not permit an apply.
         You must either commit or reject all pending updates before it accepts
         another update apply.

         The updatep command asks you to select the LPP you wish to update.
         After you select a LPP, updatep runs the inudocm command for any
         specific update instructions.  If it finds any, it copies them into
         the file /usr/lpp/lpp_idd/ui.vv.rr.llll., where vv is the version, rr
         the release, and llll the level of the LPP.  For fixes, this is
         /usr/lpp/lpp_idd/ui.vv.rr.llll.ffff, where ffff is the fix number.
         Normally you should review instructions before continuing.  To restart
         the update procedure and ignore the check for existing update
         instructions, enter updatep -ai or updatep -aci.

         The updatep command applies the update for each LPP by running inuupdt
         for each name.  After each update, it deletes the
         /usr/lpp/lpp_idd/inst_updt directory.  It then runs inudocm to check
         for any update documentation.  If there are changes to any documents
         shipped with this update, updatep copies it into the file
         /usr/lpp/lpp_idd/me.vv.rr.llll and writes a message.



Processed November 8, 1990       UPDATEP(8,C)                                 2





UPDATEP(8,C)                AIX Commands Reference                 UPDATEP(8,C)




-c       Commits a previous update apply.  updatep presents selection
         information for LPPs that have pending updates.  You select the LPPs
         that you want to commit.

         Any LPPs that you apply as a group must be committed as a group.
         Management control information about the update changes to indicate
         that the LPP is committed.  updatep deletes the directory that
         contains the update recovery information,
         /usr/lpp/lpp_idd/inst_updt.save.

-d device
         Specifies the input device name.  The default input device is
         /dev/rfd0.  If this is a tape device, it must be the rewind device,
         /dev/rmt0rh.

-n user  Lets you specify a name in the LPP history file that is responsible
         for the LPP.  The default is the value of the system variable
         $LOGNAME.  If you specify user, the first 8 nonblank characters are
         stored in the LPP history file.

-q       Runs in quiet mode suppressing most of the interactive queries.

-r       Rejects a previous update apply for one or more LPPs.  updatep
         presents selection information for the LPPs that have pending updates.
         You select the LPPs to reject.

         Any LPPs that are grouped together by the system must be rejected or
         applied as a group.  Specify -r without -x if you want automatic
         recovery of saved files.  If you do specify the -x flag, the
         management control information about the update reflects that the
         update is rejected, but updatep does not recover saved files.  To
         recover the necessary files, look at the information in
         /usr/lpp/lpp_id/inst_updt.save.  This flag should be used only by
         someone very knowledgeable about the system.

-s       Writes status information about all pending LPP commits.

-u lpp_idd vv.rr.llll.ffff
         Uncommit takes a committed update to the lpp_idd with version,
         release, level and fix numbers equal to vv.rr.llll.ffff and puts it
         back in the applied state where it can be either committed or
         rejected.  Uncommit is only permitted if the requested uncommit is for
         the last committed update on the system.  Otherwise, if there have
         been any updates or installp(s) of any LPP since the requested
         uncommit, a list of lpps installed/updated after the requested one is
         displayed and the user is asked to first uncommit them.

-x       Cancels the automatic recovery of saved files (use with -r).

When the update completes, it is sometimes necessary for the service tools to
take special actions, such as build the kernel or reboot.  In these cases, a



Processed November 8, 1990       UPDATEP(8,C)                                 3





UPDATEP(8,C)                AIX Commands Reference                 UPDATEP(8,C)



special code must be returned to the installation tools via the installation
scripts update or inst_updt.loc. described in the AIX Operating System
Programming Tools and Interfaces.  Some codes with local implications are
returned by inst_updt.loc (for example 2, 3, 4, and 5).  Codes 5 and 7 are
specific to update.  Code 0 and error codes may be returned by either script.
This return code signals the end of the update LPP, and determines what actions
the installation tools perform next.  Use one of the following values for a
return code.

Code      Description

0         Successful completion.  No additional action is needed.

2         Successful completion.  The service tools update superblocks and the
          inode list and flush the buffers (sync).

3         Successful completion.  The service tools build a new kernel.  Then
          they update superblocks and the inode list and flush the buffers.
          Then they instruct the user to reboot the system.

4         Successful completion.  The service tools build a new kernel.  Then
          they update superblocks and the inode list and flush the buffers
          before they perform an IPL on the operating system.

5         Update cancelled by the update procedure without errors.

6         Successful completion.  The service tools update superblocks and the
          inode list and flush the buffers (sync).  Then they instruct the user
          to reboot the system.

7         The update was cancelled by the update procedure with errors.  The
          service tools recover the previous state of the system.


Internal Commands

The updatep command uses the inudocm command for update documentation control.
It uses the inuupdt command to apply an update to a single program.  inuupdt
runs a program-provided update procedure, update.  updatep passes the following
parameters to update procedure:

  o The full path name of the apply-list.

  o The full path name of the device (file) where the update information is
    stored in backup format.

In addition to the commands discussed here, program-provided update procedures
can use all of the internal commands discussed under "installp" Since they are
internal commands, they do a minimum validation of input parameters.  Their
purpose is to provide common code for functions frequently needed by most
program-provided procedures.  Since these internal commands function as
subcommands, they return exit values rather than issue error messages.



Processed November 8, 1990       UPDATEP(8,C)                                 4





UPDATEP(8,C)                AIX Commands Reference                 UPDATEP(8,C)



However, messages may come from other system commands that they run.  C
Language programmers of update procedures that call these commands can use the
/usr/include/inu21.h file to define the return codes for them.

inudocm

The inudocm command is normally used as an internal command to get copies of
specific update instructions or manual errata information that you can print
out.  There may be cases, however, when you would enter this command from the
command line (for example, if you have misplaced the manual errata information
that came with a previous update).  You must be a member of the system group to
run this command.

The inudocm command has the following syntax:

inudocm -cu {-d device} {lpp_idd} {level} {-f file}

where lpp_idd specifies the name of the program being checked.  It must be
specified unless you use the -f flag.  It can be a maximum of 8 characters.
level specifies the current level of lpp_idd.  This value must be identical to
the level value for the last committed entry in "/usr/lpp/lpp_idd/lpp.hist".
It must be specified unless you use the -f flag.

FLAGS

-d device
       Restores file from this device.  device must be the full path name of a
       device special file.  The default device is /dev/rfd0.  You must not
       specify this flag if you use the -f flag.

-e     Requests the existing manual errata information for lpp_idd from level.
       If you select this flag, inudocm uses the ar x command to extract the
       archive file /usr/sys/inst_updt/lpp_idd_erata.  (If this file is not
       present, no information is available.)  inudocm extracts any
       level-dependent manual errata information files if there are any more
       recent than the current level.  Selected files are moved to
       /usr/lpp/lpp_idd/me.vv.rr.llll.

-f file
       Identifies a file that already contains the lpp_idd and the level.  Only
       updatep itself should use this flag.

-u     Requests the existing specific update instructions for lpp_idd from
       level.  If you select this flag, inudocm uses the ar x command to
       extract the archive file /usr/sys/inst_updt/lpp_idd_instr.  (If this
       file is not present, no information is available.)  inudocm extracts any
       level-dependent specific update instruction files if there are any more
       recent than the current level.  Selected files are moved to
       /usr/lpp/lpp_idd/ui.vv.rr.llll.

The inudocm command returns the following exit values:




Processed November 8, 1990       UPDATEP(8,C)                                 5





UPDATEP(8,C)                AIX Commands Reference                 UPDATEP(8,C)



0  Normal return, no error occurred.

1  The system cannot run inudocm.

2  Specific update instruction files were requested but not found.

4  Manual errata information was requested, but none were found.

6  Specific update instructions and manual errata were both requested but not
   found.

201
   An invalid flag was specified, or the first argument was not e, -eu, or -u.

202
   One or more parameters were missing.

204
   Too many parameters were entered.

250
   The level parameter did not contain exactly 4 characters, or they were not
   numeric.

251
   An error occurred while attempting to restore /usr/sys/inst_updt/control.

253
   The directory /usr/lpp/lpp_idd does not exist.

inuupdt

The inuupdt command provides a common interface for applying an update to a
single program.  Normally, updatep runs inuupdt.

The inuupdt command has the following format:

  inuupdt -d device current-level new-level lpp_idd

where lpp_idd is the name of a program and current-level specifies the current
maintenance level.  new-level is the level of the update to be applied.
lpp_idd can be a maximum of 8 characters and current-level must be identical to
the level value in the /usr/lpp/lpp_idd/lpp.hist file.

/etc/lpp/qproc onsite sitenumber /etc/lpp/qproc
        Program to trigger the processing of all pending queue entries on an
        individual site.  qproc runs on each individual site and processes all
        pending updatep or installp actions for that site.  qproc first
        compares the local queue pointer to the global queue pointer.  If local
        queue pointer file is not found, it is assumed that the local queue
        pointer value is null meaning the site is new and all queue entries are
        to be processed.  If local queue pointer is less than global queue



Processed November 8, 1990       UPDATEP(8,C)                                 6





UPDATEP(8,C)                AIX Commands Reference                 UPDATEP(8,C)



        pointer, a "local" action is pending.  qproc processes the entries one
        by one from the entry beginning with entry after the one pointed to by
        the local pointer and ending by processing the last queue entry.

/etc/lpp/qinvoke
        Program to coordinate when qproc is to run on each site of the
        multisite cluster.  On the multisite system, this program uses the
        command at to set up jobs for each site's qproc to run.

        On the single site systems, qproc is run as a part of installp/updatep
        because to time synchronization is required for a one site system.  In
        such cases, qinvoke simply calls qproc.

FILES

See installp command for internal command files.

/usr/include/inu21.h       Error code definitions for internal routines.
/usr/lpp/lpp_idd/inst_updt Temporary directory.
/usr/lpp/lpp_idd/inst_updt.save
                           Directory for saved files.
/usr/lpp/lpp_idd/inst_updt/arp
                           Program specific control library.
/usr/lpp/lpp_idd/me.vv.rr.llll
                           Document change file.
/usr/lpp/lpp_idd/ui.vv.rr.llll
                           Update instruction file.
/usr/lpp/lpp_idd/me.vv.rr.llll.ffff
                           Document change file for fixes.
/usr/lpp/lpp_idd/ui.vv.rr.llll.ffff
                           Update instruction file for fixes.
/usr/sys/inst_updt         Temporary directory.
/usr/sys/inst_updt/control Update control library.
/usr/sys/inst_updt/inutemp.xx...x
                           Temporary files.
/usr/sys/inst_updt/lpp_idd_erata
                           Document change library.
/usr/sys/inst_updt/lpp_idd_instr
                           Update instruction library.
/usr/sys/inst_updt/updt_cntrl
                           Temporary file.

RELATED INFORMATION

See the following command:  "installp."

See the lpp.hist file in AIX Operating System Technical Reference.

See the discussion of updating programs in AIX Operating System Programming
Tools and Interfaces.





Processed November 8, 1990       UPDATEP(8,C)                                 7



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026