Home > Articles

  • Print
  • + Share This
This chapter is from the book

Software Package Administration

Both Sun Microsystems and third-party vendors deliver software as easily manipulated collections of files and executable installation/removal procedures referred to as packages. Software packages can be installed on or removed from standalone systems or servers in a fairly straightforward manner because both the root and /usr file systems are local.

Package Tools

Solaris 8 package tools provide a convenient mechanism for installing and removing packaged software. These package tools are standard Unix commands and are accessible through the shell command-line interface. In addition, the system administration tool, admintool(1M), provides a GUI for installing and removing packages.

These are the most commonly used command-line package tools:

  • pkgadd(1M)—Installs packages

  • pkginfo(1) and pkgparam(1)—Displays information about packages

  • pkgrm(1M)—Removes a package

  • pkgchk(1M)—Checks that a package has been correctly installed

Installing a Package by Using the pkgadd Command

The pkgadd command can install a package from disk or CD-ROM. Typically, software obtained through the network or from magnetic tape or floppy disk is copied into a spool directory on the system before installation. The default package spool directory is /var/spool/pkg, but you can use any location with adequate free space.

To install one or more packages located in the default spool directory by using the pkgadd command, only the package names need to be specified as command-line arguments. For example, to install the SUNWast package, you use the following command:

# pkgadd SUNWast

Processing package instance <SUNWast> from </var/spool/pkg>

Automated Security Enhancement Tools
(i386) 11.8.0,REV=2000.01.08.18.17
Copyright 2000 Sun Microsystems, Inc. All rights reserved.
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 <SUNWast> [y,n,?] y

Installing Automated Security Enhancement Tools as <SUNWast>
## Installing part 1 of 1.
Installation of <SUNWast> was successful.
# 

If a package was spooled onto the system into a different directory, you specify the alternative spool directory by using the -d command-line argument. For example, if the /tmp directory was used to spool the SUNWast package onto the system, use the following command to install the package:

pkgadd –d /tmp SUNWast

To install a package located on CD-ROM, use the -d command-line argument to specify the pathname to the CD-ROM drive. For example, you can use the pkgadd command to install the SUNWast package from a CD-ROM mounted at /cdrom/cdrom0:

pkgadd –d /cdrom/cdrom0 SUNWast

Actually, the pkgadd command does not require the name of a package. If no package name is specified, the pkgadd command prompts you with a list of packages that are available in the specified spool directory or on the CD-ROM.

You use the -s command-line argument to spool a package into a spool directory instead of installing it. The following command spools the SUNWast package in from the second CD-ROM of the Solaris distribution to the /var/spool/pkg directory (long lines are wrapped):

# pkgadd -s /var/spool/pkg 
 -d /cdrom/sol_8_600_ia_2/Solaris_8/Product SUNWast
Transferring <SUNWast> package instance
# 

When you're using the default spool directory, just the word spool can be specified with the -s command-line argument.

Installing a Package by Using admintool

After you start the admintool command, choose Browse, Software from the menu to open the Software dialog box (see Figure 3.1).

Figure 3.1Figure 3.1 The Admintool: Software dialog box.

To install a package, choose Edit, Add from the menu. The Set Source Media dialog box opens, in which you can select either CD-ROM or Hard Disk. Figure 3.2 shows the Software Location set to CD with Volume Management. The other choices are CD Without Volume Management and Hard Disk. If you're using a CD-ROM, fill in the pathname in the CD Path text box.

Figure 3.2Figure 3.2 Selecting source media settings in the Admintool: Set Source Media dialog box.

If the package has been spooled onto disk, change the Software Location selection to Hard Disk (as shown in Figure 3.3) and specify the spool directory if necessary.

Figure 3.3Figure 3.3 Selecting the Hard Disk setting in the Admintool: Set Source Media dialog box.

After selecting the source media, click OK. The Add Software dialog box opens (see Figure 3.4).

Figure 3.4Figure 3.4 The Admintool: Add Software dialog box.

The available packages on the CD-ROM or in the spool directory are listed. Figure 3.4 shows one package in the /var/spool/pkg directory, the Automated Security Enhancement Tools package. To install the package, select the check box to the left of the package title and click the Add button. The admintool command calls the pkgadd command and opens a window to display the results.

