Content-type: text/html Manpage of rug

rug

Section: Red Carpet Software Management Tools (1)
Updated: 1.0
Index
 

NAME

rug - rug is the command-line interface to the Red Carpet Daemon, rcd.  

SYNTAX

rug [--global-options] [command] [--command-options] [arguments]


rug --version

rug --help  

DESCRIPTION

rug is the command-line complement to the ZENworks Linux Management software management tool. It works with the rcd daemon to install, update, and remove software according to the commands you give it. The software which it installs can be from local files or from ZENworks servers and mirrors, and the system where software is being managed can be a remote system (see the --host option and the rcd(8) man page) rather than the local system running rug. You may use one or more remote servers, known as services.

Red Carpet applications sort software by category into channels, groups of similar software. For example, one channel might contain software from the operating system vendor, and another the Novell Linux Desktop, and another one the Ximian Connector or some software from a third-party software vendor. You can subscribe to individual channels to control the display of available packages and prevent the accidental installation of unwanted software. Operations are normally performed only on software from within channels to which you are subscribed, although you may alter this with the --allow-unsubscribed flag.

Red Carpet applications, incding rug, use your operating system's native package management system (except on Solaris, where they use RPM), so you can use most other package management tools alongside them.

Note: Previous versions of this software were known as rc, but due to a conflict with another package the application has been renamed. Other related software names, such as rcd, rcman, and red-carpet, have not been affected. The rug command now uses the .rugrc configuration file and the RUG_ARGS environment variable. The older .rcrc and RC_ARGS are accepted if the new forms are absent.  

COMMANDS

rug provides a number of commands (shown as [command] in the SYNTAX section). Each command accepts the option flags listed in the GLOBAL OPTIONS section. In addition, many commands have specific option flags, which are listed here.

The most commonly used command is rug update which downloads and installs updates in channels to which you are subscribed. If you only want to update software, that is the only command you need.

Package management commands:

Note that you may substitute standard shell wildcards in package names, although not in channel names. If you need to specify a channel, prepend the channel name and a colon to the package. For example: rug in evolution-devel-snapshots:evolution will install the "evolution" package from the "evolution-devel-snapshots" channel, rather than from other channels such as "evolution-snapshots." If you do not specify a channel, the newest package will be installed. If there are two equal versions, the package from the channel with the higher priority (set by the server administrator) will be installed.

info (if) [packagename] ...
Show detailed information about a package. Multiple packages may be listed, separated by spaces. Accepts the flag -u, --allow-unsubscribed, to search in channels to which you are not subscribed, as well as subscribed channels.

install (in) [packagename]
Install the specified package or packages. Multiple packages may be listed, separated by spaces. If packagename designates a package which you already have installed, but for which a newer version is available, the new version will be downloaded and installed.

The install command accepts the following option flags:

-d, --download-only
Downloads the packages, but does not install them. See also the -N or --dry-run flag, which is available for all commands.

-y, --no-confirmation
Install without confirmation. Does not allow removal of conflicting packages without confirmation; to permit removal of conflicts without confirmation use -r as well.

r, --allow-removals
Permit software removal software without confirmation. Use care when combining with the -y option.

-u, --allow-unsubscribed
Allow required software to be pulled in from channels to which you are not subscribed.

--entire-channel [channelname]
Install all packages in the channel specified. For example, rug install --entire-channel ximian-desktop would install everything in the "ximian-desktop" channel. Note that an install does not necessarily include upgrades to packages you already have, unless they are specifically required by newly installed software. Be aware that if you have a newer package installed, but the channel contains a previous version of the package, the previous version will override the newer version. To make sure you have absolutely every package in a channel, run rug update [channelname] after installing with this flag.

lock-add (la) [options] [packagename] [[relation] [version]]
Add a package lock rule. This prevents changes to the installation state of the package which are not specifically requested. The package name can be specified individually, with wildcard patterns, or even with version number relations. For example, the command rug lock-add gnome*<2.0 would refuse to install any packages beginning with 'gnome' that had versions above 2.0. Accepts the following additional flags:
-c, --channel=[channel]
Specify a channel to match.

