Red Hat Training

A Red Hat training course is available for Red Hat Satellite

B.2. Red Hat Network Configuration Client

As the name implies, the Red Hat Network Configuration Client (rhncfg-client) is installed and run from an individual client system. From there you may use it to gain knowledge about how RHN deploys configuration files to the client.
The Red Hat Network Configuration Client offers these primary modes: list, get, channels, diff, and verify.

B.2.1. Listing Config Files

To list the configuration files for the machine and the labels of the config channels containing them, issue the command:
rhncfg-client list
The output resembles the following list:
 Config Channel File config-channel-17 /etc/example-config.txt config-channel-17 /var/spool/aalib.rpm config-channel-14 /etc/rhn/rhn.conf 
These are the configuration files that apply to your system. However, there may be duplicate files present in the other channels. For example, issue the following command:
rhncfg-manager list config-channel-14
and observe the following output:
 Files in config channel 'config-channel-14' /etc/example-config.txt /etc/rhn/rhn.conf 
You may then wonder where the second version of /etc/example-config.txt went. The rank of the /etc/example-config.txt file in config-channel-17 was higher than that of the same file in config-channel-14. As a result, the version of the configuration file in config-channel-14 is not deployed for this system, although the file still resides in the channel. The rhncfg-client command does not list the file because it will not be deployed on this system.

B.2.2. Getting a Config File

To download the most relevant configuration file for the machine, issue the command:
rhncfg-client get /etc/example-config.txt
You should see output resembling:
Deploying /etc/example-config.txt 
You may then view the contents of the file with less or another pager. Note that the file is selected as the most relevant based upon the rank of the config channel containing it. This is accomplished within the Configuration tab of the System Details page. Refer to Section 7.4.2.9, “System Details” for instructions.

B.2.3. Viewing Config Channels

To view the labels and names of the config channels that apply to the system, issue the command:
rhncfg-client channels
You should see output resembling:
 Config channels: Label Name ----- ---- config-channel-17 config chan 2 config-channel-14 config chan 1 
The following table lists the options available for rhncfg-client get:

Table B.2. rhncfg-client get options

Option Description
--topdir=TOPDIR Make all file operations relative to this string.
-h, --help Show help message and exit

B.2.4. Differentiating between Config Files

To view the differences between the config files deployed on the system and those stored by RHN, issue the command:
rhncfg-client diff
The output resembles the following:
 --- /tmp/@3603.0.rhn-cfg-tmp 2004-01-13 14:18:31.000000000 -0500 +++ /etc/example-config.txt 2003-12-16 21:35:32.000000000 -0500 @@ -1,3 +1,5 @@ +additional text 
In addition, you may include the --topdir option to compare config files in RHN with those located in an arbitrary (and unused) location on the client system, like so:
 [root@ root]# rhncfg-client diff --topdir /home/test/blah/ /usr/bin/diff: /home/test/blah/etc/example-config.txt: No such file or directory /usr/bin/diff: /home/test/blah/var/spool/aalib.rpm: No such file or directory 

B.2.5. Verifying Config Files

To quickly determine if client configuration files are different than those associated with it via RHN, issue the command:
rhncfg-client verify
The output resembles the following:
 modified /etc/example-config.txt /var/spool/aalib.rpm 
The file example-config.txt is locally modified, while aalib.rpm is not.
The following table lists the options available for rhncfg-client verify:

Table B.3. rhncfg-client verify options

Option Description
-v, --verbose Increase the amount of output detail. Displays differences in the mode, owner, and group permissions for the specified config file.
-h, --help Show help message and exit