xref: /csrg-svn/usr.bin/uucp/DOC/README (revision 62377)
113712SrootINSTALLATION GUIDE
2*62377SbosticREADME	8.1	93/06/06
313712Sroot
417766SralphThis version is based on the "rti uucp" that was on the 4.2BSD tape.
517766SralphIt contains many additional  features and fixes from Usenet,
617871SralphTom Truscott, Guy Harris, Lou Salkind, and many others.
717766Sralph
817766SralphA few new subdirectories have been added. Do a "make mkdirs" to make
917766Sralphsure that you have all of them.
1017766Sralph
1117871SralphI recommend that you change the uucp mail handler in your sendmail.cf
1217871Sralphto something like:
1317871Sralph
1417871Sralph	# Muucp, P=/usr/bin/uux, F=sDFMhuU, S=13, R=23, M=100000,
1517871Sralph	# 	A=uux - -r $h!rmail ($u)
1623724Sbloom	Muucp, P=/usr/bin/uux, F=sDFMmhuU, S=13, R=23, M=100000,
1723724Sbloom		A=uux - -r -z -a$g -gC $h!rmail ($u)
1818614Sralph
1923724SbloomThe -a$g provides a return address in case mail fails (So It
2017871Sralphwon't go to yourmachine!uucp anymore.) The -gC specifies a grade
2117871Sralphfor mail. C is a good choice for mail. News should run at 'd'. This
2223724Sbloomway, mail gets sent before news. The 'm' flag specifies that this
2323724Sbloommail can send to multiple addresses, which uux can.
2417871Sralph
2517766SralphThe man pages now describe all the options for the various commands.
2618614SralphMake sure you read them. A list of the functional differences is in "Changes".
2717766Sralph
2817766SralphYou should also look through the UUAIDS directory. There are some useful
2917766Sralphprograms and hints therein.
3017766Sralph
3123724SbloomThe maximum length of a site name has been changed from the old 7 to the
3223724Sbloom14. This is the be compatible with the HoneyDanBer uucp (aka BNU 1) which
3323724Sbloomis as close to a standard uucp as there is. Sites which have sitenames
3423724Sbloomlonger than 7 characters that only send you the first 7 characters are
3523724Sbloombroken and should be fixed. However, there is a way of compensating for
3623724Sbloomthis until they fix their problem. For each site you talk to that has a
3723724Sbloomname longer that 7 characters, put a line in /usr/lib/uucp/L.aliases of
3823724Sbloomthe form:
3923724Sbloom	fullname name-truncated-to-7-characters.
4023724SbloomE.g:
4123724Sbloom	tektronix tektron
4223724Sbloom	lbl-csam lbl-csa
4323724Sbloom	rochester rochest
4423724Sbloom	ut-sally ut-sall
4523724Sbloom(See UUAIDS/L.aliases for more details on aliasing uucp names.) If the site
4623724Sbloomname is <= 7 characters, you don't have to do anything.
4723724Sbloom
4823724Sbloom
4917766SralphRick Adams
5017766Sralphrick@seismo.ARPA
5123724SbloomJune 19, 1985
5217766Sralph
5313712SrootTom Truscott, rti!trt,decvax!duke!trt (919)541-6488 Research Triangle Institute
5413712SrootBob Gray, gray@berkeley, duke!adiron!bob (315) 336-4989
5513712Sroot
5613712SrootThis is a variant of the uucp used at decvax, ittvax, rti, mcnc, adiron,
5713712Srootduke and others.  There have been tons of bug fixes and enhancements
5813712Srootfrom people on the usenet (thank you).  Speed is substantially
5913712Srootimproved.  This version fixes essentially all of the McGeady's bug list.
6013712Sroot
6113712SrootEnhancements:
6213712Sroot
6313712SrootDialers			Lots of dialers included.
6413712Sroot
6513712SrootSubdirectories		/usr/spool/uucp is now split into 7 subdirectories.
6613712Sroot			This is a huge help on busy systems.
6713712Sroot
6813712Sroot/usr/lib/uucp/L.cmds	List of commands permitted for remote execution.
6913712Sroot			A line of form 'PATH=...' sets the search path.
7013712Sroot
7113712Srootexpect-send sequence	Escape characters now permitted: \r, \n.
7213712Sroot			\r, not \n, is default char sent at end of string.
7313712Sroot			\c	(put at end of string). Dont send ending \r.
7413712Sroot			\d	pause 1 second (\d\d pauses 2 seconds)
7513712Sroot			"" P_ZERO  `expect nothing, start sending zero parity.'
7613712Sroot			P_EVEN (default), P_ODD, P_ONE other parity modes.
7713712Sroot			\05	Send a control-E
7813712Sroot			"" ""   `expect nothing, send a \r'.
7913712Sroot
8013712Srootuupoll [sysname]	Polls named system.
8113712Srootuusnap			Displays spooled files, and pending uuxqts.
8213712Sroot
8313712Sroot
8413712SrootThis version runs on all VAXen and PDPs under UNIX-V7 and 4.1bsd, 4.2BSD.
8513712SrootIt also runs on Gould/SEL Concept series machines (e.g. 32/8750),
8613712SrootDUAL 68000 unisoft.
8717766SralphIt also runns on BTL system III, IV, and V.
8813712Sroot
8913712SrootUUCP installers should read the two papers (by Dave Nowitz)
9013712Srootin Vol 2B of version 7 manuals and UUAIDS/setup.tblms.
9113712SrootUnderstand each step below before executing.
9213712SrootSome steps will vary slightly from system to system.
9313712Sroot
9413712Sroot**** INSTALLATION *******
9513712Sroot
9613712Sroot1. If you are currently running uucp, save the old programs!:
9713712Sroot	su root
9813712Sroot	cd /usr/bin
9913712Sroot	for i in uucp uux uulog uuname	     (csh: foreach i (uucp ....) )
10013712Sroot	do
10113712Sroot		cp $i $i.old
10213712Sroot	done					(csh: end )
10313712Sroot	cd /usr/lib/uucp
10413712Sroot	for i in uucico uuxqt uuclean
10513712Sroot	do
10613712Sroot		cp $i $i.old
10713712Sroot	done
10813712Sroot
10913712Sroot2. Editing Makefile and uucp.h
11013712Sroot	4.2 sites using the supported dialers are all set with defaults.
11113712Sroot
11213712Sroot	non-4.2
11313712Sroot		a) sites need to install the Berkeley directory reading library.
11417766Sralph			Try (cd libndir; make install).
11513712Sroot			Edit Makefile to have LIBNDIR= -lndir
11613712Sroot			define NDIR in uucp.h.
11713712Sroot		b) Check LDFLAGS, OWNER, GROUP, and LIBUUCICO.
11813712Sroot		c) pick a method to allow uucp to know its system:
11913712Sroot			Check out GETHOSTNAME/UNAME/WHOAMI/CCWHOAMI in uucp.h
12013712Sroot		d) define SYSIII if appropriate in uucp.h.
12113712Sroot		e) Your "make" may fail because the Makefile is so large.
12213712Sroot			If so, in /usr/src/cmds/make/defs, change
12313712Sroot			'#define NFLEFTS 60' to 512, and re-make make.
12413712Sroot
12513712Sroot3. Make the new commands.
12613712Sroot	make
12713712Sroot
12813712Sroot4. WAIT UNTIL THE UUCP SYSTEM IS IDLE!! Single-user is best.
12913712Sroot	su root  (it is important that chmod, chown and chgrp work below)
13013712Sroot
13113712Sroot5. Install the new commands:
13213712Sroot	make install
13313712Sroot	(If you are chicken, type 'make -n install' first).
13413712Sroot
13513712Sroot6. Edit and install the control files:
13613993Sgray	Look in UUAIDS.  Edit and install into /usr/lib/uucp if necessary
13713993Sgray	USERFILE, L.cmds, L.sys, L-devices, L-dialcodes.
13813993Sgray	THESE FILES MUST BE OWNED BY THE SAME OWNER AND GROUP AS
13913993Sgray	THE UUCP COMMANDS AND UUCP SPOOL FILES!!! (probably uucp, daemon).
14013993Sgray	The format for dialers is slightly different so that any dialer
14113993Sgray	can be handled.
14213712Sroot
14313712Sroot7. Make new subdirectories:
14413712Sroot	For safety:  cd /usr/spool/uucp; tar c .   (save Qed files on tape)
14513712Sroot	The following assumes your site name is produced by `uuname -l`.
14613712Sroot	make mkdirs
14713712Sroot		If your system is duke, then the subdirectories created are
14813712Sroot		named C., D., D.duke, D.dukeX, TM., XTMP and X..
14913712Sroot	rmdir /usr/lib/uucp/.XQTDIR
15013712Sroot		which is obsolete (XTMP replaces it).
15113712Sroot
15213712Sroot8. Move old Qed files:
15313712Sroot	If you have spooled files, they must be moved into the subdirectories.
15413712Sroot	Assuming all spool files are in /usr/spool/uucp
15513712Sroot	(i.e. you did not have subdirs before)
15613712Sroot	the following command will move the spool files
15713712Sroot	to the right subdirectories:
15813712Sroot    make mvspoolfiles; ??? does this work now??????????
15913712Sroot	Files beginning C. are put in the C. subdirectory, and so on.
16013712Sroot	Files begining D.dukeX are put in that directory, *not* D..
16113712Sroot	(Note: if you already had a subdirectory version of uucp,
16213712Sroot	you need only create the new subdirectories mentioned above
16313712Sroot	and move the relevant files there.
16413712Sroot    Delete other old directories if you had any (e.g. "LOG.")
16513712Sroot
16613712Sroot9. Compact /usr/spool/uucp:
16713712Sroot	cd /usr/spool
16813712Sroot	mkdir nuucp
16913712Sroot	chown uucp nuucp
17013712Sroot	chgrp daemon nuucp
17113712Sroot	for i in uucp/*    		(csh: foreach i (uucp/*) )
17213712Sroot	do
17313712Sroot		mv $i nuucp
17413712Sroot	done				(csh: end )
17513712Sroot	rmdir uucp
17613712Sroot	mv nuucp uucp
17713712Sroot		(Note: this does *not* work if a filesystem is mounted on
17813712Sroot		/usr/spool/uucp!  If that is the case, you should 'tar'
17913712Sroot		/usr/spool/uucp somewhere, unmount, re-mkfs, and re-mount
18013712Sroot		the filesystem, and tar the uucp files back.)
18113712Sroot
18213712Sroot10. Test the new system
18313712Sroot	Test by mailing a letter somewhere and back.
18413712Sroot	If it works, the new system is probably fine.
18513712Sroot	Otherwise, figure out what is wrong.
18613712Sroot	Start by examining LOGFILE.  Try /usr/lib/uucp/uucico -r1 -sname -x7
18713712Sroot	If things are no-go, you can back out the changes by restoring the
18813712Sroot	old uu programs and the spooled files.
18913712Sroot	NOTE: The subdirectories foul up a non-subdir version,
19013712Sroot	so be sure that subdirectories exist/do not exist as appropriate.
19113712Sroot
19213712Sroot
19313712Sroot11. Install handy UUAIDS
19413712Sroot	Look in uuaids for handy other stuff.  In particular, uu.* are
19513712Sroot	shell scripts that can be run via cron hourly, daily, and weekly
19613712Sroot	to keep uucp trim.  L-devices, L-dialcodes, L.cmds, L.sys, USERFILE
19713712Sroot	are sample files.  THEY MOST LIKELY NEED TO BE MODIFIED TO USE
19813712Sroot	THEM ON YOUR OWN SYSTEM!
19913712Sroot
20013712Sroot	uu.hourly		Makes sure sites are polled.
20113712Sroot	uu.daily		Runs uuclean to clean up /usr/spool/uucp.
20213712Sroot				**IT HANDLES SUBDIRECTORIES!!
20313712Sroot				Renames LOGFILE to LOGFILE.old.
20413712Sroot	uu.weekly		Renames SYSLOG to SYSLOG.old.
20513712Sroot	The above scripts should be run via cron.
20613712Sroot
20717766Sralph	uucpsummary
20817766Sralph		Summarizes LOGFILE and SYSLOG. It's very helpful in telling
20917766Sralph		what is going on and who is calling who.
21013712Sroot	uucp.daily
21113712Sroot		Daily shell script run at ittvax.  Manages SYSLOG files in
21213712Sroot		a convenient form for uuusage.  Not integrated in time
21313712Sroot		for this distribution.
21413712Sroot
21513712Sroot
21613712SrootComments, bug reports, *and improved code* are welcome.
21713712Sroot	Tom Truscott
21813712Sroot	Bob Gray
219