In order to run ypset, ypbind must be initiated with the -ypset or -ypsetme options. See ypbind(1M). ypset tells ypbind to get NIS services for
the specified ypdomain from the ypserv process running on server. If server is down, or is not running ypserv,
this might not be discovered until an NIS client process tries to obtain
a binding for the domain. At this point, the binding set by ypset is tested by ypbind. If the binding is invalid, ypbind attempts to rebind for the same domain.
ypset is useful for binding a client node that
is not on a broadcast net, or is on a broadcast net that is not running
an NIS server host. It is also useful for debugging NIS client applications,
for instance, where an NIS map exists only at a single NIS server host.
Where several hosts on the local net are supplying NIS services, ypbind can rebind to another host, even while you attempt to find
out if the ypset operation succeeded. For example, if
you enter the ypset command below, you might get the
subsequent response from ypwhich:
example% ypset host1
The sequence shown above is a function of the NIS subsystem's attempt
to load-balance among the available NIS servers, and occurs when host1 does not respond to ypbind because it
is not running ypserv (or is overloaded), and host2, running ypserv, obtains the binding.
server indicates which NIS server to bind
to, and must be specified as a name or an IP address. This works only if
the node has a current valid binding for the domain in question and ypbind has been set to allow use of ypset.
In most cases, server should be specified as
an IP address.
ypset tries to bind over a connectionless transport.
The NIS library call, yp_all(), uses connection-oriented
transport and derives the NIS server's address based on the connectionless
address supplied by ypset.
Refer to ypfiles(4)
for an overview of the NIS name service.