Chapter 1. Understanding Software Installations

SGI software is distributed on compact discs (CDs) . A CD contains one or more software products and any special tools that the products require for installation. The purpose of the installation utility, inst, is to transfer software in the distribution, which has an encoded format, to a hard disk in a usable format. The installation utility offers two user interfaces: a graphical interface called Software Manager, documented in the Personal System Administration Guide  and a command-line interface, called Inst the subject of this guide.

A distribution CD always includes installable release notes that provide installation instructions, including any prerequisites and incompatibilities information about the software that the CD contains. You can read product release notes from the distribution CD using the CDgrelnotes or CDrelnotes command. Instructions for reading release notes are included in the CD jewel case insert.

Software Release Types

Any software distribution is one of several release types; the type is determined by the purpose of the software in the release. A base release of the IRIX operating system upgrades the fundamental services that support all hardware and software functions. When a base release is installed, all components of the operating system are replaced by a new version. The new base software operates on all workstation and server models, unless the release specifically designates an older model for obsolescence.

Intermediate releases are distributed subsequent to a base release. They correct flaws in the base release or introduce additional hardware and software features to it. Because the new files in an intermediate release overwrite the existing files that they are replacing, they are also referred to as overlays.

A base release and the intermediate releases that apply to it constitute a release family. The following intermediate releases may be members of the family:

Maintenance  release 

contains device drivers for new hardware, replacement software to correct flaws in a base release, or both.

Feature release  

contains the software in any maintenance release that precedes it, as well as new software options and features that enhance the base release but are not required for its proper functioning.

Patches  

contain a collection of one or more files that correct a serious and urgent problem in a software release, such as a threat to system security or data integrity. Patches are issued when a remedy is required before the next scheduled maintenance release. Patches are also issued to correct a problem that occurs only on a particular hardware platform.

A patch can apply to a base release, a maintenance release, or a feature release. When you install a patch, the existing files are moved to a holding directory and the new files are installed in their place.

Only maintenance releases or feature releases are installed onto a particular base release. For example, if you choose to install a maintenance release on the IRIX 6.5 base release, all subsequent installations will be maintenance releases (or patches to a maintenance release) until you install the next base release.

Anatomy of a Software Product

A software product  is a collection of files that support either an operating system function or a specific application. A small number of products support critical functions and must be installed if the system is to operate; other products are not critical but optimize system operation and are recommended for installation by the manufacturer. A subset of required and recommended products is installed in servers and workstations before they leave the factory.

Products are known to Inst by a shortname, which is an abbreviation of the formal product name. For example, the shortname of the Fortran 77 Compiler product is ftn77_dev. When you install a product, files from the previous version are automatically removed before the new files are installed (see “Managing Configuration Files” in Chapter 4 for exceptions). If a release includes hardware-specific files, the installation utility automatically determines the correct version for a particular model and installs it.

A software product contains three elements: a product description, an installation database, and one or more images, which are composed of subsystems. Figure 1-1 illustrates a distribution containing four software product releases.

Product Descriptions

The product description is a file that contains information about product requirements and the installation environment for the product. The name of the product description file is the shortname for the product. For example, the name of the product description file for the Fortran 77 Compiler product is ftn_dev. Because it contains product specifications, the product description is also referred to as the spec file.

The Installation Database

The installation database is a file that contains installation information for every file in the product. The name of the installation database is the shortname with an .idb extension. For example, the name of the installation database for the Fortran 77 Compiler product is ftn_dev.idb. The installation database for a product is also referred to as the idb file.

Images

An image is a collection of installable files that perform a similar or complementary function. Typically, each software product contains at least two images. This modularity allows for tailoring installations. For example, it is possible to install the images that contain the executable programs of a product without installing the release notes image.

The name of an image is the product shortname followed by an extension that describes the image's function. For example, ftn_dev.sw is the image in the Fortran 77 Compiler product that contains files for program execution, and ftn_dev.man is the image that contains documentation files.

Figure 1-1. Components of a Software Release

