rhnpush

8 Version 2.0

`rhnpush`

Utility to push binary and source RPMs into an RHN channel.

            rhnpush
            options ...
            -v --verbose

            -dDIRECTORY
            --dir=DIRECTORY

            -cCHANNEL_LABEL
            --channel=CHANNEL_LABEL

            -nN_HEADERS_PER_CALL
            --count=N_HEADERS_PER_CALL

            -l --list

            -rRELATIVE_DIRECTORY
            --reldir=RELATIVE_DIRECTORY

            -oORGANIZATION_ID
            --orgid=ORGANIZATION_ID

            -uUSERNAME
            --username=USERNAME

            -pPASSWORD
            --password=PASSWORD

            -s --stdin

            -Xglob
            --exclude=GLOB

            --force

            --nosig

            --newest

            --nullorg

            --header

            --source

            --server=SERVER

            --proxy=PROXY:PORT

            -N --new-cache

            --no-session-caching

            --extended-test

            --test

            --tolerant

            --timeout=SECONDS

            -h --help

            -? --usage

## Description

The &RHNPUSH; (rhnpush) pushes RPMs into locally managed channels on a &RHNSAT;. Refer to the Red Hat Satellite documentation for further reference.

## Options

-v --verbose

- Increase verbosity (can use multiple times).

-d`DIRECTORY` --dir=`DIRECTORY`

- process packages from this directory.

-c`CHANNEL_LABEL`, --channel=`CHANNEL_LABEL`

- process data for this specific channel (specified by label) only. NOTE: the channel's *label* is NOT the same as the channel's *name*.

-n`N_HEADERS_PER_CALL` --count=`N_HEADERS_PER_CALL`

- process this number of headers per call. Current default is 25. Must be an integer.

-l --list

- only list the specified channels.

-r`RELATIVE_DIRECTORY` --reldir=`RELATIVE_DIRECTORY`

- relative directory to associate with each file.

-o`ORGANIZATION_ID` --orgid=`ORGANIZATION_ID`

- Your organization's ID number. Must be an integer.

-u`USERNAME` --username=`USERNAME`

- username of user that has administrative access to the specified channel.

-p`PASSWORD` --password=`PASSWORD`

- see --username.

-s --stdin

- read the package names from standard-in (allows piping).

-X`glob` --exclude=`GLOB`

- exclude packages that matches this glob expression.

--force

- force the package upload (overwrites if package is already uploaded).

--tolerant

- If rhnpush errors while uploading a package, continue attempting to push the rest of the packages.

--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 &RHNPUSH; 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.

--timeout=`SECONDS`

- Change default connection timeout.

--nullorg

- use the null org ID (most often the case).

--header

- only upload the headers.

--source

- the packages indicated are source packages (we treat them differently).

--server=`SERVER`

- push to this server. The format is http[s]://<hostname>/APP

--proxy=`PROXY:PORT`

- Use proxy server (:)

--test

- only print the packages to be pushed, don't actually push them.

-N --new-cache

- create a new username/password cache

--no-session-caching

- This option disabled session token authentication. Useful if you want to push to two or more different servers.

--extended-test

- perform a more verbose test.

-h --help

- briefly describe the options.

-? --usage

- usage summary.

## Notes on using rhnpush

- Rhnpush has three configuration files called /etc/sysconfig/rhn/rhnpushrc, ~/.rhnpushrc, and ./.rhnpushrc.
- /etc/sysconfig/rhn/rhnpushrc is the system-wide default settings for rhnpush.
- ~/.rhnpushrc is the user-specific settings that override the system-wide settings.
- ./.rhnpushrc controls the directory specific settings that override the user-specific and system-specific settings.
- /etc/sysconfig/rhn/rhnpushrc must be present for rhnpush to function correctly. If it is missing, rhnpush will attempt to use a series of default settings stored internally as a replacement. ~/.rhnpushrc and ./.rhnpushrc are not required to be present, but will be used if they are present. They are not created automatically by rhnpush.
- Rhnpush uses a cache, stored at ~/.rhnpushcache, to temporarily hold the username and password for a user.
- If the cache is missing, it will be created by rhnpush.
- If the cache is present and not too old, the usename-password combo will be used as a convenience for the user.
- The amount of time a cache lasts is configurable in any of the three configuration files.
- If your username/password combination gets messed up you have two options. One, you can wait until the cache expires, which takes minutes by default. Two, you can use the --new_cache option to force rhnpush to let you reenter your username/password.
- Using the --stdin and --dir options at the same time works as follows: rhnpush will let you type in rpm names, each rpm name on a separate line. When you have finished entering in rpm names, hit Ctrl-D. Rhnpush will then grab the files from directory you specified with --dir, put them in a list with the rpms you listed through standard input, and send them to the channel that was listed on the command-line or in the configuration files.

## See Also

- db-control(1) - embedded database environment only!
- rhn-charsets(8)
- rhn-schema-version(8)
- rhn-ssl-dbstore(8)
- satellite-debug(8)
- satellite-sync(8)

## Authors

- Todd Warner taw@redhat.com
- Mihai Ibanescu misa@redhat.com