3.2. Obtaining updates

Package updates in UNIX are handled much differently than in Linux. For instance, Solaris relies upon Patch Clusters to update multiple packages at once, while Red Hat operating systems use Errata Updates to associate upgrades with specific packages. In addition, Solaris uses answer files to predetermine package installations, something Linux doesn't understand, while Red Hat offers the conversely foreign concept of source packages. For this reason, this section seeks to highlight differences in using RHN tools on UNIX systems.

3.2.1. Updating through the website

Despite inherent differences, such as the lack of Errata, the channel and package management interfaces within the RHN website on the Satellite work largely the same for UNIX systems. All software channels designed to serve UNIX variants can be constructed almost exactly as the custom channels described in the RHN Channel Management Guide. The most significant difference is expectedly the architecture. When creating a UNIX software channel, ensure you select the base channel architecture appropriate for the systems to be served.

Further, Red Hat recommends you break down your packages into base and child channels depending on their nature. For instance, in Solaris, installation packages should go in the Solaris base channel, while patches and Patch Clusters should go in a child channel of the Solaris base channel. Extra installation packages can go in a separate Extras child channel.

RHN treats patches similarly to packages; they are listed and installed in the same way and with the same interface as normal packages. Patches are 'numbered' by Solaris, and will have names like "patch-solaris-108434". The version of a Solaris patch is extracted from the original Solaris metadata, and the release is always 1.

Patch Clusters are bundles of patches that are installed as a unit. RHN does not store the list of patches associated with a Patch Cluster. RHN has no way of telling that a Patch Cluster is installed on a system since Solaris doesn't track this information. So Patch Clusters always appear to be installable on a system and never appear in the system's installed packages list, even after they are installed. Patch Cluster names look like "patch-cluster-solaris-7_Recommended". The version is a datestring, such as "20040206", and the release is always 1.

To install packages or patches on an individual system, click the name of the system in the Systems category normally, select the packages from the Upgrade or Install lists of the Packages tab, and click Install/Upgrade Selected Packages. If a package (and not a patch), select the packages, and click Confirm to provide an answer file. Enter the full path and filename to the answer file and click Upload File.

To run a remote command while installing the package, click Run Remote Command rather than Confirm. Refer to Chapter 4 Remote Commands for instructions.

To install packages or patches on multiple systems at once, select the systems and click System Set Manager in the left navigation bar. Then, in the Packages tab, select the packages from the Upgrade or Install lists and click Install/Upgrade Packages. To complete the action, schedule the updates.

3.2.2. Updating at the command line

Like the website, command line use of the Red Hat Update Agent is affected by the limitations of UNIX package management. That said, most core functions can still be accomplished through the up2date command. The most significant difference is the absence of all options regarding source files. Refer to Table 3-1 for the precise list of options available for UNIX systems.

The command line version of the Red Hat Update Agent accepts the following arguments on UNIX systems:

ArgumentDescription
--channel=channel Specify which channels to update from using channel labels.
--getFetch the package specified without resolving dependencies.
--hardwareUpdate this system's hardware profile on RHN.
-h, --helpShow this help message and exit.
--installallInstall all available packages. Use with --channel.
-l, --listList the latest versions of all packages installed.
-p, --packagesUpdate packages associated with this System Profile.
--proxy=proxy URL Specify an HTTP proxy to use.
--proxyUser=proxy user ID Specify a username to use with an authenticated HTTP proxy.
--proxyPassword=proxy password Specify a password to use with an authenticated HTTP proxy.
--serverUrl=server URL Specify what server to use.
--showallList all packages available for download.
--show-availableList all the packages available that are not currently installed.
--show-channelsShow the channel names along with the package names where appropriate.
--show-orphansList all the packages currently installed that are not in channels the system is subscribed to.
-v, --verboseShow additional output.
--versionShow program version information.

Table 3-1. Update Agent Command Line Arguments