Sup server processes
supfilesrv [ -4 ] [ -6 ] [ -d ] [ -l ] [ -q ] [ -N ] [ -P ] [ -C MaxChildren ]
supscan [ -v ] [ -s ] [ collection ] [ basedir ]
Supfilesrv is the server processes used to interact with sup client processes via the IP/TCP network protocol. This server normally is expected to be running on server machines at all times. Each machine with files of interest to users on other machines is expected to be a file server and should run supfilesrv.
A file server machine will service requests for both "private" and "system" file collections. No special action is necessary to support private collections, as the client user is expected to supply all necessary information. For system collections, if the base directory is not the default (see FILES below), an entry must be put into the directory list file; this entry is a single text line containing the name of the collection, one or more spaces, and the name of the base directory for that collection.
Each collection should have an entry in the host list file; this entry is a single text line containing the name of the collection, one or more spaces, and the name of the host machine acting as file server for that collection.
Details of setting up a file collection for the file server are described in the manual entry for sup(1).
Supfilesrv generally runs as a network server process that listens for connections, and for each connection (double-)forks a process to handle the interaction with the client. However, with the -d flag, no forking will take place: the server will listen for a network connection, handle it, and exit. This is useful for debugging the servers in "live" mode rather than as daemons.
For debugging purposes, the -P "debugging ports" flag can be used. It will cause the selection of an alternate, non-privileged set of TCP ports instead of the usual ports, which are reserved for the active server processes. The -N "network debugging" flag can be used to produce voluminous messages describing the network communication progress and status. The more -N switches that you use the more output you get. Use 3 (separated by spaces: -N -N -N) to get a complete record of all network messages. Log messages are printed by syslog on daemon.log . To suppress log messages, the -q "quiet" flag can be used.
supfilesrv uses libwrap style access control (the /etc/hosts.allow and /etc/hosts.deny files) with service name "supfilesrv". The -l "log" flag turn on loggin of accepted connections (denied connections are always logged).
Normally the supfilesrv will only respond to 3 requests simultaneously, forking a child process for each client. If it gets additional requests it will respond with the error FSSETUPBUSY. The -C MaxChildren switch can be used to increase (or decrease) this number.
supfilesrv listens to IPv4 listening socket by default. With the -6 flag, it will listen to IPv6 listening socket. For dual stack support you will want to run two instances of supfilesrv.
It is possible to pre-compile a list of the files in a collection to make supfilesrv service that collection much faster. This can be done by running supscan on the desired collection on the repository machine. This produces a list of all the files in the collection at the time of the supscan; subsequent upgrades will be based on this list of files rather than actually scanning the disk at the time of the upgrade. Of course, the upgrade will consequently bring the client machine up to the status of the repository machine as of the time of the supscan rather than as of the time of the upgrade; hence, if supscan is used, it should be run periodically on the collection. This facility is useful for extremely large file collections that are upgraded many times per day, such as the CMU UNIX system software. The "verbose" flag -v will cause supscan to produce output messages as it scans the files in the collection. The "system" flag -s will cause supscan to scan all system collections residing on the current host. The basedir parameter must be specified if the collection is a private collection whose base directory is not the default.
/usr
default base directory for a collection
/etc/supfiles/coll.dir
base directory list for system collections
/etc/supfiles/coll.host
host name list for system collections
<base-directory>/sup/<collection>/*
files used by file server (see sup(1))
<base-directory>/sup/<collection>/list
list file used by supscan to create file list
<base-directory>/sup/<collection>/scan
file list created by supscan from list file
sup(1) hosts_access(5) hosts_options(5)
The SUP Software Upgrade Protocol, S. A. Shafer, CMU Computer Science Dept., 1985.
The file server places log messages on the standard and diagnostic output files. The process name and process id number generally accompany each message for diagnostic purposes.
31-July-92 Mary Thompson (mrt) at Carnegie Mellon University
Removed references to supnameserver which has not existed for a long time. Update a few file names. Added -C switch.
21-May-87 Glenn Marcy (gm0w) at Carnegie-Mellon University
Updated documentation for 4.3; changed /usr/cmu to /usr/cs.
15-Jan-86 Glenn Marcy (gm0w) at Carnegie-Mellon University
Updated documentation; -s switch to supscan.
23-May-85 Steven Shafer (sas) at Carnegie-Mellon University
Supscan created and documented; also -N flag.
04-Apr-85 Steven Shafer (sas) at Carnegie-Mellon University
Created.