|Red Hat Network 3.6: Channel Management Guide|
|Prev||Chapter 6. Uploading and Maintaining Custom Packages||Next|
The RHN Push application allows an organization to serve custom packages associated with a private RHN channel through the RHN Satellite Server. If you want the RHN Satellite Server to update only official Red Hat Enterprise Linux packages, you do not need to install the RHN Push application.
To use the RHN Push application, install the rhnpush package and its dependencies. This package is available to registered RHN Satellite Server systems and may be installed by running up2date rhnpush.
The RHN Push application 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.
It is recommended that at least one private channel be created to receive custom packages prior to upload, since a channel is required for systems to obtain the packages.
The following command uploads package headers to the RHN Satellite Server and copies the packages to the RHN Satellite Server package repository:
rhnpush -c label_of_private_channel --server localhost pkg-list
The label_of_private_channel is the custom channel created to receive these packages. Be sure you use the precise channel label specified during its creation. If you have one or more channels specified (using -c or --channel), the uploaded package headers will be linked to all the channels identified. If you do not specify a channel, the packages will be deposited in the No Channels section of the Package Management page. Refer to Section 4.6 Assigning Packages to Software Channels for instructions on reassigning packages.
The --server option specifies the server to which the packages will be installed, and is required. RHN Push may be installed on external systems, but running RHN Push locally on the RHN Satellite Server is recommended.
The pkg-list reference represents the list of packages to be uploaded. Alternatively, use the -d option to specify the local directory that contains the packages to be added to the channel. RHN Push can also read the list of packages from standard input (using --stdin).
The following summary contains all command line options for the rhnpush command:
|-v --verbose||Increase verbosity (can use multiple times).|
|-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. (25 is default.)|
|-l, --list||List only the specified channels.|
|-r=, --reldir=RELATIVE_DIRECTORY||Associate this relative directory with each file.|
|-o=, --orgid=ORGANIZATION_ID||Include your organization's ID number. Must be an integer.|
|-u=, --username=USERNAME||Include RHN username of user that has administrative access to the specified channel. If not provided, rhnpush will prompt for the username of a valid Channel Administrator.|
|-p=, --password=PASSWORD||Include RHN password of user that has administrative access to the specified channel. If not provided, rhnpush will prompt for the password of a valid Channel Administrator.|
|-s, --stdin||Read package list from standard input (a piped ls command, for example).|
|-X=, --exclude=GLOB||Exclude packages that matches 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 will return an error.|
|--nosig||Don't fail if packages are unsigned.|
|--newest||Push only the packages that are newer than those on the server. Please note that source RPMs are special in that their versions are never compared. Therefore, using this option with RHN Push will upload source RPMs for the specified channels only if they were not previously uploaded, and binaries built from them exist in those channels. In other words, you have to upload a binary RPM before being able to use --newest with its source RPM.|
|--header||Upload only the headers.|
|--source||Upload the indicated source packages. (We treat them differently.)|
|--serverSERVER||Specify the server to which packages will be uploaded. Currently, a value of http://localhost/APP is necessary. This parameter is required.|
|--test||Only print the packages to be pushed, don't actually push them.|
|-h, --help||Briefly describe the options.|
|-?, --usage||View the usage summary.|
Table 6-2. rhnpush options
These command line options are also described in the rhnpush man page: man rhnpush.