NAME
rpc.ypxfrd
—
NIS map transfer server
SYNOPSIS
rpc.ypxfrd |
[-p path] |
DESCRIPTION
Therpc.ypxfrd
utility is used to speed up the
distribution of very large NIS maps from NIS master to NIS slave servers. The
normal method for transferring maps involves several steps:
- The master server calls yppush(8) to inform the slave servers to start a transfer.
- The slave servers invoke
ypxfr(8), which reads the entire contents of a map from the master
server using the
yp_all
() function. - The ypxfr(8) program then creates a new map database file by using the db(3) library hash method to store the data that it receives from the server.
- When all the data has been retrieved, ypxfr(8) moves the new file into place and sends ypserv(8) on the local machine a YPPROC_CLEAR to tell it to refresh its database handles.
This process can take several minutes when there are very large maps involved. For example: a passwd database with several tens of thousands of entries can consume several megabytes of disk space, and it can take the db(3) library package a long time to sort and store all the records in a hash database. Consider also that there are two sets of map files: master.passwd.by{name,uid} and passwd.by{name,uid}.
The rpc.ypxfrd
utility speeds up the
transfer process by allowing NIS slave servers to simply copy the master
server's map files rather than building their own from scratch. Simply put,
rpc.ypxfrd
implements an RPC-based file transfer
protocol. Transferring even a multi-megabyte file in this fashion takes only
a few seconds compared to the several minutes it would take even a
reasonably fast slave server to build a new map from scratch.
The rpc.ypxfrd
utility uses the same
access restriction mechanism as
ypserv(8). This means that slave servers will only be permitted to
transfer files if the rules in the securenets
database permit it (see
ypserv(8) for more information on
securenets). Furthermore, only slave servers using
reserved ports will be allowed to transfer the
master.passwd maps.
OPTIONS
The following option is available:
-p
path- This option can be used to override the default path to the location of the NIS map databases. The compiled-in default path is /var/yp.
FILES
- /var/yp/[domainname]/[maps]
- The NIS maps for a particular NIS domain.
SEE ALSO
AUTHORS
Bill Paul <wpaul@ctr.columbia.edu>
BUGS
The DragonFly
ypxfrd
protocol is not compatible with that used by
SunOS. This is unfortunate but unavoidable: Sun's protocol is not freely
available, and even if it were it would probably not be useful since the
SunOS NIS v2 implementation uses the original ndbm package for its map
databases whereas the DragonFly implementation uses
Berkeley DB. These two packages use vastly different file formats.
Furthermore, ndbm is byte-order sensitive and not very smart about it,
meaning that am ndbm database created on a big endian system can't be read
on a little endian system.