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