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.


    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.