-i, --importance=[importance]
Set the minimum importance level for the lock. Packages less important than the importance level you specify will be blocked, and those that are at least as important will override the lock. Possible importance levels, from least to most important, are: minor, feature, suggested, urgent, and necessary.

lock-delete (ld) [options] [lock-number]
Delete the lock you specify by its number. You can find the numbers for each lock with the lock-list (ll) command. Accepts the flag ---no-confirmation flag, to permit removals without confirmation.

lock-list (ll) [options]
List the locks that have been put in place. Locks are sorted by ID number. Accepts the option flags:
--no-abbrev
Do not abbreviate channel information.

-m, --matches
Show information about matching packages.

packages (pa) [channelname]
List all packages in a channel. If no channel is specified, all packages in all channels will be listed. You may use the full channel name or an alias. Multiple channel names may be used, separated by spaces.

The output for this command is in three columns. The first column indicates the status, the second the name of the package, and the third the version of the package. The package status column will be empty if the package is not installed, and will show "i" if the package is installed, or "v" if the package is installed but is a different version from the one displayed in the list. If a package is locked (see the entries for the rug commands lock-add, lock-delete, and lock-list), the status column will also display an L.

Accepts the following options:

--no-abbrev
Do not abbreviate channel or version information.

-i, --installed-only
Show only installed packages.

-u, --uninstalled-only
Show only uninstalled packages

--sort-by-name
Sort packages by name (default).

--sort-by-channel
Sort packages by channel.

patch-info (pi) [patch]
Show detailed information about a patch. Multiple patches may be listed, separated by spaces. Accepts the flag -u, --allow-unsubscribed, to search in channels to which you are not subscribed, as well as subscribed channels.

Patches are only supported on SUSE 9 platforms.

patch-install (pin) [patch]
Install the specified patch or patches. Multiple patches may be listed, separated by spaces.

Patches are only supported on SUSE 9 platforms.

The patch-install command accepts the following option flags:

-d, --download-only
Downloads the patches, but does not install them. See also the -N or --dry-run flag, which is available for all commands.

-u, --allow-unsubscribed
Allow required software to be pulled in from channels to which you are not subscribed.

--entire-channel [channelname]
Install all patches in the channels specified. For example, rug patch-install --entire-channel ximian-desktop would install all available patches in the "ximian-desktop" channel.

patch-list (pl) [channelname] [channelname]
List patches in subscribed channels. Adding channels as arguments will limit the list to those channels you specify. If you are not subscribed to a channel, it will never have updates available, even if you name it here; you must subscribe to list updates.

Patches are only supported on SUSE 9 platforms.

Accepts the flags:

--no-abbrev
Do not abbreviate channel or version information.

remove (rm, erase) [packagename]
Remove packages. Accepts the flag -y or --no-confirmation, to perform the actions with no confirmation. To allow removals that accompany installs, use rug install with both the -y and the -r (--allow-removal) flags.

rollback (ro) [options] [time]
Roll back package transactions to the time and date you specify. The time to which you roll back must be a time after you set the "rollback" option to "true" using rug set (see rcd.conf(5) for more information). Rollback works only on RPM-based systems. Versions to which you downgrade must be available on your Red Carpet Enterprise server.

-N, --dry-run
Test, but do not actually perform, the requested actions.

-y, --no-confirmation
Do not ask for confirmation when downgrading. Removal of software that is not being downgraded will still require confirmation unless combined with the -r flag.

-r, --allow-removals
Permit removal of software without confirmation

-d, --download-only
Download, but do not install, any software required for the downgrade.

search [querystring]
Search for the query string in the list of packages. Accepts the following options:

Seach String Options:
--match-all
Search only for a match for all search term (default).

--match-any
Display results that match any search term.

--match substrings
Display results that match substrings against any part of a word (default).

--match-words
Search only for a match on a complete word.

--search-description
Search only in the package description, not in the package names.

-i, installed-only
Search only in the installed packages.

