rcmgr, rc.config - Gets, sets, or deletes runtime configuration variables
stored in the files /etc/rc.config, /etc/rc.config.common, and
/usr/sbin/rcmgr [-c | -s] delete variable
/usr/sbin/rcmgr [-c | -s] get variable [value]
/usr/sbin/rcmgr [-c | -s] mget variable [value]
/usr/sbin/rcmgr [-c | -s] set variable value
/usr/sbin/rcmgr [-h | -n] [member_number] get variable [value]
/usr/sbin/rcmgr [-h | -n] [member_number] mget variable [value]
/usr/sbin/rcmgr [-h | -n] [member_number] set variable value
/usr/sbin/rcmgr [-h | -n] [member_number] delete variable
The rcmgr command is used with at most one of the options -c, -s, -h, or
-n. The options -c and -s are called file options and -h is called the host
-c Operations are performed on /etc/rc.config.common, the clusterwide con-
-s Operations are performed on /etc/rc.config.site, the sitewide confi-
Operations are performed on the /etc/rc.config file for the cluster
member whose member ID corresponds to member_number.
Operations are performed only on the node-specific file.
The rcmgr command retrieves, sets, or deletes runtime configuration vari-
ables stored in the hierarchy of configuration files: /etc/rc.config,
/etc/rc.config.common, and /etc/rc.config.site. These three files are
together referred to as /etc/rc.config*. The runtime variables are used to
configure various subsystems (for example, NFS or NTP) via scripts in the
You should always use rcmgr to make changes to the files. This will
preserve the correct syntax in the files. A lock file, /etc/rcmgr.lock
prevents multiple access to the data files.
These files are used as follows:
+ On a standalone system, configuration variables in both /etc/rc.config
and /etc/rc.config.common are used to configure the system.
+ In a cluster, configuration variables defined in the
/etc/rc.config.common file are shared by all cluster members. Because
the /etc/rc.config file is defined as a context-dependent symbolic
link (and must be maintained as such), there is a distinct
/etc/rc.config file for each member in a cluster. The configuration
variable settings in any given member's /etc/rc.config file apply only
to that member.
+ You can also create a sitewide configuration file named
/etc/rc.config.site and distribute it among systems in a local area
network or at a particular site. Note that Tru64 UNIX does not ship
with such a file. If you decide to use a sitewide configuration file,
you must create it, copy it to /etc/rc.config.site on each participat-
ing system, and edit each participating system's /etc/rc.config file
to include the following command just before the similar line that
# Read in the cluster sitewide attributes before overriding them
# with the clusterwide and member-specific values.
The hierarchy of the /etc/rc.config* files allows an administrator to
define configuration variables consistently over all nodes within a local
area network and within a cluster. Variables that are the same for all
machines on a LAN can be defined in a sitewide file. Variables that are not
specific to a given machine and are (or could be) shared by all members of
a cluster should be defined in the clusterwide file. Finally, variables
specific to a given machine's hardware configuration should be defined in
the machine-specific file (or each machine-specific file in a cluster).
Command options either search the file hierarchy or operate directly on the
the appropriate file as follows:
Option get mget set delete
-s direct direct direct direct
-c direct direct direct direct
-n direct direct direct direct
-h hierarchy hierarchy direct direct
hierarchy hierarchy hierarchy direct
Null (no option
For example, the -h and -n options do exactly the same thing for set and
delete operations. For get and mget operations, the -n option operates
only on the the rc.config file. Consider the following command:
# rcmgr -h 2 get NUM_TCPD
If the variable NUM_TCPD is not defined in the rc.config file, the rcmgr
command searches the rc.config.common file next. If the value is found in
the rc.config.common file, it is returned. If not, the rcmgr command
searches the rc.config.site file.
In contrast, you can specify the -n option as follows:
# rcmgr -n 2 get NUM_TCPD
In this case, if NUM_TCPD is not defined in the rc.config file, then no
value is returned and no other files in the hierarchy are searched.
The operations are defined in the following section.
get The get operation returns one of the following: the value of variable
defined in one of the /etc/rc.config* files, value, or null.
+ If the -coption is specified, the command looks only in the
+ If the -s option is specified, the command looks only in the
+ If the -h member_number option is specified, the command returns
the value as defined for the cluster member whose member ID
corresponds to member_number.
+ If the -n member_number option is specified, the command looks
only in the /etc/rc.config file.
The get operation uses a standard search order: it first looks in
/etc/rc.config; it then looks in /etc/rc.config.common; finally it
looks in /etc/rc.config.site.
If no file or host option is specified, the command finds the first
definition of variable, using the standard search order.
If the variable is not found in any of the files, the command returns
value, if specified; otherwise it returns null.
If the value of a variable is set to "" (null), then an rcmgr get
operation on that variable will return an empty string.
With no option specified, the mget operation returns all the variables
defined in any of the /etc/rc.config* files, using the standard search
order. If a variable is defined in more than one of the files, the
first value encountered is returned. If -h member_number is specified,
the operation functions identically, except it returns the values as
defined for the cluster member whose member ID corresponds to
member_number, using the standard search order.
If the -n member_number option is specified, the command looks only in
the /etc/rc.config file.
The values are output one per line in the form variable=value.
set If no option is specified, the set operation uses the standard search
order to set variable to value in the first /etc/rc.config* file in
which it finds a definition of variable. If no definition is found, the
set is done in the local /etc/rc.config file.
If -c or -s is specified, the set is done in /etc/rc.config.common or
/etc/rc.config.site, respectively. If -h member_number is specified,
the set is done in the /etc/rc.config file for the cluster member whose
member ID corresponds to member_number.
If no option is specified, the delete operation removes variable from
the /etc/rc.config file. The standard search order is not used. If -c
or -s is specified, the delete is done in the /etc/rc.config.common or
/etc/rc.config.site file, respectively. If -h member_number or -n
member_number is specified, the delete is done in the /etc/rc.config
file for the cluster member whose member ID corresponds to
If there is an error in an argument passed to rcmgr, or if a file option
was specified but the file does not exist, rcmgr returns an error message
and aborts execution with the exit value 1.
1. This example sets the variable HOSTNAME to yukio in the /etc/rc.config
rcmgr set HOSTNAME yukio
2. This example sets the variable IFCONFIG_0 to 126.96.36.199 netmask
255.255.252.0 in the /etc/rc.config file.
rcmgr set IFCONFIG_0 188.8.131.52 netmask 255.255.252.0
3. This example displays the value of the variable NIS_ARGS in the first
definition of NIS_ARGS it finds using the standard search order. If no
value is found in any of the /etc/rc.config* files, the command
rcmgr get NIS_ARGS
Startup scripts can use the get operation to provide values to variables as
in the following examples.
1. This example sets the value of netdevs to the value of MAX_NETDEVS in
the /etc/rc.config file on node barney. If no value is defined, it
sets netdevs to 24.
netdevs=`rcmgr -h barney get MAX_NETDEVS 24`
2. This example sets num_nfsd to 4 if NUM_NFSD is not defined in any of
the /etc/rc.config* files. Otherwise, it sets num_nfsd to the value
specified in the first definition of NUM_NFSD it finds using the stan-
dard search order.
num_nfsd=`rcmgr get NUM_NFSD 4`
3. This example deletes the definition of the variable NETDEV_1 from the
clusterwide file /etc/rc.config.common.
rcmgr -c delete NETDEV_1
Prevents applications from accessing the data files concurrently, which
could cause data corruption.