The idea behind UUCP is rather simple: as its name indicates, it basically copies files from one host to another, but it also allows certain actions to be performed on the remote host.
Suppose your machine is allowed to access a hypothetical host named swim, and have it execute the lpr print command for you. Then you could type the following on your command line to have this book printed on swim:
This makes uux, a command from the UUCP suite, schedule a job for swim. This job consists of the input file, netguide.dvi, and the request to feed this file to lpr. The -r flag tells uux not to call the remote system immediately, but to rather store the job away until a connection is established at a later occasion. This is called spooling.
Another property of UUCP is that it allows to forward jobs and files through several hosts, provided they cooperate. Assume that swim from the above examples has a UUCP link with groucho, which maintains a large archive of applications. To download the file tripwire-1.0.tar.gz to your site, you might issue
The job created will request swim to fetch the file from groucho, and send it to your site, where UUCP will store it in trip.tgz and notify you via mail of the file's arrival. This will be done in three steps. First, your site sends the job to swim. When swim establishes contact with groucho the next time, it downloads the file. The final step is the actual transfer from swim to your host.
The most important services provided by UUCP networks these days are electronic mail and news. We will come back to these later, so we will give only a brief introduction here.
Electronic mail - email for short - allows you to exchange messages with users on remote hosts without actually having to know how to access these hosts. The task of directing a message from your site to the destination site is performed entirely by the mail handling system. In a UUCP environment, mail is usually transported by executing the rmail command on a neighboring host, passing it the recipient address and the mail message. rmail will then forward the message to another host, and so on, until it reaches the destination host. We will look at this in detail in chapter .
News may best be described as sort of a distributed bulletin board system. Most often, this term refers to Usenet News, which is by far the most widely known news exchange network with an estimated number of 120,000 participating sites. The origins of Usenet date back to 1979, when, after the release of UUCP with the new Unix V7, three graduate students had the idea of a general information exchange within the Unix community. They put together some scripts, which became the first netnews system. In 1980, this network connected duke, unc, and phs, at two Universities in North Carolina. Out of this, Usenet eventually grew. Although it originated as a UUCP-based network, it is no longer confined to one single type of network.
The basic unit of information is the article, which may be posted to a hierarchy of newsgroups dedicated to specific topics. Most sites receive only a selection of all newsgroups, which carry an average of 60MB worth of articles a day.
In the UUCP world, news is generally sent across a UUCP link by collecting all articles from the groups requested, and packing them up in a number of batches. These are sent to the receiving site, where they are fed to the rnews command for unpacking and further processing.
Finally, UUCP is also the medium of choice for many dial-up archive sites which offer public access. You can usually access them by dialing them up with UUCP, logging in as a guest user, and download files from a publicly accessible archive area. These guest accounts often have a login name and password of uucp/nuucp or something similar.