DESCRIPTION
The rpc.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 transfering 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 servers map files rather than building their own from scratch. Simply put, rpc.ypxfrd implements an RPC-based file transfer protocol. Transfering 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(5) database permit it. Furthermore, only slave servers using reserved ports will be allowed to transfer the master.passwd maps.
OPTIONS
The following option is available: