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.