Components of a Software Release

Subsystems

Images are composed of one or more subsystems. In a software product release, a subsystem is the smallest installable unit of software; the files that make up a subsystem cannot be installed individually (see “Sources of Installable Software” for exceptions). Subsystems are assigned three-part names in this form:

product.image_type.subsystem_descriptor 

For example, ftn.sw.ftn and ftn.sw.utils are subsystems in the Fortran 77 Compiler product.

Required and Default Subsystems

Some subsystems in a software product are classified as  default  subsystems. Default subsystems support the basic functions of a product and are suggested for installation by the manufacturer. When disk space is limited, the default subsystems serve as a guideline for determining what to install.

Some default subsystems are also classified as required subsystems . Required subsystems are critical to system operation; without them, IRIX will not operate. Inst prevents users from exiting an installation session if a required subsystem is available for installation but not installed (unless you choose to remove this safeguard).

Preliminary Selections

When Inst is initialized, it makes preliminary selections of the subsystems to be installed during the session. If a target system contains no software, the preliminary selections always include all required and default subsystems in the distribution. On targets with software installed, the preliminary selections are all upgrades to the installed software and all default subsystems of any new products that the distribution contains. When subsystems are displayed during an installation session, upgrade subsystems are tagged with the letter U to the left of the subsystem name; default subsystems are tagged with the letter d, and required subsystems are tagged with the letter r to the right of the subsystem name.

Factory-Installed Subsystems

Some subsystems from the eoe, motif_eoe, and other standard (no-cost) products are factory installed . The eoe product contains basic operating system software, utilities, and window system software. Extra-cost software options such as compilers are not factory installed.

To display the inventory of software that is installed on a system when you receive it, use the program showprods (see the showprods(1M) reference page):

% showprods 

The output of showprods is one line for every product, image, and subsystem installed on the target. You can remove any factory-installed software that you do not need, except required subsystems. 

Sources of Installable Software

The location of a software distribution is known as the distribution source; the system receiving software during an installation is known as the target. A distribution source may be a CD that is mounted on the target, a CD that is mounted on a remote system, or a centralized directory on the network to which the distribution has been copied (see Figure 1-2). When a distribution CD contains operating system software, the software is stored in a directory called /dist.

A server or personal workstation that supplies a distribution source to remote targets is known as an installation server. An installation server can provide the distribution source from a local CD-ROM drive or from a disk directory that contains the installable images. A directory of installable software is known as a distribution directory. A distribution directory may contain software from several distributions.

Figure 1-2 illustrates local and remote distribution sources.

Figure 1-2. Software Distribution Sources  

Software Distribution Sources
 

Software Installation Methods

As of IRIX 5.3, most software installations can be performed without interrupting system operations on the target. Installations that are performed without shutting down the system are referred to as live installations. Live installations are preferred because they are usually less time consuming and because other system operations can be sustained during the installation session.


Note: Live installations can be performed with both Inst and Software Manager. See Chapter 3, “Starting an Installation”, for more information.

Whenever software installation affects fundamental IRIX functions (such as device management), software must be installed by a miniroot installation, which requires a system shutdown. During a miniroot installation, a special set of installation tools is copied to the swap partition of the system disk on the target. The software environment that these tools create for the installation is referred to as the miniroot. Only a portion of the IRIX operating system is available in the miniroot (see “About Miniroot Installations” in Chapter 3 for more information).


Note: (Applies to IRIX 6.3 or later) In Software Manager sessions, a miniroot installation is automatically performed if required by any subsystem specified for installation. The system shutdown and restart are transparent to the user except for informational messages, and in most cases, no user interactions are required in the miniroot.


Introduction to Inst

Inst is invoked automatically in a miniroot installation; it is invoked from the command line in a live installation. After Inst is invoked, its Main menu is displayed.


Note: It might be useful to look at Figure 4-1 for an illustration of the installation process.

Figure 1-3  illustrates the Main menu.

Figure 1-3. The Main Menu for Inst

