What is UNIX

POSIX Software Administration

The UNIX 98 brand, introduced with the Single UNIX Specification, Version 2, includes a new Component Definition defined by IEEE Std. 1387.2-1995, Software Administration (POSIX-7.2). This standard provides a comprehensive set of software packaging and administration utilities and a standard format for software packages that simplify all of the major functions of distributing and managing software in stand-alone or distributed heterogeneous environments.

The UNIX 98 Software Administration Component enables software packagers to package software into a single distribution for multiple platforms, and to define relationships between software components which can range from simple to complex. For example, software packages can be a simple set of files, an application, or a bundle of related applications. This also provides the administrator with a consistent way to distribute, install, and control software (including listing, verifying, reconfiguring, and removing). Software providers and administrators will no longer have to write their own tools and repackage software for use with these tools.

Introduction

The packaging, distribution, and control of software is an important and time-consuming task for software developers and administrators. In order to manage software in a distributed, heterogeneous environment, both software developers and administrators have often been required to develop their own management tools.

Software developers are currently faced with one of two choices. They can develop their own installation procedure and port it to each of their target platforms, or they can design different installation procedures for each target platform using the formats and procedures supported by that platform.

Administrators in heterogeneous environments often resort to defining their own tools so that they have a common way to manage software across all of their systems. Even though comprehensive software management solutions are becoming more prevalent in the market, many of these solutions require repackaging the software into a supported format.

Scope of POSIX

The original work going into POSIX-7.2 focused on UNIX systems. Over the course of development, the standard was broadened to permit implementation by other operating systems, including those for personal computers.

The scope of POSIX Software Administration can be viewed in two ways: the components of the standard from a functionality point of view, and the various roles that operate on software from the time it is developed to its execution by end users. These are presented next.

Components

There are three main components that the standard addresses:

  1. Standard Software Structures and Software Packaging Layout

    The standard defines a hierarchical set of structures that the software developer can use to organize software files into manageable components. These structures can be built to reflect both purchasing options and installation options ranging from the simple to the complex.

    The standard also defines the layout of the distribution media containing packaged software. This provides portability of installation media, as the media can be processed by any conforming system. Both serial and directory access formats are defined so that a wide range of media can be supported using the same layout.

  2. Standard Utilities and Software Catalog Information

    By providing an interface for software administration that is consistent for all conforming implementations, administrators are able to use any such systems without retraining. Additionally, this greatly simplifies the installation documentation that software developers need to provide, as they can point to standard interfaces.

    The standard provides utilities to package software files into distributions using the software packaging layout. There are utilities to install the software from the distribution onto target systems, and then manage that software once it is on the system. There are also utilities to manage the distributions themselves, including distributing software between systems.

    Inventory information about the distributions is maintained both within the distribution as well as on the system after the software is installed. This information is stored in a software catalog, and is used to drive the management utilities. These management utilities include listing, verifying, or removing software. Thus, once the software package is defined, there are utilities to manage it throughout the software lifecycle.

  3. Distributed Software Administration

    The standard defines the concepts and the utility syntax for managing software in a distributed environment. An implementation of the standard can either provide the fully distributed utilities as defined in the standard, or provide limited conformance, meaning only local, or stand-alone, operations are supported. In order to understand the distributed aspects of the standard, it helps to present the distributed roles provided in the POSIX-7.2 rationale.

Distributed Roles

POSIX-7.2 roles can be viewed as processes that take software from one state to another; for example, from the form it has when it is in a distribution, to the form it has after installation.

In a distributed environment, each of these roles can be on a separate system, although for local operations they would obviously all be on the same system.

The full text of this article is in chapter 17 of the Go Solo 2 book. This chapter describes the capabilities provided by POSIX-7.2 that can help address the complexities of distributed software administration. It starts by summarizing the history, scope, and components of POSIX-7.2. Next, it presents the software structures and packaging layout available to software developers to create and distribute portable software packages. Finally, it describes the standard utilities available for the administrator to install and manage software in a distributed environment.

Read other technical papers.

Read or download the complete Single UNIX Specification from http://www.UNIX-systems.org/go/unix.

Copyright © 1997-1998 The Open Group

UNIX is a registered trademark of The Open Group.