6.2. Uploading Packages to RHN Satellite Server
The RHN Push application allows you to serve custom packages associated with a private RHN channel through the RHN Satellite Server. If you want the RHN Satellite Server to serve only official Red Hat Enterprise Linux packages, you do not need to install RHN Push.
To use RHN Push, install the
rhnpushpackage and its dependencies. This package is available to registered RHN Satellite Server systems and is installed by running
RHN Push uploads RPM header information to the RHN Satellite Server database and places the RPM in the RHN Satellite Server package repository. Unlike the RHN Proxy Server's RHN Package Manager, RHN Push never distributes package information, even the headers, beyond the RHN Satellite Server database.
If your Satellite installation is enabled to support Solaris OS systems, you may use RHN Push from a Solaris client to upload Solaris package content to custom Solaris channels.
6.2.1. Configuring the RHN Push Application
When RHN Push is installed, a central configuration file is installed in
/etc/sysconfig/rhn/rhnpushrc. This file contains values for all the options contained in Table 6.2, “
rhnpushoptions”. In addition, the application creates
./.rhnpushrcupon its initial use.
These distinct configuration files are useful in varying your settings depending on the directory from which the
rhnpushcommand is issued. Settings in the current directory (
./.rhnpushrc) take precedent over those in the user's home directory (
~/.rhnpushrc), which are used before those in the central configuration file (
For instance, you can use the current directory configuration file to specify the software channel to be populated, the home directory configuration file to include the username to be invoked, and the central configuration file to identify the server to receive the packages.
Table 6.2, “
rhnpushoptions” contains all command line options for the
| || Increase verbosity, option can be used multiple times, that is, |
| ||Process packages from this directory.|
| || Specify the channel to receive packages. Note that this is required and is not the same as the channel's name. Multiple channels may be specified using multiple instances of |
| ||Process this number of headers per call. Must be an integer. The default number is 25.|
| ||List only the specified channels.|
| ||Associate this relative directory with each file.|
| ||Include your organization's ID number. Must be an integer.|
| || Include the RHN username of the user that has administrative access to the specified channel. If not provided, |
| || Include RHN password of user that has administrative access to the specified channel. If not provided, |
| || Read package list from standard input, for example from a piped |
| ||Exclude packages that match this glob expression.|
| ||Force upload of a package, even if a package of that name and version currently exists in the channel. Without this option, uploading a pre-existing package returns an error.|
| ||Don't fail if packages are unsigned.|
| ||Forces RHN Push to drop the username and password cache, then accept or ask for new ones. This is useful if you make a mistake entering them the first time.|
| || Push only the packages that are newer than those on the server. Note that source packages are special in that their versions are never compared to each other. Their newness is dependent on their associated binary packages. Using this option with RHN Push and just a source package does upload the package, but the source package does not appear in the RHN Web interface until the associated binary package has been uploaded. Contrast this with |
| ||Upload only the headers.|
| ||Upload the indicated source packages. Doing this treats them as plain, stand-alone packages and not as special source packages associated with another, pre-existing binary package. For example, you can use this when you want to distribute application source to developers and testers outside of regular source control management.|
| || Specify the server to which packages are uploaded. Currently, a value of |
| ||Only print a list of the packages to be pushed, don't actually push them.|
| ||Briefly describe the options.|
| ||View the usage summary.|
These command line options are also described in the