This page discusses OS/2 FixPaks and service updates.
Below is a short introduction to the concept of OS/2 FixPaks and how they work. Also available on this page:
- A series of visual guides to the various FixPaks for each OS/2 product. These are designed to help you find your way through the oft-confusing maze of available FixPaks.
- I've set up a page for RSU installation of FixPaks. The actual files are downloaded from IBM's public FTP servers, so only FixPaks which IBM made available for RSU are available in this way.
- A set of instructions and utilities I wrote some time ago, called FixPak Assist, which is designed to help with installation of FixPaks on one or multiple OS/2 systems. This package includes hints on how to create a CD or LAN directory for FixPak installation.
FixPak Fundamentals
Many OS/2 users, especially new ones, have found themselves baffled by the whole business of FixPaks. If you don't understand how and why things fit together, it can seem very confusing.
Modularity
If you come from a Windows background, you're probably used to the idea of large, monolithic "service packs", designed to update everything at once. Contrary to what you may expect, OS/2 doesn't have anything like that, for the simple reason that (unlike Windows) OS/2 is not a large, monolothic operating system.
Instead, OS/2 is largely modular. The OS/2 environment actually consists of several semi-autonomous software products which combine to make up a functioning system. These products include:
- The OS/2 base operating system.
- The core networking component, which is a product called "MPTS".
- A basic set of Internet utilities and IP-based network tools, called "TCP/IP for OS/2".
- A number of related network products, collectively referred to as "LAN Services", for accessing and sharing resources on a LAN.
Because of this modular quality, it's necessary to provide FixPaks for each of these products separately. So there are individual FixPaks for the base OS, for MPTS, for TCP/IP, and for LAN Services. (Recently, IBM has also taken to providing separate FixPaks for device drivers.)
When to Install a FixPak
If you don't have any FixPaks installed, you should definitely look into installing some, especially if you have one of the earlier OS/2 versions (Warp 4 or below). When installing that first FixPak, it's generally a good idea to choose the latest one, unless you have a specific reason not to.
However, once you've settled on a FixPak level, installed it, and made sure that your system is working properly, there's no reason why you shouldn't stay at that level (at least until you're compelled to upgrade again). You shouldn't necessarily rush to install all the latest FixPaks as soon as they come out. After all, the purpose of a FixPak is to fix problems; if you're not having any problems, then what's the hurry?
The most compelling reasons to install a FixPak are:
- It introduces some new feature(s) that you need.
- You want to install some program or driver that requires it.
- You've been advised to do so (by someone who knows what they're talking about).
- You're having a problem and you think the FixPak will fix it.
Some FixPaks do introduce important new features, or fix major bugs. The individual FixPak guides describe some of these.
Which FixPaks to Install
Figuring out which FixPak(s) to install depends on your version of OS/2 (and all its related components), as well as on your particular needs. If you've got a freshly-installed, non-updated OS/2 system, you might as well start out by installing all the latest available FixPaks.
Of course, OS/2 versions and components are such a confusing maze, just working out what all the latest available FixPaks are can be challenging on its own. That's why I wrote these visual guides to help people through it. Refer to them for more information.
How to Install a FixPak
There are many different ways to install a FixPak. Unfortunately, the documentation IBM provides with their OS/2 FixPaks only describes one of these in detail, and it just happens to be the slowest, most painful, awkward and error-prone method possible: installing from diskettes.
It is not necessary to create diskettes to install a FixPak. In fact, you should not install a FixPak this way except as a last, desperate resort. Just one bad sector on one diskette has the potential to cause file corruption, and considering the generally poor quality of modern floppies, this is not an idle threat.
The diskette method of FixPak installation is more than ten years old, and was designed for an era when most systems didn't even have CD-ROM drives. There are far better, faster and more reliable methods available to us now.
The three most common ways of installing a FixPak are:
- Manually, from a hard disk, CD, or LAN drive.
- Using a web browser and the Remote Software Updates facility to install over the Internet (or other TCP/IP network).
- Using a Software Distribution Manager to perform "push" installations over a network.
Installing manually
To install a FixPak manually, you need three things. First of all, you need the FixPak files themselves. IBM typically provides these in the form of binary diskette images, so you'll also need some way to extract them. The recommended tool for doing this is with the DSKXTRCT utility, which is available on Hobbes. Finally, you need the Corrective Service Facility (CSF), which is the program that's actually used to install the FixPak. IBM usually includes a copy of the CSF with each FixPak, but for various reasons, you should download the latest version from the RSU FTP site.
Place DSKXTRCT.EXE somewhere into your system PATH. Unzip CSF144.ZIP into a directory on your hard disk. This will place three or four files into that directory, and create a subdirectory called CSF containing many other files.
Next, use DSKXTRCT to unpack the FixPak diskette images. The syntax is:
DSKXTRCT /S:<name of image file(s)> /T:<target directory>Make sure you unpack all of the diskette images into the same target directory.
Once this is done, you can start the FixPak installation by going to the directory where you unzipped CSF144.ZIP, and entering the command:
OS2SERV <path to CSF directory> <path to FixPak directory>(You must specify the paths in fully-qualified form.) This will give you a guided (GUI) installation, which is fairly easy to follow.
Using Remote Software Updates
Remote Software Updates (RSU) is a special tool which allows FixPaks to be installed over the Internet using a web browser. Instructions and a set of links for installing various FixPaks are available on this page.
Archives and Backups
When installing a FixPak, you will notice references to 'Archive' and 'Backup' files. This refers to the way in which updated files get saved for possible backing out. See the next section for more information.
Committing or Backing Out a FixPak
Backing out a FixPak means uninstalling it and restoring the system to its previous (pre-FixPak) state. Depending on which FixPaks have been installed, you may be able to back out to the "Backup" level (the system state before the last FixPak was installed), or the "Archive" level (the system state before any FixPaks were installed). Note that not all FixPaks support archiving, so in some cases only the Backup level may be available.
'Committing' a FixPak means cleaning up the Archive and Backup files so that you can no longer back it out. Committing is not mandatory, but it can free up some disk space.
The easiest way to commit or back out a FixPak is using a GUI program called SERVICE.EXE, which is part of the CSF. This program is located in the CSF directory (under the path where you unzipped CSF144.ZIP).
To use this program, you must first issue the command:
SET CSFCDROMDIR=<path>where <path> is the fully-qualified path to a FixPak's installation files. (It doesn't matter which FixPak, as long as it's a valid one for the version of OS/2 you are running, because you won't actually be installing it. This is just a workaround to prevent SERVICE.EXE from demanding floppy diskettes. I recommend pointing it to the FixPak which you're about to commit or back out, assuming you still have the files available.)
Then go into the CSF directory where SERVICE.EXE resides, and run the command:
SERVICE
From the graphical interface that comes up, select the button 'Change product list'.
- To commit a previously installed FixPak, choose 'Uncommitted products'. Select the FixPak(s) that you want to commit, and click on 'Commit'.
- To back out a previously installed FixPak, choose either 'Archived products' (to back out to the Archive level of a product) or 'Backed up products' (to back out to the Backup level of a product). Select the FixPak(s) that you want to back out, and click on 'Backout'.
Once you've committed or backed out a FixPak, you can go and delete that FixPak's saved files from wherever they were saved, typically under \ARCHIVE or \BACKUP. (In some cases, SERVICE.EXE will do this for you; generally, files under \BACKUP will be cleaned up automatically, but files under \ARCHIVE will not.)