-u, --uninstalled-only
Search only among packages which are not installed.

-c, --channel=[channel]
Search only in the channel you specify.

Output Options: --show-package-ids Show package IDs as well as package names.

--sort-by-name
Sort packages by name (default).

--sort-by-channel
Sort packages by channel.

--no-abbrev
Do not abbreviate channel or version information.

summary (sum)
Display a summary of available updates. Accepts one flag: --no-abbrev, meaning do not abbreviate channel names or importance levels.

list-updates (lu) [channelname] [channelname]
List updates in subscribed channels. Adding channels as arguments limits the list to those channels you specify. If you are not subscribed to a channel, it will never have updates available, even if you name it here; you must subscribe to list updates.

If the output from this command does not match the pending updates listed on the server, it is because the pending updates list on the server shows updates for all available channels, not just channels to which the client is subscribed. For the lists to match, the client must be subscribed to all available channels.

Accepts the flags:

--no-abbrev
Do not abbreviate channel or version information.

update (up) [channelname] [channelname]
Download and install updates. With no arguments, this will get all updates for subscribed channels. To choose specific channels, list them as arguments, separated by spaces. For single packages, use rug install instead. If you are not subscribed to a channel, it will never have updates available; you must subscribe to install updates. If you want to install or update software from a channel to which you are not subscribed, use rug install -u. Accepts the following option flags:
-N, --dry-run
Test and display, but do not actually perform, the requested actions.

-y, --no-confirmation
Install packages without confirmation. Will not permit removal of conflicting packages without confirmation; to allow removal without confirmation, use -r as well.

-i, --importance=[importance]
Only install updates as or more important than the value you specify. Value may be 'minor', 'feature', 'suggested', 'necessary', or 'urgent'.

-r, --allow-removals
Allow software to be removed as necessary to complete the installation.

verify

Verify system dependencies. If the system dependencies are not satisfied, rug will suggest the removal or installation of packages necessary to resolve the conflicts. Accepts the flags:
-r, --allow-removals
Permit rug to remove software without confirmation.

-y, --no-confirmation
Permit installation without confirmation. Use with -r to permit all actions without confirmation.

Channel commands:

channels (ch)
List available channels. Output is in three columns: The first indicating whether you are subscribed to the channel, the second showing the short alias for the channel, and the third showing the full channel name. Accepts the following extra flags:
-s, --subscribed
List only channels to which you are subscribed.

-u, --unsubscribed
List only channels to which you are not subscribed.

subscribe (sub) [channelname]
Subscribe to a channel. You may use the full channel name or the alias. Use the -s or --strict flag to have the action fail if attempting to subscribe to a channel to which you already subscribe.

unsubscribe (unsub) [channelname]
Unsubscribe from a channel. You may use the full channel name or its alias. Use the -s or --strict flag to have the action fail if you were already unsubscribed.

Dependency analysis commands: When searching for information about packages, you may specify a channel using the syntax "channel:package." If you do not specify a channel, the daemon will pick one for you, using the channel priority rules set on the server.

dangling-requires
Walks across all packages in all channels on the server, to see if there are any dependencies that are not provided by something else on the server. This command takes no arguments or options. It is typically used by Red Carpet Enterprise server administrators who wish to check the coherence of software available to a particular client machine.

info-conflicts (ic) [packagename]
List all packages that conflict with packagename.

info-provides (ip) [packagename]
Display the functionality or libraries that a package provides. If you wish to specify a particular channel from which to get the package, use the syntax [channel alias + ':'][package name] as is described in the EXAMPLES section.

info-requirements (ir) [packagename]
List the software that must be present before the package can be installed.

solvedeps (solve) [string]
Install or remove software to meet package, application, or library, and can include version numbers or ranges. The ! operator is used to indicate removal. For example, the command rug solvedeps "!rpm-python" "rpm404-python" will remove the rpm-python package, and replace it with the rpm404-python package.

what-conflicts (wc) [packagename]
List packages that conflict with the item you specify. Accepts the following option flags:
--no-abbrev
Do not abbreviate channel or version information.

