UUCP (Unix to Unix Copy) is used to support Usenet news service (which competes with the newer INN service) and can be used optionally with the sendmail mail transfer agent program. Its main purpose is to allow for remote programs to be run or files to be exchanged between two unix computer systems. Therefore it is documented here separate from mail and news services.
UUCP is used request a file transfer to or from a remote machine. The transfer does not necessarily occur right away.
uux is used to request execution of a command on a remote machine
mail is closely integrated with uucp since it understands and uses uucp.
- uucico - The daemon that processes file transfer requests that were queued by uucp or uux. This daemon is started by uucp or uux or periodically by cron from entries in the crontab table. Associated files are /etc/uucp/config, /etc/uucp/passwd, /var/spool/uucp, var/spool/uucppublic
- uucp - Unix to Unix copy command. File transfers are in the form "system!path". This program will start uucico unless an option is given that prevents the daemon startup. Puts transfer requests in /var/spool/uucp.
- uux - Remote command execution over UUCP. Puts remote execution requests in /var/spool/uucp. The uux program is used to request the execution of a program on a remote system. This is how mail and news are transferred over UUCP. As with uucp, programs and files on remote systems may be named by using `system!'. For example, to run the rnews program on `airs', passing it standard input, you would say `uux - airs!rnews'. The `-' means to read standard input and set things up such that when rnews runs on `airs' it will receive the same standard input.
- uustat - UUCP status inquiry and control. By default it will simply list all the jobs you have queued with uucp or uux that have not yet been processed. You can use uustat to remove any of your jobs from the queue. You can also it use it to show the status of the UUCP system in various ways, such as showing the connection status of all the remote systems your system knows about. The system administrator can use uustat to automatically discard old jobs while sending mail to the user who requested them.
- uuname - The uuname program by default lists all the remote systems your system knows about. You can also use it to get the name of your local system. It is mostly useful for shell scripts.
- uulog - The uulog program can be used to display entries in the UUCP log file. It can select the entries for a particular system or a particular user. You can use it to see what has happened to your queued jobs in the past.
- uuto , uupick - uuto is a simple shell script interface to uucp. It will transfer a file, or the contents of a directory, to a remote system, and notify a particular user on the remote system when it arrives. The remote user can then retrieve the file(s) with uupick.
- uuxqt - A daemon that executes commands on the remote system requested by uux. The commands may be from a remote or local system. It is started by the uucio daemon upon its own termination unless uucio is given the -q or --nouuxqt option.
When a user invokes uucp or uux or sends mail to a user on a remote system, two things happen:
- A work file containing information such as the name of the source file and the destination file, uucp, or uux options, and the type of request (send receive or execute) is created in the directory "/usr/spool/uucp". Depending on the version of UUCP you are using and the command line options the user specifies, a data file may also be created which contains an actual copy of the file to be transferred. Data files are also created whenever you send mail to someone on a remote system or make a request for remote command execution.
- The uucio program is invoked to actually make the transfer.
Taylor UUCP comes with a few other programs that are useful when installing and configuring UUCP.
- uuchk - The uuchk program reads the UUCP configuration files and displays a rather lengthy description of what it finds. This is useful when configuring UUCP to make certain that the UUCP package will do what you expect it to do.
- uuconv - Can be used to convert UUCP configuration files from one format to another. This can be useful for administrators converting from an older UUCP package. Taylor UUCP is able to read and use old configuration file formats, but some new features can not be selected using the old formats.
- uusched - Script provided for compatibility with older UUCP releases. It starts uucico to call, one at a time, all the systems for which work has been queued.
- tstuu - The tstuu program is a test harness for the UUCP package; it can help check that the package has been configured and compiled correctly. However, it uses pseudo-terminals, which means that it is less portable than the rest of the package. If it works, it can be useful when initially installing Taylor UUCP.
When uucico is invoked, it scans the spool directory for work files and attempts to contact other systems and execute the instructions in the work files.
However, the work files contain only a small part of the information uucico needs to know in order to make a transfer. They tell uucico what to do, but not when or how to do it. This information is contained in a set of configuration files in the directory /etc/uucp, which is your job as system administrator to set up.
There are three types of connections between uucp computers
- Direct serial