The software described in this documentation is either no longer supported or is in extended support.
Oracle recommends that you upgrade to a current supported release.

Chapter 4 Creating and Populating Software Channels

Before you can use Spacewalk and kickstart to provision client systems, you must first define channels and populate them with software packages. To populate the channels, you can use the web interface, spacewalk-repo-sync, or spacecmd to pull packages from a repository, or use rhnpush to push packages to the Spacewalk server. For example, you might use rhnpush to extract packages from an ISO image or to upload internally developed packages.

To create a channel in the web interface, navigate to Channels, then Manage Software Channels, and click + create new channel. Specify a channel name, channel label, parent channel (select None if you are creating a base channel), and the GPG key information for the channel.

For example, if you plan to provision systems with Oracle Linux Release 7 Update 2, you might create a base channel with the label ol7u2_x86_64_base and child channels for patches, Spacewalk 2.4 client software, and the Unbreakable Enterprise Kernel Release 4 from Oracle, as follows:

ol7u2_x86_64_base
|-- ol7u2-x86_64_patch
|-- ol7u2-x86_64_spacewalk24-client
|-- ol7u2-x86_64_uek-r4

These four channels are typical for configuring clients that you provision using kickstart. From Oracle Linux Release 6 Update 7 and Oracle Linux 7 Release 1 onward, you do not need to install the Spacewalk client packages to register clients. However, Oracle recommends installing the Spacewalk client channel packages to take full advantage of Spacewalk's management capabilities, including provisioning and auditing. You also need to enable the Spacewalk Client channel if you want kickstart to register a client automatically. Kickstart does not recognize the built-in client for this purpose.

There are a number of ways to populate the created software channels with packages. An easy way to populate a software channel initially so that it can be used with kickstart is to mount an ISO image on the server and use rhnpush. After mounting an ISO image on the server, you can push packages from the ISO distribution, for example:

# mount -o loop /var/ISOs/V100082-01.iso /var/distro-trees/ol7u2-x86_64-server
 
# rhnpush -v --channel=ol7u2_x86_64_base --server=http://swksvr.mydom.com \
  --dir=/var/distro-trees/ol7u2-x86_64-server/Packages

Alternatively, you can synchronize channels from the ULN or the Oracle Linux yum server repositories by using the web interface, spacewalk-repo-sync, or spacecmd.

Note

The system that is used to run rhnpush, must be registered with Spacewalk server before this command is used, even if the command is being run on the same system that is hosting the Spacewalk server. The rhnpush command uses TLS/SSL to communicate with the Spacewalk server. If the system is not registered, rhnpush fails with a certificate error. Client registration updates the configuration to use the correct Spacewalk SSL certificate. For more information on client registration, please see Registering Client Systems in Spacewalk for Oracle® Linux: Client Life Cycle Management Guide for Release 2.4.

About Channel Differences Between ULN and Oracle Linux Yum Server

ULN provides base and patch channels for each update of an Oracle Linux release. The Oracle Linux yum server does not provide separate patch channels. Instead, it provides a public_olN_latest repository that includes all packages for an entire release. Consider the following example of populating four channels:

ol7u2_x86_64_base
|-- ol7u2-x86_64_patch
|-- ol7u2-x86_64_spacewalk24-client
|-- ol7u2-x86_64_uek-r4

While you can populate the base and UEK R4 channels from an Oracle Linux 7 Update 2 full ISO image, only ULN provides a patch channel for this release, and only the Oracle Linux yum server provides the Spacewalk 2.4 client channel. If you populate channels from ULN, Oracle recommends that you configure separate base and patch channels for each update (for example, ol6u7_x86_64_base and ol6u7_x86_64_patch for Oracle Linux 6 Update 7; ol7u2_x86_64_base and ol7u2_x86_64_patch for Oracle Linux 7 Update 2, and so on).

About the Speed of Channel Synchronization

Populating base channels for an Oracle Linux release from an ISO image is generally faster than pulling the base packages from an upstream repository. It can take several days to synchronize an Oracle Linux latest channel from the Oracle Linux yum server repository.

After you have created channels and initially populated them from an ISO image, you can synchronize them with the Oracle Linux yum server and ULN to bring them up to date. The Oracle Linux yum server is mirrored on a number of servers globally, so it can be faster to synchronize the base channels with the Oracle Linux yum server and subsequently synchronize any patch channels with ULN.

If you specify the --latest option to spacewalk-repo-sync or select the equivalent optional check box in the web interface, the server synchronizes only the latest packages that are available at the time of synchronization. It does not remove older packages from the channel. If the synchronization interval is large, you might miss a particular version of a package. This can have implications for errata handling, where errata are associated with specific package versions. If errata consistency is important to you, Oracle recommends that you do not select these options. Using --latest with a Ksplice channel is an exception to this rule because its packages are always cumulative.

About Channel Storage Space

Spacewalk requires a significant amount of disk space because it maintains all available versions of all packages in each software channel. Typically, the Oracle Linux binary repositories require approximately 60 GB for each combination of Oracle Linux release and architecture. An extra 40 GB is required for source packages and 80 GB for Ksplice updates for each combination of Oracle Linux release and architecture. However, Spacewalk conserves space where possible. If the same package is available in more than one channel, Spacewalk stores only a single instance of the package and makes the package metadata for each channel point to the same package.

For example, the addons channel for Oracle Linux Release 7 Update 2 is the same as for the initial Oracle Linux Release 7 and Oracle Linux Release 7 Update 1. A typical channel configuration has a separate base channel for each release with an associated addons child channel: ol7u0_x86_64_addons, ol7u1_x86_64_addons, and ol7u2_x86_64_addons. In this case, the Spacewalk database stores a common set of packages for all three channels.