The Main Menu for Inst

Automatic Initialization

During initialization , Inst reads the product descriptions and the installation database, makes preliminary selections of subsystems to install (see “Required and Default Subsystems”), and calculates estimated space requirements. Initialization is triggered when you issue the first command of the session that requires Inst to collect information about either the distribution or the target software.

The Main Menu

The Main menu contains all commands that are needed to install and remove software. When the Main menu is displayed, Inst posts this prompt to accept command entries:

Inst>

Changing the Distribution Source

Inst always assumes that the installation target is the system on which it is running. Inst selects a default distribution source, which, for live installations, is the distribution source of the previous installation; for miniroot installations, the default source is the location from which the miniroot was invoked (usually the local CD-ROM). You can change a distribution source using the  from command and specify additional distributions with the open command during an installation session.

Viewing the Software Inventory

The list command displays an inventory of the software on either the distribution or the target system. Displaying software inventories early in a session is helpful in deciding what software to install or remove. By default, the output of list displays the shortnames of subsystems in the distribution inventory, their size and description, and selection and installation information.

Using the view command, you can toggle the list command so that it displays either the distribution or the target inventory. The view command also focuses list output on different levels of the product hierarchy so that you can display information about subsystems, images, or entire products (see Figure 1-1 ). You can also use view to filter certain information from list displays.

Selecting and Installing Software

You can install the preliminary installation selections that Inst makes during initialization or change these selections before launching an installation. The install command selects items in the distribution inventory for installation; the remove command selects items on the target inventory for removal. The keep command selects items on either list for which no action should be taken. A special selection command, step, allows you to list software components individually and select them as each component is listed.

You can change selections as many times as necessary as long as you do not issue the  go command, which launches the installation. The go command initiates the installation and removal of software that you specified in your selections.

Handling Conflicts

Sometimes the selections that you make for installation or removal cause conflicts. For example, a conflict occurs if you select two incompatible subsystems for installation, if you select a subsystem for installation and do not select its prerequisites, or if you close a distribution before installing the products that you selected from it. When conflicts occur, the go command does not execute, and Inst posts a conflict advisory that suggests a resolution to the conflict. When you see a conflicts advisory, you can either use the conflicts command to accept one of the suggested resolutions or use the install and remove commands to change your selections.

You also see an advisory if your selections require more disk space than is safely available. This condition requires that you change your selections or remove software from the target system.

Ending a Session

To end an Inst session, enter the  quit command. When you quit an installation session, Inst performs cleanup operations on target filesystems and on the newly installed software.

Supplementary Menus

Inst offers three supplementary menus that you can use to augment Main menu functions:

  • the View Commands menu

  • the Administrative Commands menu

  • the Interrupt menu

The View Commands menu (shown in Figure 5-1 ) contains selections that let you control information displays during the session. For example, a listing of distribution software normally includes all products that the distribution contains. Using the View Commands menu, you can request a list of the new software products only.

The Administrative Commands menu (shown in Figure 5-2) contains two types of selections: commands that let you display or adjust conditions on the target system, such as the mount and umount commands, and commands that let you control Inst operations, such as the recalculate command.

The Interrupt menu (shown in Figure 5-3) is used to suspend command processing. It is rarely necessary to display this menu during a session, and Inst displays it only under unusual error conditions.

Getting Help During Installations

During an installation session, you can use the help command from any menu to get information about almost every Inst command and command argument. Enter the help command alone to get general instructions on using online help. Enter the help command followed by an argument to get help on the topic specified in the argument. Table A-1 gives a complete list of topics for which help is available.

This sample illustrates a help entry and the information that it provides:

Inst> help upgrade 
                    upgrade U
“upgrade” is a keyword argument for the “install”, “keep”, “list”, and “step” commands. For example, “install U” requests that all subsystems that are currently installed and have newer counterparts in the software distribution be installed...

Understanding installation terminology and the Inst installation model is important to using Inst successfully. To get this information, issue this command during an installation session:

Inst> help overview