rcmgr, rc.config - Gets, sets, or deletes runtime configuration
variables stored in the files /etc/rc.config,
/etc/rc.config.common, and /etc/rc.config.site
/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 option. Operations are
performed on /etc/rc.config.common, the clusterwide configuration
file. Operations are performed on /etc/rc.config.site,
the sitewide configuration file. 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
variables 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 /sbin/init.d directory.
Caution
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 participating
system, and edit each participating system's
/etc/rc.config file to include the following command just
before the similar line that executes
# Read in the cluster sitewide attributes before
overriding them # with the clusterwide and memberspecific
values. #
. /etc/rc.config.site #
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 machinespecific
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
Null (no option hierarchy hierarchy hierarchy direct
specified)
-----------------------------------------------------------------
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.
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 /etc/rc.config.common file. If the -s
option is specified, the command looks only in the
/etc/rc.config.site file. 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. 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 member_number.
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.
This example sets the variable HOSTNAME to yukio in the
/etc/rc.config file. rcmgr set HOSTNAME yukio This example
sets the variable IFCONFIG_0 to 111.111.1.11 netmask
255.255.252.0 in the /etc/rc.config file. rcmgr set
IFCONFIG_0 111.111.1.11 netmask 255.255.252.0 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 returns null. rcmgr get NIS_ARGS
Startup scripts can use the get operation to provide values
to variables as in the following examples. 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` 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
standard search order. num_nfsd=`rcmgr get NUM_NFSD 4`
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.
System Administration
rcmgr(8)
[ Back ] |