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.
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.
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.
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).
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.
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.