COHERENT manpages
This page displays the COHERENT manpage for UUCP [Unattended communication with remote systems].
List of available manpages
Index
UUCP -- Overview
Unattended communication with remote systems
UUCP stands for ``UNIX to UNIX communications protocol''. It is a system
of commands that allows you to exchange files with other COHERENT or UNIX
systems, in an unattended manner. With UUCP, you can send mail to other
systems, upload files, and execute commands. When configured correctly,
UUCP also lets other users upload files to your system, copy files from it,
and execute commands. All this can be done without your having to sit at
your console and type commands; thus, files can be transferred in the small
hours, when telephone rates are lower and computers are relatively free.
UUCP gives you access to the Usenet, a nation-wide network of UNIX and
COHERENT users. Access to the Usenet will let you exchange mail with any
of the thousands of Usenet users, receive mail from them, download source
code for many useful programs, and read the latest news on a host of
subjects. For details on contacting UUNET, a commercially accessible
Usenet site, enter the command:
phone uunet
Implementation of UUCP
Beginning with release 4.2, COHERENT implements the Taylor UUCP package.
The current implementation is Taylor UUCP version 1.05. Taylor UUCP offers
extraordinary flexibility, beyond that offered by standard implementations
of UUCP. The following Lexicon entries describe UUCP:
config.........Overall configuration file for UUCP
cu.............Introduce the cu communications utility
dial...........Describe how uucico and cu can dial a modem
domain.........Describe the file that names your UUCP domain
port...........File that describes ports through which UUCP dials
sys............File that describes systems contacted by UUCP
uuchk..........Check UUCP configuation
uucico.........Daemon that controls communication with a remote site
uuconv.........Convert UUCP configuration files to Taylor format
uucp...........Spool files for transmission to other systems
uucpname.......File that names your system
uudecode.......Decode a binary file sent from a remote system
uuencode.......Encode a binary file for transmission
uuinstall......Install or modify UUCP
uulog..........Read a UUCP log
uumkdir........Create a UUCP directory
uumvlog........Archive UUCP log files
uuname.........List UUCP names of known systems
uupick.........Pick up a file uploaded from a remote system
uurmlock.......Remove a UUCP lockfile
uusched........Call all systems that have jobs waiting for them
uustat.........Display and modify the status of a UUCP job
uuto...........Send a file to a remote system
uutouch........Touch a file to trigger uucico poll
uutry..........Debugging tool for UUCP
uux............Execute a command on a remote system
uuxqt..........Execute commands requested by a remote system
Files and Directories
UUCP uses the following files and directories:
/usr/lib/uucp/sys
This file contains information about remote UUCP sites with which you
can communicate. uucico uses its information to connect to remote
systems; sets permissions for the directories that a given remote
system can write into or read from; establishes the protocol (or
protocols) that can be used when communicating with the given remote
system to transfer files.
/usr/lib/uucp
This directory holds many of the UUCP executables. It also holds the
following configuration files:
/usr/lib/uucp/config
Customize the configuratio of Taylor UUCP. Note that this file
is not shipped with COHERENT, to ensure that the default
configuration is used; however, you can write one yourself easily
enough. For details, see the Lexicon entry config.
/usr/lib/uucp/dial
uucico uses the information in this file to communicate with
modems.
/usr/lib/uucp/port
uucico uses the information in this file to communicate with a
given port on your system.
/usr/spool/uucp
This directory holds log files and spool directories, as follows:
/usr/spool/uucp/.Admin
This directory holds the following administrative logging files:
/usr/spool/uucp/.Admin/xferstats
This file holds statistics about the rate at which data were
transferred between your site and a remote site.
/usr/spool/uucp/.Admin/audit.local
This file holds auditing information, as generated using the
option -x with any UUCP command.
/usr/lib/uucp/.Log
This directory holds information that detail the files
transferred between your system and any remote system. It
contains one sub-directory for each UUCP command -- one each for
uucico, uucp, uux, and uuxqt. Each sub-directory, in turn,
contains one log file for each remote system with which your
system exchanges files, plus the file ANY, which holds
information about all remote systems. For example, file
/usr/spool/uucp/.Log/uucp/lepanto logs every file that you have
exchange with remote site lepanto via the command uucp.
/usr/spool/uucp/.Received
This directory contains one sub-directory for each remote system
with which your system exchanges files. It holds files received
from that system that cannot be executed properly. If your
system is configured correctly, this directory should be empty.
/usr/spool/uucp/.Sequence
This directory holds one file for each remote system with which
you exchange files. The file holds a string from which the job
most recently performed with that site was named. This sequence
number is used to identify each job uniquely. This is discussed
in more detail below.
/usr/spool/uucp/.Status
This directory holds one file for each system with your system
communicates via UUCP. The file holds information about the
status with which the last contact exited. For example, if your
system communicated successfully with system mwc, then file
/usr/spool/uucp/.Status/mwc will hold an entry that resembles the
following:
0 0 778536664 0 SUCCESSFUL mwc
However, if your system communicates with system sales and the
last session failed during handshake, then file
/usr/spool/uucp/.Status/sales will hold something like the
following:
4 7 769981110 4200 Handshake failed sales
Note that if a .Status file indicates that the last contact
failed, uucico may silently refuse to dial out to that system;
UUCP is designed this way, in order to spare you the expense of
repeatedly calling a system whose connection is damaged in some
way. The solution is simply to remove the file in question. For
example, if uucico refuses to dial system mwc and you know that
that system is working correctly, try removing file
/usr/spool/uucp/.Status/mwc.
/usr/spool/uucp/.Temp
This directory holds one directory for each system with which
your system has exchanged files. Each sub-directory holds
temporary files used by the jobs being performed for that system.
/usr/spool/uucp/.Xqtdir
The command uuxqt executes from within this directory all
commands that have been spooled onto your system for execution.
It also copies into this directory all files on remote systems
that a spooled command names. Note that files reside here only
briefly.
/usr/spool/uucp/sitename
This directory holds all files being uploaded to site sitename.
Each file is constructed as follows:
prefix
This is either D. or C.. The former indicates a data file,
and the latter a command file (that is, a file to be
executed on the remote system by command uux).
site The name of the site to which the file is being uploaded.
sequence_number
This is a unique number, meant to ensure that no UUCP file
clobbers another. When UUCP is spooling a file to be
transmitted to a remote site, it looks in that site's
.Sequence file, increases the sequence number by one, uses
that number to name the file, and writes the incremented
sequence number back into the site's .Sequence file.
/usr/spool/uucp/LCK..*
Finally, files that begin with the string LCK.. are lock files.
UUCP (and many other COHERENT programs) use them to lock devices,
to ensure that only one program can access a device at a time.
Each lock file contains the process identifier of the process
that has locked that device, but different programs use different
conventions in naming lock files.
Programs that log users into your system lock console and
terminal devices. These programs use lock files whose names are
built from the major-device number and the minor-device number of
the device being locked For example, file
/usr/spool/uucppublic/LCK..2.1 locks the device with major number
2 and minor number 1 -- that is, the color virtual-console device
/dev/color1. Looking into file LCK..2.1, we see the number 6836;
and when we use the command ps -alx to look for a process with
this identifier, we see the following
color1 6836 1 fred 133 6001 w ksh
color1 8923 6836 fred 204 6001 S ttywait me
That is, user fred has logged into this system via device
/dev/color1 and invoked a shell that has process identifier 6836.
Second, when UUCP opens a port to dial out, it creates a lock
file whose name includes the name of the port on which it is
dialing. For example, if UUCP is dialing out via port
/dev/com3fl, it creates file LCK..com3fl in /usr/spool/uucp. This
helps to stop two UUCP process from each trying to open the same
port at the same time.
Finally, when UUCP dials a given remote site, it creates a lock
file for that site. For example, if UUCP dials site mwc, it
creates lock file LCK..mwc in directory /usr/spool/uucp. This
help to prevent two different UUCP processes from attempting to
dial the same site at the same time.
This concludes our discussion of UUCP's files and directories. For more
information, see the Lexicon entries config, dial, port, and sys.
Permissions
The following gives the correct permissions and ownership for the files
that comprise the UUCP system:
-rw------- uucp uucp /usr/lib/uucp/dial
-rw------- uucp uucp /usr/lib/uucp/port
-rw------- uucp uucp /usr/lib/uucp/sys
-r-sr-xr-x uucp root /usr/lib/uucp/uucico
-rwxr-xr-x uucp root /usr/lib/uucp/uuconv
-r-s--s--x root root /usr/lib/uucp/uumkdir
-r-xr-xr-x uucp uucp /usr/lib/uucp/uumvlog
-r-xr-xr-x uucp uucp /usr/lib/uucp/uurmlock
-r-xr-xr-x root root /usr/lib/uucp/uusched
-r-s--s--x uucp uucp /usr/lib/uucp/uutouch
-r-x------ uucp uucp /usr/lib/uucp/uutry
-r-sr-xr-x uucp root /usr/lib/uucp/uuxqt
-r-s--s--x uucp uucp /usr/bin/uucheck
-r-sr-xr-x uucp root /usr/bin/uucp
-r-x--x--x bin bin /usr/bin/uudecode
-r-x--x--x bin bin /usr/bin/uuencode
-r-s--s--- uucp uucp /usr/bin/uuinstall
-rwxr-xr-x root root /usr/bin/uulog
-r-sr-xr-x uucp root /usr/bin/uuname
-rwxr-xr-x root root /usr/bin/uupick
-r-sr-xr-x uucp root /usr/bin/uustat
-r-xr-xr-x root root /usr/bin/uuto
-r-sr-xr-x uucp root /usr/bin/uux
Permissions should be set properly by COHERENT when you installed it on
your computer. However, if problems arise with UUCP, be sure to check that
permissions are correct. If permissions have somehow been reset
incorrectly, UUCP will not work because much of its work depends upon its
being able to create and delete files in certain restricted directories.
Should a file's permissions be ``stepped on'' for whatever reason, use the
command chmod to restore them. Likewise, should the group or user who
``owns'' a file or directory be changed for whatever reason, you (or, to be
more exact, the superuser root can use the commands chgrp and chown to
restore proper ownership. For details on how to use these commands, see
their entry in the Lexicon.
Debugging UUCP Problems
For information how to debug and solve common problems with UUCP, see the
tutorial on UUCP that appears in the front half of this manual.
See Also
asy, commands, config, cu, dial, domain, modem, mwcbbs, port, sys,
terminal, uuchk, uucico, uuconv, uucp, uucpname, uudecode, uuencode,
uuinstall, uulog, uumkdir, uumvlog, uuname, uupick, uurmlock, uusched,
uustat, uuto, uutouch, uutry, uux, uuxqt
UUCP, Remote Communications Utility, tutorial
Notes
The Lexicon entry mail gives directions on how to send mail to users on
popular commercial networks.
For information on how to hook up a Trailblazer modem to run UUCP, see the
Lexicon entry for modem.
The COHERENT implementation of UUCP was written by Ian Lance Taylor
(ian@airs.com). It was ported to COHERENT by Robert Chalmers
(earth@nanguo.cstpl.com.au). For information on copyright and availablity
of source code, see the documentation included in file
/usr/src/alien/uudoc.tar.Z.











