6.2. Uploading Packages to RHN Satellite Server

download PDF
The RHN Push application allows organizations to serve custom packages associated with a private RHN channel through the RHN Satellite Server. If the RHN Satellite Server is only going to serve official Red Hat Enterprise Linux packages, there is no need to install RHN Push.
To use RHN Push, install the rhnpush package and its dependencies. This package is available to registered RHN Satellite Server systems and is installed by running up2date rhnpush.
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, outside of the RHN Satellite Server database.


If the Satellite installation is enabled to support Solaris OS systems, it is possible to 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, “rhnpush options”.
These distinct configuration files are useful in varying settings depending on the directory from which the rhnpush command 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 (/etc/sysconfig/rhn/rhnpushrc).
For instance, the current directory configuration file can be used to specify:
  • The software channel to be populated
  • The home directory configuration file to include the username to be invoked
  • The central configuration file to identify the server to receive the packages
Table 6.2, “rhnpush options” contains all command line options for the rhnpush command:
Table 6.2. rhnpush options
Option Description
-v --verbose Increase verbosity, option can be used multiple times, that is, -vv, -vvv, and so forth.
-d, --dir DIRECTORY Process packages from this directory.
-c, --channel=CHANNEL_LABEL 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 -c (e.g. -c CHANNEL_ONE -c CHANNEL_TWO).
-n, --count N_HEADERS_PER_CALL Process this number of headers per call. Must be an integer. The default number is 25.
-l, --list List only the specified channels.
-r, --reldirRELATIVE_DIRECTORY Associate this relative directory with each file.
-o, --orgidORGANIZATION_ID Include the organization's ID number. Must be an integer.
-u , --username USERNAME Include the RHN username of the user that has administrative access to the specified channel. If not provided, rhnpush prompts for the username of a valid Channel Administrator. The username and password are cached in ~/.rhnpushcache for a limited time, five minutes being the default. Use --new-cache to force a new username and password.
-p , --password PASSWORD Include the RHN password of user that has administrative access to the specified channel. If not provided, rhnpush prompts for the password of a valid Channel Administrator. The username and password are cached in ~/.rhnpushcache for a limited time, five minutes being the default. Use --new-cache to force a new username and password.
-s, --stdin Read package list from standard input, for example from a piped ls command.
-X, --exclude GLOB Exclude packages that match this glob expression.
--force 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.
--nosig Don't fail if packages are unsigned.
--new-cache Forces RHN Push to drop the username and password cache, then accept or ask for new ones. This is useful if mistakes are entered the first time.
--newest 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 --source. Using --source --newest together does update the stand-alone source package with newer packages and does not require an associated binary package to be uploaded first.
--header Upload only the headers.
--source 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, use this when you want to distribute application source to developers and testers outside of regular source control management.
--server SERVER Specify the server to which packages are uploaded. Currently, a value of http://localhost/APP is necessary. This parameter is required.
--test This only prints a list of the packages to be pushed, it doesn't actually push them.
-h, --help Briefly describe the options.
-?, --usage View the usage summary.


These command line options are also described in the rhnpush manual page: man rhnpush.
Red Hat logoGithubRedditYoutubeTwitter


Try, buy, & sell


About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.