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.