238 System Administration When somebody running on an HP tries to check out a file, it crashes the machine. Panic, halt, flaming death, reboot. Of course, that’s only on the HP machine where the RCS configuration was run. If you do a check out from the newer HP machine everything works just fine. So we look at the results of the configuration script, see that it’s using mmap, hit ourselves in the head, edit the configuration script to not even think about using mmap, and try again. Did I mention that the configuration script takes maybe 15 minutes to run? And that it is rerun every time you change anything, including the Makefile? And that you have to change the Makefile to build a version of RCS that you can test? And that I have real work to do? Compile, test, edit, compile, install, back to work. A couple of days later there is another flurry of RCS problems. Remember those shell scripts that try to make RCS more usable? It turns out there are multiple copies of them, too, and of course I only fixed one copy. Hack, hack, and back to work. Finally, one person can’t use the scripts at all. Things work for other people, but not him. Why? It turns out that unlike the rest of us, he is attempting to use Sun’s cmdtool. cmdtool has a wonderful-wonder- ful-oh-so-compatible feature: it doesn’t set $LOGNAME. In fact it seems to go out of its way to unset it. And, of course, the scripts use $LOGNAME. Not $USER (which doesn’t work on the HPs) not “who am i | awk '{print $1}' | sed ‘s/*\\!//”’ or some such hideous command. So the scripts get hacked again to use the elegant syntax “${LOGNAME:-$USER},” and I get back to work. It’s been 24 hours since I heard an RCS bug report. I have my fingers crossed. Maintaining Mail Services Sendmail, the most popular Unix mailer, is exceedingly complex. It doesn’t need to be this way, of course (see the mailer chapter). Not only does the complexity of sendmail ensure employment for sysadmins, it ensures employment for trainers of sysadmins and keeps your sysadmin away from the job. Just look at Figure 3, which is a real advertisement from the net. Such courses would be less necessary if there was only one Unix (the course covers four different Unix flavors), or if Unix were properly docu-
Maintaining Mail Services 239 mented. All the tasks listed above should be simple to comprehend and per- form. Another hidden cost of Unix. Funny thing, the cost is even larger if your sysadmin can’t hack sendmail, because then your mail doesn’t work! Sounds like blackmail. Sendmail Made Simple Seminar This seminar is aimed at the system administrator who would like to understand how sendmail works and how to configure it for their environment. The topics of sendmail operation, how to read the sendmail.cf file, how to modify the send- mail.cf file, and how to debug the sendmail.cf file are cov- ered. A pair of simple sendmail.cf files for a network of clients with a single UUCP mail gateway are presented. The SunOS 4.1.1, ULTRIX 4.2, HP-UX 8.0, and AIX 3.1 send- mail.cf files are discussed. After this one day training seminar you will be able to: • Understand the operation of sendmail. • Understand how sendmail works with mail and SMTP and UUCP. • Understand the function and operation of sendmail.cf files. • Create custom sendmail rewriting rules to handle delivery to special addresses and mailers. • Set up a corporate electronic mail domain with departmental sub-domains. Set up gateways to the Internet mail network and other commercial electronic mail networks. • Debug mail addressing and delivery problems. • Debug sendmail.cf configuration files. • Understand the operation of vendor specific sendmail.cf files SunOS 4.1.2, DEC Ultrix 4.2, HP-UX 8.0, IBM AIX 3.1. FIGURE 3. Sendmail Seminar Internet Advertisement