xref: /csrg-svn/usr.bin/uucp/DOC/README (revision 13993)
113712SrootINSTALLATION GUIDE
2*13993SgrayREADME	5.2	83/07/19
313712Sroot
413712SrootTom Truscott, rti!trt,decvax!duke!trt (919)541-6488 Research Triangle Institute
513712SrootBob Gray, gray@berkeley, duke!adiron!bob (315) 336-4989
613712Sroot
713712SrootThis is a variant of the uucp used at decvax, ittvax, rti, mcnc, adiron,
813712Srootduke and others.  There have been tons of bug fixes and enhancements
913712Srootfrom people on the usenet (thank you).  Speed is substantially
1013712Srootimproved.  This version fixes essentially all of the McGeady's bug list.
1113712Sroot
1213712SrootEnhancements:
1313712Sroot
1413712SrootDialers			Lots of dialers included.
1513712Sroot
1613712SrootSubdirectories		/usr/spool/uucp is now split into 7 subdirectories.
1713712Sroot			This is a huge help on busy systems.
1813712Sroot
1913712Sroot/usr/lib/uucp/L.cmds	List of commands permitted for remote execution.
2013712Sroot			A line of form 'PATH=...' sets the search path.
2113712Sroot
2213712Srootexpect-send sequence	Escape characters now permitted: \r, \n.
2313712Sroot			\r, not \n, is default char sent at end of string.
2413712Sroot			\c	(put at end of string). Dont send ending \r.
2513712Sroot			\d	pause 1 second (\d\d pauses 2 seconds)
2613712Sroot			"" P_ZERO  `expect nothing, start sending zero parity.'
2713712Sroot			P_EVEN (default), P_ODD, P_ONE other parity modes.
2813712Sroot			\05	Send a control-E
2913712Sroot			"" ""   `expect nothing, send a \r'.
3013712Sroot
3113712Srootuupoll [sysname]	Polls named system.
3213712Srootuusnap			Displays spooled files, and pending uuxqts.
3313712Sroot
3413712Sroot
3513712SrootThis version runs on all VAXen and PDPs under UNIX-V7 and 4.1bsd, 4.2BSD.
3613712SrootIt also runs on Gould/SEL Concept series machines (e.g. 32/8750),
3713712SrootDUAL 68000 unisoft.
3813712SrootIt should not be hard to get it running on BTL system III, IV, and V.
3913712SrootOn such systems, put "#define SYSIII" in uucp.h and pray.
4013712Sroot
4113712SrootUUCP installers should read the two papers (by Dave Nowitz)
4213712Srootin Vol 2B of version 7 manuals and UUAIDS/setup.tblms.
4313712SrootUnderstand each step below before executing.
4413712SrootSome steps will vary slightly from system to system.
4513712Sroot
4613712Sroot**** INSTALLATION *******
4713712Sroot
4813712Sroot1. If you are currently running uucp, save the old programs!:
4913712Sroot	su root
5013712Sroot	cd /usr/bin
5113712Sroot	for i in uucp uux uulog uuname	     (csh: foreach i (uucp ....) )
5213712Sroot	do
5313712Sroot		cp $i $i.old
5413712Sroot	done					(csh: end )
5513712Sroot	cd /usr/lib/uucp
5613712Sroot	for i in uucico uuxqt uuclean
5713712Sroot	do
5813712Sroot		cp $i $i.old
5913712Sroot	done
6013712Sroot
6113712Sroot2. Editing Makefile and uucp.h
6213712Sroot	4.2 sites using the supported dialers are all set with defaults.
6313712Sroot
6413712Sroot	non-4.2
6513712Sroot		a) sites need to install the Berkeley directory reading library.
6613712Sroot			Try (cd LIBNDIR; make install).
6713712Sroot			Edit Makefile to have LIBNDIR= -lndir
6813712Sroot			define NDIR in uucp.h.
6913712Sroot		b) Check LDFLAGS, OWNER, GROUP, and LIBUUCICO.
7013712Sroot		c) pick a method to allow uucp to know its system:
7113712Sroot			Check out GETHOSTNAME/UNAME/WHOAMI/CCWHOAMI in uucp.h
7213712Sroot		d) define SYSIII if appropriate in uucp.h.
7313712Sroot		e) Your "make" may fail because the Makefile is so large.
7413712Sroot			If so, in /usr/src/cmds/make/defs, change
7513712Sroot			'#define NFLEFTS 60' to 512, and re-make make.
7613712Sroot
7713712Sroot3. Make the new commands.
7813712Sroot	make
7913712Sroot
8013712Sroot4. WAIT UNTIL THE UUCP SYSTEM IS IDLE!! Single-user is best.
8113712Sroot	su root  (it is important that chmod, chown and chgrp work below)
8213712Sroot
8313712Sroot5. Install the new commands:
8413712Sroot	make install
8513712Sroot	(If you are chicken, type 'make -n install' first).
8613712Sroot
8713712Sroot6. Edit and install the control files:
88*13993Sgray	Look in UUAIDS.  Edit and install into /usr/lib/uucp if necessary
89*13993Sgray	USERFILE, L.cmds, L.sys, L-devices, L-dialcodes.
90*13993Sgray	THESE FILES MUST BE OWNED BY THE SAME OWNER AND GROUP AS
91*13993Sgray	THE UUCP COMMANDS AND UUCP SPOOL FILES!!! (probably uucp, daemon).
92*13993Sgray	The format for dialers is slightly different so that any dialer
93*13993Sgray	can be handled.
9413712Sroot
9513712Sroot7. Make new subdirectories:
9613712Sroot	For safety:  cd /usr/spool/uucp; tar c .   (save Qed files on tape)
9713712Sroot	The following assumes your site name is produced by `uuname -l`.
9813712Sroot	make mkdirs
9913712Sroot		If your system is duke, then the subdirectories created are
10013712Sroot		named C., D., D.duke, D.dukeX, TM., XTMP and X..
10113712Sroot	rmdir /usr/lib/uucp/.XQTDIR
10213712Sroot		which is obsolete (XTMP replaces it).
10313712Sroot
10413712Sroot8. Move old Qed files:
10513712Sroot	If you have spooled files, they must be moved into the subdirectories.
10613712Sroot	Assuming all spool files are in /usr/spool/uucp
10713712Sroot	(i.e. you did not have subdirs before)
10813712Sroot	the following command will move the spool files
10913712Sroot	to the right subdirectories:
11013712Sroot    make mvspoolfiles; ??? does this work now??????????
11113712Sroot	Files beginning C. are put in the C. subdirectory, and so on.
11213712Sroot	Files begining D.dukeX are put in that directory, *not* D..
11313712Sroot	(Note: if you already had a subdirectory version of uucp,
11413712Sroot	you need only create the new subdirectories mentioned above
11513712Sroot	and move the relevant files there.
11613712Sroot    Delete other old directories if you had any (e.g. "LOG.")
11713712Sroot
11813712Sroot9. Compact /usr/spool/uucp:
11913712Sroot	cd /usr/spool
12013712Sroot	mkdir nuucp
12113712Sroot	chown uucp nuucp
12213712Sroot	chgrp daemon nuucp
12313712Sroot	for i in uucp/*    		(csh: foreach i (uucp/*) )
12413712Sroot	do
12513712Sroot		mv $i nuucp
12613712Sroot	done				(csh: end )
12713712Sroot	rmdir uucp
12813712Sroot	mv nuucp uucp
12913712Sroot		(Note: this does *not* work if a filesystem is mounted on
13013712Sroot		/usr/spool/uucp!  If that is the case, you should 'tar'
13113712Sroot		/usr/spool/uucp somewhere, unmount, re-mkfs, and re-mount
13213712Sroot		the filesystem, and tar the uucp files back.)
13313712Sroot
13413712Sroot10. Test the new system
13513712Sroot	Test by mailing a letter somewhere and back.
13613712Sroot	If it works, the new system is probably fine.
13713712Sroot	Otherwise, figure out what is wrong.
13813712Sroot	Start by examining LOGFILE.  Try /usr/lib/uucp/uucico -r1 -sname -x7
13913712Sroot	If things are no-go, you can back out the changes by restoring the
14013712Sroot	old uu programs and the spooled files.
14113712Sroot	NOTE: The subdirectories foul up a non-subdir version,
14213712Sroot	so be sure that subdirectories exist/do not exist as appropriate.
14313712Sroot
14413712Sroot
14513712Sroot11. Install handy UUAIDS
14613712Sroot	Look in uuaids for handy other stuff.  In particular, uu.* are
14713712Sroot	shell scripts that can be run via cron hourly, daily, and weekly
14813712Sroot	to keep uucp trim.  L-devices, L-dialcodes, L.cmds, L.sys, USERFILE
14913712Sroot	are sample files.  THEY MOST LIKELY NEED TO BE MODIFIED TO USE
15013712Sroot	THEM ON YOUR OWN SYSTEM!
15113712Sroot
15213712Sroot	uu.hourly		Makes sure sites are polled.
15313712Sroot	uu.daily		Runs uuclean to clean up /usr/spool/uucp.
15413712Sroot				**IT HANDLES SUBDIRECTORIES!!
15513712Sroot				Renames LOGFILE to LOGFILE.old.
15613712Sroot	uu.weekly		Renames SYSLOG to SYSLOG.old.
15713712Sroot	The above scripts should be run via cron.
15813712Sroot
15913712Sroot	uuq
16013712Sroot		Reports number of command ('C.') files queued for each system,
16113712Sroot		number of remote executions ('XQT') pending,
16213712Sroot		and with what systems uucico is currently conversing.
16313712Sroot		(It would also be handy to know the status of each site
16413712Sroot		such as 'decvax: last connection 03:00 Fri Jan 20' and
16513712Sroot		failures such as 'harpo: no answer 07:00 Fri Jan 20'.
16613712Sroot		It would also be handy to have a manual page for this thing.)
16713712Sroot
16813712Sroot	uuusage, uuusage.1, uutbl
16913712Sroot		Summarizes SYSLOG.  Very handy.  (Alan S. Watt).
17013712Sroot		Works best if you use uucp.daily.  Slow if SYSLOG is big.
17113712Sroot
17213712Sroot	uurate
17313712Sroot		More detailed summary of SYSLOG.  Useful for checking
17413712Sroot		throughput.  Modified from program provided by ittvax!swatt.
17513712Sroot		Slow if SYSLOG is big.
17613712Sroot
17713712Sroot	uucp.daily
17813712Sroot		Daily shell script run at ittvax.  Manages SYSLOG files in
17913712Sroot		a convenient form for uuusage.  Not integrated in time
18013712Sroot		for this distribution.
18113712Sroot
18213712Sroot
18313712SrootComments, bug reports, *and improved code* are welcome.
18413712Sroot	Tom Truscott
18513712Sroot	Bob Gray
186