Installing Software Packages (Application Packaging Developer’s Guide)

Application Packaging Developer’s Guide

Installing Software Packages

Software packages are installed using the pkgadd
command. This command transfers the contents of a software package from the
distribution medium or directory and installs it onto a system.

This section provides basic installation instructions for installing
your package in order to verify that it installs correctly.

The Installation Software Database

Information for all packages installed on a system is kept in the installation
software database. There is an entry for every object in a package, with information
such as the component name, where it resides, and its type. An entry contains
a record of the package to which a component belongs; other packages that
might reference the component; and information such as path name, where the
component resides and the component type. Entries are added and removed automatically
by the pkgadd and pkgrm commands. You
can view the information in the database by using the pkgchk
and the pkginfo commands.

Two types of information are associated with each package component.
The attribute information describes the component itself. For example, the
component’s access permissions, owner ID, and group ID are attribute information.
The content information describes the contents of the component, such as file
size and time of last modification.

The installation software database keeps track of the package status.
A package can be either fully installed (it has successfully completed the
installation process), or partially installed (it did not successfully complete
the installation process).

When a package is partially installed, portions of a package may have
been installed before installation was terminated; thus, part of the package
is installed, and recorded in the database, and part is not. When you reinstall
the package, you are prompted to start at the point where installation stopped
because the pkgadd command can access the database and
detect which portions have already been installed. You can also remove the
portions that have been installed, based on the information in the installation
software database using the pkgrm command.

Interacting with the pkgadd Command

If the pkgadd command encounters a problem, it first
checks the installation administration file for instructions. (See admin(4) for more
information.) If no instructions exist, or if the relevant parameter in the
administration file is set to ask, the pkgadd displays a message describing the problem and prompts for a reply.
The prompt is usually Do you want to continue with this installation?. You should respond with yes, no,
or quit.

If you have specified more than one package, no stops
installation of the package being installed but pkgadd
continues with installation of the other packages. quit
indicates that pkgadd should stop installation of all packages.

Installing Packages on Standalones or Servers in a Homogeneous Environment

This section describes how to install packages on a standalone or a
server system in a homogeneous environment.

How to Install a Package on a Standalone or Server

  1. Build your package.

    See Building a Package, if needed.

  2. Log in to the system as superuser.

  3. Add the software package to the system.

    # pkgadd -d device-name [pkg-abbrev...]

    -d device-name

    Specifies the location of the package. Note that device-name can be a full directory path name or the identifiers for a
    tape, floppy disk, or removable disk.

    pkg-abbrev

    Is the name of one or more packages
    (separated by spaces) to be added. If omitted, pkgadd installs
    all available packages.

Where to Go Next

If you are ready to go to the next task, see How to Verify the Integrity of Your Package.

Example—Installing Packages on Standalones and Servers

To install a software package named pkgA from a tape
device named /dev/rmt/0, you would enter the following
command:

# pkgadd -d /dev/rmt/0 pkgA

You can also install multiple packages at the same time, as long as
you separate package names with a space, as follows:

# pkgadd -d /dev/rmt/0 pkgA pkgB pkgC

If you do not name the device on which the package resides, the command
checks the default spool directory (/var/spool/pkg).
If the package is not there, the installation fails.