-i, installed-only
Search only in the installed packages.

-u, --uninstalled-only
Search only among packages which are not installed.

--sort-by-name
Sort packages by name (default).

--sort-by-channel
Sort packages by channel.

what-provides (wp) [querystring]
List packages that provide the library, program, or package that you specify. Accepts the following option flags:
--no-abbrev
Do not abbreviate channel or version information.

-i, installed-only
Search only in the installed packages.

-u, --uninstalled-only
Search only among packages which are not installed.

--sort-by-name
Sort packages by name (default).

--sort-by-channel
Sort packages by channel.

what-requires (wr) [querystring]
List packages that require the library, program, or package you specify. Accepts the following option flags:
--no-abbrev
Do not abbreviate channel or version information.

-i, installed-only
Search only in the installed packages.

-u, --uninstalled-only
Search only among packages which are not installed.

--sort-by-name
Sort packages by name (default).

--sort-by-channel
Sort packages by channel.

Preference management commands:

get-prefs (get, prefs) [token]
Display the value of the preference token you name. If you do not provide a token, displays all preferences.

set-prefs (set) [token] [value]
Set the preference variable token to the value value. Options are normally stored in the rcd.conf file (see rcd.conf(5) for more information), and can be changed by editing that file directly. However, additional Red Carpet modules can create additional settings which are not necessarily kept in rcd.conf but which are still set with the rug set. The base set of options is:

bind-ip: For systems using more than one IP address, selects the address at which rcd will bind. Leave empty to bind to all addresses.
cache-cleanup-enabled: Delete packages from the cache when it gets too large or too old. Default is True.
cache-directory: The directory where cached data are stored. Default is /var/cache/redcarpet.
cache-enabled: If True, cache downloaded packages and metadata. Defaults is True.
cache-max-age-in-days: The number of days to leave packages in the cache (if cache-cleanup-enabled is true). Default is 30.
cache-max-size-in-mb: Maximum size of the cache before cleanup (if cleanup is enabled). Default is 300.
debug-level: Sets the amount of debugging output to stderr. Values may be from 0 (none) to 6 (lots). The default is 4.
heartbeat-interval: The interval in seconds between automatic refreshes of channel and package data. The default is 7200 (two hours). Note that this does not affect the transaction polling interval, which is set with the server-poll-interval token.
http-1.0: Use the HTTP/1.0 protocol for communications with the server. Defaults to False.
max-downloads: Maximum number of concurrent package downloads. Default value is 5.
proxy-password: Password for the proxy, if any.
proxy-url: URL for the proxy server, if any.
proxy-username: Username for the proxy, if any.
remote-enabled: Allow clients to connect to this daemon remotely. Defaults to "true."
remote-port: Port used for connections of remote clients. Defaults to 505.
require-signatures: Require packages be signed before installing. Defaults to "true."
require-verified-certificates: Verify SSL certificates from server. Red Carpet Enterprise users should set this to false unless they have a signed SSL certificate (generated or purchased). Defaults to "true."
rollback: Store more detailed transaction history, enabling rollback feature. Defaults to "false."
server-poll-interval: Interval, in seconds, to check for changes to transaction information. The default value is 3600, or one hour. Note that this does not affect the channel and package refresh interval, which is set with the heartbeat-interval token.
syslog-level: Sets the amount of logging output saved in syslog. Values may be from 0 (none) to 6 (lots). The default is 4.
Note: as of rug 2.0, the "host" option is no longer present; servers are defined with the rug service-add command instead. The "enable-premium" option has also been removed; premium servers are now detected automatically.

System commands:

activate (act) [activation code] [email address]
Activates the machine for a premium server, allowing it access to private channels hosted there.
-n, --no-refresh
Do not refresh the channel data after activation.

-s, --service= If you are using multiple servers, use this flag to specify which one. Follow the flag with a space and the URL, name, or number of the service. Use rug service-list to display the available services.

-a, --alias
Specify the alias for this machine; the alias is displayed to the server administrator. This option is useful only with Red Carpet Enterprise servers.

