SLOWSETUP.DOC Matthew Dillon 891 Regal Rd. Berkeley, Ca. 94708 pacbell.PacBell.COM!sorinc!overload!dillon GETTING UUCP UP AND RUNNING FOR REAL This UUCP distribution in general is not for the uninitiated. That is, it is not user friendly. This particular document outlines a general installation procedure. Be warned that there are a LOT of things you will have to do to bring up UUCP on your machine. This document shows a TYPICAL setup. You will most likely want to modify the example to fit your own needs. I cover all the points though. (1) You made backups of the distribution floppies, right? DO NOT MODIFY THE DISTRIBUTION FLOPPIES. The instructions below are long and some are complex and you may wish to refer to the original distribution diskettes if you accidently mess something up. (2A) Installing UUCP on a single floppy system. Well, it *is* possible, but difficult. you need to make as much space as possible available on the main floppy. The second distribution disk contains only the source and manual pages. I suggest you shuffle things around a bit. You already have a copy of the first distribution diskette. I suggest you format a new disk and put the MAN directory of the second distribution disk on it. Note that there is a MAN directory on the boot disk as well but this one contains only dmail.help which you need to gain online help from dmail. The following executables are required on the boot floppy and should not be moved off. You should move as many of the remaining executables somewhere else as you can. Required Executables in C c/dmail c/getty c/rmail c/uucico c/rnews c/uucp c/unbatcher c/dme (unless you configure your own editor) c/sendmail c/uux c/uuxqt You will want to change the ASSIGNments in s/startup-sequence as follows: Assign UUSPOOL: UUCP:SPOOL Assign UUMAIL: UUCP:MAIL Assign UUNEWS: UUCP:NEWS These directories MUST be in nonvoltile storage or your USENET node will be unreliable. (2B) Installing UUCP on a duel floppy system. In this case very little shuffling is required. I suggest the second floppy be used for UUSPOOL:, UULIB:, UUMAIL:, UUNEWS:, GETTY:, and UUPUB:. Format a new floppy (this will be your second floppy) and create directories as follows: MakeDir df1:spool MakeDir df1:mail MakeDir df1:mail MakeDir df1:news MakeDir df1:pub MakeDir df1:lib Modify the Assignments in s/startup-sequence of the boot floppy as follows: Assign UUSPOOL: df1:spool Assign UULIB: df1:lib Assign UUMAIL: df1:mail Assign UUNEWS: df1:news Assign GETTY: UULIB: Assign UUPUB: df1:pub Copy df0:lib to df1:lib and either delete or rename df0:lib to prevent confusion. What we have done is move all dynamic storage to df1: .. files that will change a lot or require a lot of disk space. Specifically, UULIB: was moved to DF1: because the sequence number file is kept in UULIB: and this is updated for each mail message sent. (2B) Installing UUCP on a Hard Drive Make a directory called UUCP on your hard drive somewhere. And Assign UUCP: to it. Copy the contents of both distribution floppies to your harddrive: (put first disk in DF0:) 1> Copy df0: UUCP: ALL CLONE (put second disk in DF0:) 1> Copy df0: UUCP: ALL CLONE It is easiest to keep all the directories in one place. Note that a MAN directory exists on both distribution floppies, simply merge them together. Merge the startup-sequence on the boot floppy into your master startup-sequence. Make sure you get all the Assigns and that they are properly reassigned to the appropriate directory on the harddisk. Most people normally make a master UUCP: assign as a reference point to other assigns. Be sure that UUSPOOL:, UUMAIL:, UUNEWS: and UUPUB: are assigned to your hard disk instead of ram. You will most likely want to run DCron and Getty from your startup-sequence. Be sure that UUCP:C is assigned *before* these programs are run so they pick up the appropriate path. If Getty interferes with any terminal program you might use you may be forced to BREAK it. Remember to restart it to enable incomming UUCP calls again. DCron is an extremely useful utility to run, especially in systems with hard disks. The only thing you have to watch out for is to be sure to BREAK it (kill it) before shutting off your machine. DCron writes to its log file and runs other programs based on the date and you don't want to accidently turn off your machine when DCron has just started up some other program that may write to your hard disk. In the context of UUCP, DCron is normally used to automatically poll systems in the wee hours while you are asleep, to trim log files automagically, and maybe disable the modem's speaker while you are asleep (at least, that is what I use it for). Most people with HDs running UUCP leave their Amiga's on 24 hours a day. Other System Directories Merge the mountlist into your master mountlist and copy any devices from l that you do not already have into your master l directory. merge or copy uucp:s/crontab to s:crontab and uucp:s/.edrc to s:.edrc . You can ignore files in uucp:system, they are standard system files. ---- -- - - - - - - -- ---- (3) Other startup-sequence efficiency considerations UUCP relies heavily on the Amiga's multitasking capabilities. Most programs execute other programs. Many programs in UUCP:C may be made resident as shown by the pure bit being set. You will probably at least want to make C:RUN resident if you haven't already. Depending on available RAM you may want to make certain other progams resident. Here are some suggestions: uucp:c/dme ; run by dmail to edit mail uucp:c/uuxqt ; run by uucico to handle received files uucp:c/rmail ; run by uuxqt to handle received mail uucp:c/sendmail ; run by dmail to handle outgoing mail (note that uucp:c/sendmail and uucp:c/rmail are the same executable just renamed) STACK: All programs should run with a stack of 8192. This has been tested for all programs except RNews and ANews which may require more. RNEWS: RNews currently takes a huge amount of memory and will run only on machines with at least 1.5MB of ram. Even with 1.5MB you may need to run rnews manually instead of having it automatically run by uuxqt. In this case rename the rnews executable to something else and create a dummy script file in its place (named as 'rnews') with the script bit set. (4) System requirements Be sure you are running at least version 1.3 of the operating system. The main consideration is that you are using at least the 1.3 serial device. The NULL: device is required, this is in the l directory of the boot floppy as already discussed. The UUSER: device is not required unless you want to start getting fancy with the Getty. This is mainly a programmer's tool. (5) Getty Normally one runs a Getty in his startup-sequence on the internal serial port (from which you wish to receive calls). Currently only one Getty may be run PER SERIAL DEVICE NAME, and using other units of a given serial device will interfere with Getty's operation. This is due to the difficulty of implementation in Getty and will eventually be fixed (to fix the problem I have to patch into the OpenDevice and CloseDevice vectors). So for now you can really only run Getty on the internal serial device. Getty does its best to not interfere with comm programs and the like, but if a comm program refuses to run because it can't get exclusive access to the serial port you may have to kill the Getty by BREAKing it from a CLI. Refer to the manual page MAN:Getty for more information (for floppy based systems all manual pages are on the second distribution diskette). (6) SHELL-STARTUP Assuming you are using the 1.3 Shell, the S:Shell-Startup file normally contains at least a Path command and Stack command to properly setup a newshell's path and stack. Be sure the stack is at least 8192 for this distribution of UUCP and add the UUCP:C (or wherever you have placed the distribution executables) to your path list. Older UUCP distributions required a huge stack, this has been fixed. (7) SITE-SETUP CONTROL FILES The following is a description of control and log files required for UUCP and how you must modify them to install your system. (GETTY: is normally Assign'd to UULIB:) GETTY:Getty-Header This file contains the header line that is printed before a login: prompt and is typically only two or three lines long. The header usually contains your node name and the version of the OS you are running under so people calling from term programs know who you are. (Getty can be used to run things other than uucico) Modify accordingly. GETTY:Passwd The password file is used by Getty to authenticate login requests. In the context of UUCP, remote UUCICOs that call your machine up will provide a login and password. Getty handles this and if the login is valid and the password matches will run the appropriate program found in the password file. Getty also deals with such features as automatic disconnect on timeout and logs times for all incomming and outgoing calls. In a serious system you should first remove all the junk entries that come with the distribution. You need an entry for each remote machine you want to be able to call you. You do not necessarily need to give them logins that corrospond to their machine names though this is how it is usually done. Other programs in the future will be able to be run from a Getty. Later versions of UUCP will implement MAILER-DAEMON type stuff like 'unknown user', in which case the password file will be used to define which user names are valid on the system. GETTY:LOGFILE The logfile is appended to by Getty whenever an incomming call occurs or somebody takes over the serial port. It logs connect and disconnect times for incomming calls and usage for external programs. UULIB:Domain In nearly every case you will not need this file. Those of you who wish to do domain routing through their machine or have more than one default for unknown destinations should refer to the manual page MAN:Domains. UULIB:.Signature .Signature is used by the Mail program and normally appended to outgoing mail. Modify accordingly. UULIB:Seq The Seq file should exist but otherwise not be modified by the user (except for setting it to a "1" once a year). This file is atomically updated and used to provide unique filenames and mail IDs for outgoing mail. UULIB:Security This file contains a list of allowed directories remote UUCP transfers may read and write to. Refer to the Security manual page. This file never contains the UUSPOOL: directory which is implicitly read-write. You need not modify this file now but should keep it in mind. It protects your system in as much as I have been able to close the loopholes. Loopholes might still exist. UULIB:news.distribution This file contains a list of news distribution idents for various areas and must normally be modified according to where you are.. you need to be a UUCP guru to do this. Most people can just leave it alone. UULIB:Config This file contains configuration information for many executables in UUCP:C and should be modified accordingly. Be sure you modify at least the following entries. REFER TO THE 'Assigns' MANUAL PAGE. NodeName UserName RealName NewsFeed (not required if you don't care about news) Organization TimeZone DefaultNode Editor **** Take some time to pick a node name for yourself. It should be no more than 8 characters long. Some UUCP sites barf at node names longer than 6 chars so if you are not sure of your neighbors pick one no more than 6 characters long. Your site name should be in lower case. UULIB:L.Sys This file contains site information for sites that may call you up or you may call up. You must modify this file appropriately before you can run UUCP, refer to the 'L.Sys' manual page. UULIB:Aliases This is a mail aliases file with aproximately the same power as /usr/lib/aliases on UNIX systems. You should refer to the 'Aliases' manual page and modify this file as appropriate for various defaults like 'postmaster'... to whatever user name you pick for yourself. UUCP:S/Crontab This is a functional Crontab file for use with the DCron program. This file is normally moved to S: (it is useless in UUCP:S). UUSPOOL:LOGFILE UUCICO and other programs log errors and other things to this file. Normally you use DCron to clean up this and other log files once daily to keep them from getting to large. (8) TESTING / DMAIL You will next want to test your UUCP configuration. If testing with a friend's Amiga running the same distribution simply email to him, then one of you run uucico -s just like in QuickSetup.DOC, except this time you are using the system name he picked instead of 'test1' or 'test2'. If the initial tests in QuickSetup.DOC worked and the system is not working now check the following (common problems): (a) the login and password in your L.Sys file (that uucico uses to login to the remote machine) matches the login and password in the remote machine's Getty:Passwd file. (b) There is an entry for your node in the remote machine's L.Sys file and vise versa (c) The telephone number is correct (d) the node names are all in lower case (e) you constructed the email address correctly (nodename!user) I suggest you get UUCP running with a friend before getting it running with a UNIX system as it is easier to test it with a friend. Assuming you email to the user name he picked for his UULIB:Config 'UserName' entry and he did the same thing to you, entering 'dmail' without any arguments will bring up the mail shell and allow you to read the message after transfer via UUCico is complete. You can check that the email actually arrived into the right mail box in UUMAIL: by simply getting a directory of UUMAIL: READ the manual page for DMail for information on the construction of mail paths to other systems and users.