Install And Register Spacewalk Client To The Spacewalk Server

This is the third part of the Spacewalk server installation and configuration series in CentOS 7. The first two parts described how to install and configure Spacewalk server and how to manage Spacewalk channels and repositories.

In this tutorial, let use see how to install Spacewalk clients and how to register them to our Spacewalk server.

Install And Register Spacewalk Client

Install Spacewalk clients:

My client system details are:

  • Operating system : CentOS 7 64 bit minimal
  • IP address :
  • Hostname : client.unixmen.local

Run the following command in your client systems:

yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin

If your CentOS client default repositories doesn’t have the above packages by default, add EPEL and Spacewalk repository, and try again.

yum install epel-release
rpm -Uvh

Next, we need to register the Spacewalk clients in order to subscribe channels.

Register Spacewalk clients:

We can do it either from Spacewalk server dashboard or from command line. First we will see how to register from Spacewalk dashboard.

Method 1: Register Spacewalk clients via Dashboard

Go to your Spacewalk server’s main dashboard by navigating to: https://spacewalk-server-ip/.

Enter the user name and password:

Spacewalk - Sign In - Google Chrome_001

From the Dashboard, click on the link that says: Manage Activation Keys.

Spacewalk - Overview - Overview - Google Chrome_002

In the next window, copy the activation key.

Spacewalk - Systems - Activat_ -

Go to your client system’s Terminal, and run the following command to register it to the Spacewalk server.

rhnreg_ks --serverUrl= --activationkey=1-cc1fa76a7df5430f0985311d5af8bb18

Now, go to Systems (top menu) in the Spacewalk server dashboard. You’ll see there the client system has been registered.

Spacewalk - Systems - Overview - Google Chrome_003

Also you see that, the client system has subscribed automatically the Base channel (Ex. sk_centos7). To view the further details of the client, just click on the client (Ex. client.unixmen.local)

Spacewalk - Systems - Sy_ -

Next, we need to enable the child channels of the base channel to get packages.

To do that, go to Systems –> <client> –> Software –> Software Channels –> Software Channel Subscriptions.

Select the Child channels (Ex. sk_mariadb_centos7) and click Change Subscriptions and then Confirm.

Spacewalk - System_ -

In the next window, click Modify Base Software Channel.

Spacewalk - Systems - Systems - Software - Software Channels - Google Chrome_004

Done! Our client is subscribed to the Channels.

Method 2: Register Spacewalk clients from Command line

We can also register clients from the client system Terminal itself.

To list subscribed base channels, run:

spacewalk-channel -l

Sample output:


To list the available child channels:

spacewalk-channel -L

You’ll be asked to enter the user name and password of the Spacewalk server admin account.

Sample output:

Username: admin

Now, to subscribe the child channel, run:

spacewalk-channel -a -c sk_mariadb_centos7

Enter the user name and password of the Spacewalk server admin account.

Now, verify the subscribed channels using command:

spacewalk-channel -l

Sample output:


That’s it. Now, you can start to install or update packages from the Spacewalk Channels.

Also, make sure that you have disabled all other non-Spacewalk repositories.

To do that, run:

sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/*
sed -i '/name=/a enabled=0' /etc/yum.repos.d/*

Update the repositories list using command:

yum update

Sample output:

Loaded plugins: fastestmirror, rhnplugin
This system is receiving updates from RHN Classic or Red Hat Satellite.
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package MariaDB-shared.x86_64 0:10.0.21-1.el7.centos will be obsoleting
--> Processing Dependency: MariaDB-common for package: MariaDB-shared-10.0.21-1.el7.centos.x86_64
---> Package mariadb-libs.x86_64 1:5.5.40-1.el7_0 will be obsoleted
--> Running transaction check
---> Package MariaDB-common.x86_64 0:10.0.21-1.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

 Package Arch Version Repository Size
 MariaDB-shared x86_64 10.0.21-1.el7.centos sk_mariadb_centos7 1.2 M
 replacing mariadb-libs.x86_64 1:5.5.40-1.el7_0
Installing for dependencies:
 MariaDB-common x86_64 10.0.21-1.el7.centos sk_mariadb_centos7 43 k

Transaction Summary
Install 1 Package (+1 Dependent package)

Total download size: 1.2 M
Is this ok [y/d/N]: 


As you see in the above output, the packages are installed from Spacewalk child channel (Ex. sk_mariadb_centos7).

In case, you got any dependency problems, you should sync the repository of Base channel to your Clients.


I hope you will get some basic ideas about Spacewalk installation, configuration, and usage. I am not expert in Spacewalk or Red Hat Satellite server. I am still new to Spacewalk and I am learning it. If there is any mistake in these guides, please feel free to notify me. I will correct them and update the articles. Spacewalk is very good option if you are managing a large number of client systems in your organization. I will come up with an another Interesting article about Spacewalk soon. Till then, stay tuned.


Source and Reference: