xref: /original-bsd/usr.bin/uucp/DOC/README (revision f82e54c4)
1INSTALLATION GUIDE
2README	5.2	83/07/19
3
4Tom Truscott, rti!trt,decvax!duke!trt (919)541-6488 Research Triangle Institute
5Bob Gray, gray@berkeley, duke!adiron!bob (315) 336-4989
6
7This is a variant of the uucp used at decvax, ittvax, rti, mcnc, adiron,
8duke and others.  There have been tons of bug fixes and enhancements
9from people on the usenet (thank you).  Speed is substantially
10improved.  This version fixes essentially all of the McGeady's bug list.
11
12Enhancements:
13
14Dialers			Lots of dialers included.
15
16Subdirectories		/usr/spool/uucp is now split into 7 subdirectories.
17			This is a huge help on busy systems.
18
19/usr/lib/uucp/L.cmds	List of commands permitted for remote execution.
20			A line of form 'PATH=...' sets the search path.
21
22expect-send sequence	Escape characters now permitted: \r, \n.
23			\r, not \n, is default char sent at end of string.
24			\c	(put at end of string). Dont send ending \r.
25			\d	pause 1 second (\d\d pauses 2 seconds)
26			"" P_ZERO  `expect nothing, start sending zero parity.'
27			P_EVEN (default), P_ODD, P_ONE other parity modes.
28			\05	Send a control-E
29			"" ""   `expect nothing, send a \r'.
30
31uupoll [sysname]	Polls named system.
32uusnap			Displays spooled files, and pending uuxqts.
33
34
35This version runs on all VAXen and PDPs under UNIX-V7 and 4.1bsd, 4.2BSD.
36It also runs on Gould/SEL Concept series machines (e.g. 32/8750),
37DUAL 68000 unisoft.
38It should not be hard to get it running on BTL system III, IV, and V.
39On such systems, put "#define SYSIII" in uucp.h and pray.
40
41UUCP installers should read the two papers (by Dave Nowitz)
42in Vol 2B of version 7 manuals and UUAIDS/setup.tblms.
43Understand each step below before executing.
44Some steps will vary slightly from system to system.
45
46**** INSTALLATION *******
47
481. If you are currently running uucp, save the old programs!:
49	su root
50	cd /usr/bin
51	for i in uucp uux uulog uuname	     (csh: foreach i (uucp ....) )
52	do
53		cp $i $i.old
54	done					(csh: end )
55	cd /usr/lib/uucp
56	for i in uucico uuxqt uuclean
57	do
58		cp $i $i.old
59	done
60
612. Editing Makefile and uucp.h
62	4.2 sites using the supported dialers are all set with defaults.
63
64	non-4.2
65		a) sites need to install the Berkeley directory reading library.
66			Try (cd LIBNDIR; make install).
67			Edit Makefile to have LIBNDIR= -lndir
68			define NDIR in uucp.h.
69		b) Check LDFLAGS, OWNER, GROUP, and LIBUUCICO.
70		c) pick a method to allow uucp to know its system:
71			Check out GETHOSTNAME/UNAME/WHOAMI/CCWHOAMI in uucp.h
72		d) define SYSIII if appropriate in uucp.h.
73		e) Your "make" may fail because the Makefile is so large.
74			If so, in /usr/src/cmds/make/defs, change
75			'#define NFLEFTS 60' to 512, and re-make make.
76
773. Make the new commands.
78	make
79
804. WAIT UNTIL THE UUCP SYSTEM IS IDLE!! Single-user is best.
81	su root  (it is important that chmod, chown and chgrp work below)
82
835. Install the new commands:
84	make install
85	(If you are chicken, type 'make -n install' first).
86
876. Edit and install the control files:
88	Look in UUAIDS.  Edit and install into /usr/lib/uucp if necessary
89	USERFILE, L.cmds, L.sys, L-devices, L-dialcodes.
90	THESE FILES MUST BE OWNED BY THE SAME OWNER AND GROUP AS
91	THE UUCP COMMANDS AND UUCP SPOOL FILES!!! (probably uucp, daemon).
92	The format for dialers is slightly different so that any dialer
93	can be handled.
94
957. Make new subdirectories:
96	For safety:  cd /usr/spool/uucp; tar c .   (save Qed files on tape)
97	The following assumes your site name is produced by `uuname -l`.
98	make mkdirs
99		If your system is duke, then the subdirectories created are
100		named C., D., D.duke, D.dukeX, TM., XTMP and X..
101	rmdir /usr/lib/uucp/.XQTDIR
102		which is obsolete (XTMP replaces it).
103
1048. Move old Qed files:
105	If you have spooled files, they must be moved into the subdirectories.
106	Assuming all spool files are in /usr/spool/uucp
107	(i.e. you did not have subdirs before)
108	the following command will move the spool files
109	to the right subdirectories:
110    make mvspoolfiles; ??? does this work now??????????
111	Files beginning C. are put in the C. subdirectory, and so on.
112	Files begining D.dukeX are put in that directory, *not* D..
113	(Note: if you already had a subdirectory version of uucp,
114	you need only create the new subdirectories mentioned above
115	and move the relevant files there.
116    Delete other old directories if you had any (e.g. "LOG.")
117
1189. Compact /usr/spool/uucp:
119	cd /usr/spool
120	mkdir nuucp
121	chown uucp nuucp
122	chgrp daemon nuucp
123	for i in uucp/*    		(csh: foreach i (uucp/*) )
124	do
125		mv $i nuucp
126	done				(csh: end )
127	rmdir uucp
128	mv nuucp uucp
129		(Note: this does *not* work if a filesystem is mounted on
130		/usr/spool/uucp!  If that is the case, you should 'tar'
131		/usr/spool/uucp somewhere, unmount, re-mkfs, and re-mount
132		the filesystem, and tar the uucp files back.)
133
13410. Test the new system
135	Test by mailing a letter somewhere and back.
136	If it works, the new system is probably fine.
137	Otherwise, figure out what is wrong.
138	Start by examining LOGFILE.  Try /usr/lib/uucp/uucico -r1 -sname -x7
139	If things are no-go, you can back out the changes by restoring the
140	old uu programs and the spooled files.
141	NOTE: The subdirectories foul up a non-subdir version,
142	so be sure that subdirectories exist/do not exist as appropriate.
143
144
14511. Install handy UUAIDS
146	Look in uuaids for handy other stuff.  In particular, uu.* are
147	shell scripts that can be run via cron hourly, daily, and weekly
148	to keep uucp trim.  L-devices, L-dialcodes, L.cmds, L.sys, USERFILE
149	are sample files.  THEY MOST LIKELY NEED TO BE MODIFIED TO USE
150	THEM ON YOUR OWN SYSTEM!
151
152	uu.hourly		Makes sure sites are polled.
153	uu.daily		Runs uuclean to clean up /usr/spool/uucp.
154				**IT HANDLES SUBDIRECTORIES!!
155				Renames LOGFILE to LOGFILE.old.
156	uu.weekly		Renames SYSLOG to SYSLOG.old.
157	The above scripts should be run via cron.
158
159	uuq
160		Reports number of command ('C.') files queued for each system,
161		number of remote executions ('XQT') pending,
162		and with what systems uucico is currently conversing.
163		(It would also be handy to know the status of each site
164		such as 'decvax: last connection 03:00 Fri Jan 20' and
165		failures such as 'harpo: no answer 07:00 Fri Jan 20'.
166		It would also be handy to have a manual page for this thing.)
167
168	uuusage, uuusage.1, uutbl
169		Summarizes SYSLOG.  Very handy.  (Alan S. Watt).
170		Works best if you use uucp.daily.  Slow if SYSLOG is big.
171
172	uurate
173		More detailed summary of SYSLOG.  Useful for checking
174		throughput.  Modified from program provided by ittvax!swatt.
175		Slow if SYSLOG is big.
176
177	uucp.daily
178		Daily shell script run at ittvax.  Manages SYSLOG files in
179		a convenient form for uuusage.  Not integrated in time
180		for this distribution.
181
182
183Comments, bug reports, *and improved code* are welcome.
184	Tom Truscott
185	Bob Gray
186