dump
Get an XML dump of system information. Usually used for debugging purposes; the output of this command is best directed to a file and compressed.

mount [path]
Mount a directory as a channel, adding all packages within the directory to the channel. The platform for the channel is assumed to be the same as the platform of the server. Uses the following options:
--no-abbrev
Do not abbreviate channel or version information.

--sort-by-name
Sort packages by name (default).

--sort-by-channel

mirrors [service] [mirror-number]
List available mirrors or select a mirror. If you use multiple services, you must specify the service as well. Not all servers have mirrors; use the --list-only or -l option to see a list of which mirrors are available.

ping [servername]
Ping the rcd process on the server. If no server is specified, the current server will be pinged.

recurring (rec)
Display information about recurring events, including both AutoPull and heartbeat (automatic channel refresh). The command provides the label for the transaction, the total number of times it has occurred, and the date and time of the next and previous transactions.

refresh (ref)
Refresh channel data for all channels. The heartbeat timer will start over from the time that this command is run. A refresh does not cause a poll for new server-initiated transactions and does not affect the server-poll-interval counter.

service-add (sa) [url-of-server]
Add a server to those that the daemon will check for updates. You may add multiple servers, and the daemon will connect to each one during when it refreshes. Server information is stored in the file /var/lib/rcd/services.xml. If you are upgrading from rug 1.4 and do not have a services.xml file, your host entry will be read from rcd.conf once and only once, and then stored in services.xml. Editing services.xml by hand is not recommended.

service-list (sl)
List the servers which rcd knows about and can contact.

service-delete (sd) [server]
Delete a server from the list of those that the daemon will check for updates. You may specify the server by name, URL, or its number as displayed in rug sl.

shutdown
Halt the server's rcd process.
unmount [channel]
Unmount a directory that has been mounted as a channel.

User management commands:

user-add (ua) [username] [privileges]
Create an account with the Red Carpet Daemon so that someone can manage software on your system without logging into it directly. This command can also be used to grant administration access to non-root local users. You may provide the username and the names of privileges to be granted as arguments. If you do not, you will be prompted for them. After adding the user, it starts the user-update tool to set privileges. To quit, press Enter on a blank line. See the EXAMPLES section for an example of how to use this command.

user-delete (ud) [username]
Delete a specific user.

user-edit (ue) [username]
Display a list of the user's privileges. This command is interactive: it will first list the privileges, then offer you a prompt. Enter the plus (+) or minus (-) symbol and then the name of the privilege, then press Enter. For example, to permit the user to install software, you would type +install. To save and quit, press Enter on a blank line.

user-list (ul)
List the users known to the daemon.

Other commands:

help [command]
Get detailed help on a command. If no command is specified, displays a list of all of the available commands.

history [searchterm]
Search log entries for the search term you specify. By default, searches package names for the search term, displaying the package version history. Use the following option flags to perform a different search:
-n, --search-name
Search logs by package name (default).

-a, --search-action
Search logs by action performed.

--search-host
Search logs by host used.

--search-user
Search by user performing actions.

--match-all
Results must match all search strings (default).

--match-any
Results may match any search string.

--match-substrings
Display results that match substrings against any part of a word.

--match-word
Search only for a match on a complete word.

-d, --days-back=[number_of_days] Maximum number of days to look back in the logs (default is 30).

news

Display the Red Carpet news. Accepts these flags:
-c, --channel=[channel]
Show news only for the channel you specify.

-s, --subscribed-only
Only show news related to subscribed channels.

-u, --unsubscribed-only
Show news only for channels to which you are not subscribed.

 

GLOBAL OPTIONS

The following options can be applied to any rug transaction:

--batch
Run in batch mode.

--debug
Print extra debugging information while running. This is different from the debug command, which collects a coredump.

-h, --host=<hostname>
Specify the host system where the transaction will be performed. The host system must be running the rcd daemon.

--help
Used without a command, this flag displays a list of commands and exits. Used with a command, it displays a list of available options for the command.

--ignore-env
Ignore the RC_ARGS environment variable for this transaction.

