|
|
1.1 ! root 1: .TH DIST 8 ! 2: .ds ld /usr/lib/dist ! 3: .SH NAME ! 4: connect, dispatch \(mi generic network client and server ! 5: .PP ! 6: query, receive, notify \(mi network clients ! 7: .PP ! 8: answer, transmit, notified \(mi network servers ! 9: .SH SYNOPSIS ! 10: .B \*(ld/connect ! 11: .I remote-system remote-cmd io local-cmd local-args ! 12: .PP ! 13: .B \*(ld/query ! 14: .PP ! 15: .B \*(ld/receive ! 16: .I package-id ! 17: .PP ! 18: .B \*(ld/notify ! 19: .I package-id ! 20: .PP ! 21: .B \*(ld/dispatch ! 22: .I remote-system remote-user ! 23: .PP ! 24: .B \*(ld/answer ! 25: .I remote-system remote-user ! 26: .PP ! 27: .B \*(ld/transmit ! 28: .I remote-system remote-user ! 29: .PP ! 30: .B \*(ld/notified ! 31: .I remote-system remote-user ! 32: .SH DESCRIPTION ! 33: These programs act behind the scenes on behalf of ! 34: .IR dist (1). ! 35: .I Connect ! 36: and ! 37: .I dispatch ! 38: deal with all the details of establishing and authenticating connections ! 39: on the network. The remaining programs are independent of the underlying ! 40: network. ! 41: .PP ! 42: .I Connect ! 43: encapsulates all the details of making a call on the underlying network. ! 44: Its arguments are mostly self explanatory. ! 45: .I Remote-cmd ! 46: must be one of ! 47: .BR answer ", " transmit ", or " notified "." ! 48: If ! 49: .I io ! 50: is ! 51: .BR i , ! 52: the standard input of the local command is connected ! 53: to the standard output of the remote command. If ! 54: .B i ! 55: is not specified, the local command inherits its local ! 56: standard input, and the remote command has its standard ! 57: output directed to a log file. ! 58: Similarly, ! 59: .B o ! 60: means the standard output of the local command is connected ! 61: to the standard input of the remote command. If ! 62: .B o ! 63: is not specified, the local command inherits its local ! 64: standard output, and the remote command has its standard ! 65: input attached to ! 66: .BR /dev/null . ! 67: Legal possibilities are ! 68: .BR i , ! 69: .BR o , ! 70: and ! 71: .BR io. ! 72: .PP ! 73: .I Dispatch ! 74: is intended to be called by a generic network daemon ! 75: such as ! 76: .IR svcmgr (8). ! 77: It talks to ! 78: .I connect ! 79: and takes care of establishing the appropriate standard input and ! 80: output before calling ! 81: .IR answer , ! 82: .IR transmit , ! 83: or ! 84: .IR notified . ! 85: .I Dispatch ! 86: expects arguments giving the remote system, remote user, and remote ! 87: address, and passes these to whatever program it calls. ! 88: .PP ! 89: .I Query ! 90: is a simple program called by ! 91: .I connect ! 92: with its standard input attached to the remote ! 93: .IR answer . ! 94: .I Query ! 95: displays a formatted version of the queue list from the remote machine. ! 96: (It may even turn out to be the same as ! 97: .BR /bin/cat .) ! 98: .PP ! 99: .I Receive ! 100: is a more complicated program that is called by ! 101: .I connect ! 102: with both its input and output attached to the remote ! 103: .IR transmit . ! 104: .I Receive ! 105: performs actual software installation and sends a transcript of any ! 106: errors back to the remote system. ! 107: .PP ! 108: .I Notify ! 109: is a simple program called by ! 110: .I connect ! 111: with its standard output attached to the remote ! 112: .IR notified . ! 113: .I Notify ! 114: sends an announcement of the availability of some specific package. ! 115: .PP ! 116: All of the servers read a configuration file, ! 117: .BR \*(ld/conf , ! 118: to determine how to handle installation on behalf ! 119: of a given remote system and user. The file consists of lines ! 120: containing patterns and actions. Empty lines or lines beginning ! 121: with a '\c ! 122: .BR "#" "'" ! 123: are ignored. The first three fields (separated by white space) ! 124: of each line are regular ! 125: expressions to be matched the remote system name, remote user name, ! 126: and file name respectively. The first line in which all three match ! 127: will be chosen. ! 128: The remainder of the line contains ! 129: the associated actions. ! 130: Each action is an alphanumeric name, optionally followed immediately ! 131: by a parenthesized argument. ! 132: .PP ! 133: Someday the actions will be enumerated here, but I don't know what ! 134: they are yet. ! 135: .SH EXAMPLES ! 136: A simple configuration file: ! 137: .EX ! 138: .ta \w'00000000'u +\w'00000000'u +\w'00000000'u +\w'00000000'u +\w'00000000'u +\w'00000000'u ! 139: # system user pathname action ! 140: # we are willing to distribute stuff to coma and pyxis. ! 141: (coma|pyxis) .* .* accept(yes) ! 142: \&.* .* .* accept(no) ! 143: .EE ! 144: .SH "SEE ALSO" ! 145: .IR dist (1), ! 146: .IR dist (5)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.