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