--ignore-rc-file
Ignore settings in the .rugrc file when running the transaction.

-N, --dry-run
Do not perform the actual transaction, but print what would have been done.

--normal-output
Normal output (the default mode). This is somewhere between "verbose" and "terse."

-P, --password <password
Specify password to be used.

-q, --quiet
Quiet output: print only error messages.

--read-from-file <filename>
Get additional arguments from the file you specify.

--read-from-stdin
Get arguments from stdin.

-t, --terse
Terse output.

-U, --user, <username>
Specify a user name for this transaction.

-V, --verbose
Verbose mode; displays extra information for the transaction, if any is available.

--version
Displays the version number of the program and exits.

 

FILES


 .rugrc

The .rugrc resource file is optional. If it exists, its contents are treated as additional arguments to the rug command being executed. This is similar to the behavior of the RUG_ARGS environment variable. Note also that the .rugrc file used is in the home directory of the user running rc, and if you run rug through sudo instead of directly as root, you will not use the root user's .rugrc file.

If .rugrc does not exist, the older .rcrc file is accepted instead.

/etc/ximian/rcd.conf
Red Carpet Daemon configuration file. See the rcd.conf(5) man page for details.

/var/lib/rcd/services.xml
Red Carpet Daemon services file. Determines the servers accessed by the daemon. See the rcd(8) man page for details. Generally not manipulated by hand; use the rug service-add command instead.
 

ENVIRONMENT VARIABLES

RUG_ARGS
This environment variable is prepended to any command line options that are passed to rug and acts as an extra set of arguments. The variable is ignored if the --ignore-env flag is set. Do not attempt to set the --ignore-env flag in the RUG_ARGS variable; this is absurd.

If RUG_ARGS is not set, the RC_ARGS environment variable is accepted instead.  

EXAMPLES

In most cases, non-root users will be able to query the system but not alter it. However, system administrators may use the user-add (ua) command to create rcd accounts for non-root users if they wish.
  Note that rug will use the .rugrc file in the home directory of the user running the program, and that putting the file just in root's home directory will not ensure that it is used every time.

Here are some standard ways in which the program might be used:

rug update -y
Download and install all updates to currently installed package in currently subscribed channels. This does not remove software that may conflict with those updates. This is the same as using the option --no-confirmation

rug update -yr
Download and install all updates to currently installed package in currently subscribed channels, and remove any conflicting packages, without asking for confirmation. This is a convenient option, but should be used only with servers which you trust absolutely. This is the same as using the options --no-confirmation and --allow-removals.

rug -Vu --host=[hostname] install [packagename]
This will operate in verbose mode and contact the rcd daemon on the specified host to install the specified package, regardless of whether it is in a channel to which the user is subscribed.

rug act --service https://my.rc.server/data --alias my-alias activation-code myaddress@email.com
Activates this machine against the Red Carpet Enterprise server hosted at my.rc.server, using the alias "my-alias." The activation code will be supplied by your RCE administrator; see the Red Carpet Enterprise administrator's guide for details about activation mechanisms.

rug solvedeps "library.so.1" "application < 1.2"
Installs the package that provides library.so.1 and a version of application lower than 1.2.

rug info-provides mychannel:mypackage
Displays the functionality provided by the "mypackage" software from "mychannel."

rug install rc*
Installs all packages that are in subscribed channels whose names begin with "rc".

rug ua donna install
Adds a user named "donna" with the install privilege. After entering this command, you will be prompted to create and confirm a password for donna, and then to confirm or change the privileges granted to her.
 

AUTHORS

Copyright 2002-2005, Novell, Inc. All rights reserved. http://www.novell.com  

SEE ALSO

rcd(8), rcd.conf(5), rcman(1), rcreports(1), rcmirror(1)


 

Index

NAME
SYNTAX
DESCRIPTION
COMMANDS
GLOBAL OPTIONS
FILES
ENVIRONMENT VARIABLES
EXAMPLES
AUTHORS
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 19:37:01 GMT, October 06, 2005