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