Obtaining Package Information by Using the pkginfo Command

The pkginfo command with no command-line arguments displays a list of installed packages. The following example shows a partial listing of installed packages:

# pkginfo
system   AMImega    MEGA Family SCSI Host Bus Adapter
system   CPQcnft    Compaq NetFlex Family NIC
system   CPQncr     Compaq Family SCSI HBA
system   CPQsmii    Compaq SMART-2/E Array Controller
system   MADGFmt    Madge Token Ring Family of NIC
system   MYLXflp    Buslogic FlashPoint Ultra PCI SCSI
.
.
.
system   SUNWapchu   Apache Web Server (usr)
system   SUNWarc    Archive Libraries
system   SUNWarrf    X11 Arabic required fonts
system   SUNWast    Automated Security Enhancement Tools
system   SUNWatfsr   AutoFS, (Root)
system   SUNWatfsu   AutoFS, (Usr)
system   SUNWaudd    Audio Drivers
system   SUNWaudh    Audio Header Files
system   SUNWaudio   Audio applications
.
.
.
#

Each software package includes a file named pkginfo containing various pieces of information about the package. This file is also used to store information generated during and after installation, such as the installation date and a list of any patches applied to the package. To view the contents of the pkginfo file for a particular package, use the pkginfo command and specify the -l command-line argument and the name of the package. For example, to display the pkginfo file for the SUNWast package, use the following pkginfo command:

# pkginfo -l SUNWast
  PKGINST: SUNWast
   NAME: Automated Security Enhancement Tools
 CATEGORY: system
   ARCH: i386
  VERSION: 11.8.0,REV=2000.01.08.18.17
  BASEDIR: /
  VENDOR: Sun Microsystems, Inc.
   DESC: administrative utilities for improving system
       security by monitoring or restricting access to
       system files and directories

  PSTAMP: catsup20000108183522
 INSTDATE: Jan 13 2001 21:31
  HOTLINE: Please contact your local service provider
  STATUS: completely installed
   FILES:   41 installed pathnames
         1 shared pathnames
         8 directories
        29 executables
        232 blocks used (approx)
# 

Obtaining Package Information by Using admintool

You can also use the admintool command to obtain the same information as from the pkginfo command. To display a list of installed packages, choose Browse, Software from the menu to display a list similar to the one in Figure 3.1.

To view selected contents of the pkginfo file for a particular package, highlight the package name in the list and click the Show Details button. The Software Details dialog box opens (see Figure 3.5).

Figure 3.5Figure 3.5 The Admintool: Software Details dialog box.

TIP

The pkginfo file for each installed package, along with other package-related files, is located under the /var/sadm/pkg directory in a subdirectory with the same name as the package.

Removing a Package by Using the pkgrm Command

The pkgrm command is used to remove installed packages. To remove one or more packages, only the package names need to be specified as command-line arguments. For example, to remove the SUNWast package, use the following command:

# pkgrm SUNWast

The following package is currently installed:
  SUNWast     Automated Security Enhancement Tools
          (i386) 11.8.0,REV=2000.01.08.18.17

Do you want to remove this package? y
# Removing installed package instance <SUNWast>
## Verifying package dependencies.
## Processing package information.
## Removing pathnames in class <none>
/usr/aset/util/taskstat
/usr/aset/util/str_to_mode
.
.
.
/usr/aset/masters/uid_aliases
/usr/aset/masters/tune.med
/usr/aset/masters/tune.low
/usr/aset/masters/tune.high
/usr/aset/masters
/usr/aset/asetenv
/usr/aset/aset.restore
/usr/aset/aset
/usr/aset/archives
/usr/aset
/usr <shared pathname not removed>
## Updating system information.

Removal of <SUNWast> was successful.
#

Removing a Package by Using admintool

You can also remove an installed package by using the admintool command. First, to display a list of installed packages, choose Browse, Software from the menu.

To delete a package, highlight its name in the list and choose Edit, Delete from the menu. A Warning dialog box opens to confirm removal of the package (see Figure 3.6). Click Delete to delete the package. The admintool command calls the pkgrm command and opens a dialog box to display the results.

Figure 3.6Figure 3.6 The Admintool: Warning dialog box.

  • + Share This
  • 🔖 Save To Your Account