Chapter 16. ManagingTaylor UUCP

Table of Contents
16.1. UUCP Transfers and Remote Execution
16.1.1. The Inner Workings of uucico
16.1.2. uucico Command-line Options
16.2. UUCP Configuration Files
16.2.1. A Gentle Introduction to Taylor UUCP
16.2.2. What UUCP Needs to Know
16.2.3. Site Naming
16.2.4. Taylor Configuration Files
16.2.5. General Configuration Options Using the config File
16.2.6. How to Tell UUCP About Other Systems Using the sys File
16.2.7. Identifying Available Devices Through the port File
16.2.8. How to Dial a Number Using the dial File
16.2.9. UUCP Over TCP
16.2.10. Using a Direct Connection
16.3. Controlling Access to UUCP Features
16.3.1. Command Execution
16.3.2. File Transfers
16.3.3. Forwarding
16.4. Setting Up Your System for Dialing In
16.4.1. Providing UUCP Accounts
16.4.2. Protecting Yourself Against Swindlers
16.4.3. Be Paranoid: Call Sequence Checks
16.4.4. Anonymous UUCP
16.5. UUCP Low-Level Protocols
16.5.1. Protocol Overview
16.5.2. Tuning the Transmission Protocol
16.5.3. Selecting Specific Protocols
16.6. Troubleshooting
16.6.1. uucico Keeps Saying “Wrong Time to Call”
16.6.2. uucico Complains That the Site Is Already Locked
16.6.3. You Can Connect to the Remote Site, but the Chat Script Fails
16.6.4. Your Modem Does Not Dial
16.6.5. Your Modem Tries to Dial but Doesn't Get Out
16.6.6. Login Succeeds, but the Handshake Fails
16.7. Log Files and Debugging

UUCP was designed in the late seventies by Mike Lesk at AT&T Bell Laboratories to provide a simple dialup network over public telephone lines. Despite the popularity of dialup PPP and SLIP connections to the Internet, many people who want to have email and Usenet News on their home machine still use UUCP because it is often cheaper, especially in countries where Internet users have to pay by the minute for local telephone calls, or where they do not have a local ISP and must pay long distance toll rates to connect. Although there are many implementations of UUCP running on a wide variety of hardware platforms and operating systems, overall, they are highly compatible.

However, as with most software that has somehow become “standard” over the years, there is no UUCP that one would call the UUCP. It has undergone a steady evolution since the first version was implemented in 1976. Currently, there are two major species that differ mainly in their hardware support and configuration. Of these two, various implementations exist, each varying slightly from its siblings.

One species is known as Version 2 UUCP, which dates back to a 1977 implementation by Mike Lesk, David A. Novitz, and Greg Chesson. Although it is fairly old, it is still frequently used. Recent implementations of Version 2 provide much of the comfort that the newer UUCP species do.

The second species was developed in 1983 and is commonly referred to as BNU (Basic Networking Utilities) or HoneyDanBer UUCP. The latter name is derived from the authors' names (P. Honeyman, D. A. Novitz, and B. E. Redman) and is often shortened further to HDB, which is the term we'll use in this chapter. HDB was conceived to eliminate some of Version 2 UUCP's deficiencies. For example, new transfer protocols were added, and the spool directory was split so that now there is one directory for each site with which you have UUCP traffic.

The implementation of UUCP currently distributed with Linux is Taylor UUCP 1.06, which is the version this chapter is based upon.[1] Taylor UUCP Version 1.06 was released in August 1995. Apart from traditional configuration files, Taylor UUCP can also be compiled to understand the newstyle—a.k.a. Taylor—configuration files.

Taylor UUCP is usually compiled for HDB compatibility, the Taylor configuration scheme, or both. Because the Taylor scheme is much more flexible and probably easier to understand than the often obscure HDB configuration files, we will describe the Taylor scheme below.

This chapter is not designed to exhaustively describe the command-line options for the UUCP commands and what they do, but to give you an introduction to how to set up a working UUCP node. The first section gives a gentle introduction about how UUCP implements remote execution and file transfers. If you are not entirely new to UUCP, you might want to skip to the section Section 16.2” later in this chapter, which explains the various files used to set up UUCP.

We will, however, assume that you are familiar with the user programs of the UUCP suite, uucp and uux. For a description, refer to the online manual pages.

Besides the publicly accessible programs uucp and uux, the UUCP suite contains a number of commands used for administrative purposes only. They are used to monitor UUCP traffic across your node, remove old log files, or compile statistics. None of these will be described here because they are peripheral to the main tasks of UUCP. Besides, they're well documented and fairly easy to understand; refer to the manual pages for more information. However, there is a third category, which comprise the actual UUCP “work horses.” They are called uucico (where cico stands for copy-in copy-out), and uuxqt, which executes jobs sent from remote systems. We concentrate on these two important programs in this chapter.

If you're not satisfied with our coverage of these topics, you should read the documentation that comes with the UUCP package. This is a set of Texinfo files that describe the setup using the Taylor configuration scheme. You can convert the Texinfo files into a dvi file using the texi2dvi (found in the Texinfo package in your distribution) and view the dvi file using the xdvi command.

Guylhem Aznar's UUCP-HOWTO is another good source for information about UUCP in a Linux environment. It is available at any Linux Documentation Project mirror and is posted regularly to comp.os.linux.answers.

There's also a newsgroup for the discussion of UUCP called comp.mail.uucp. If you have questions specific to Taylor UUCP, you may be better off asking them there, rather than on the comp.os.linux.* groups.

Notes

[1]

Written and copyrighted by Ian Taylor, 1995.