.alone←declaration(expurgate)=0;
.if alone then start
.require "ttydefs.pub" source!file
.end
.every heading (|CopyDisk|,|November 12, 1980|,{page})
.once center
~CopyDisk~
.skip 3
CopyDisk is a program for copying entire disk packs.  It will copy from one drive to another on the same machine, or between drives on separate machines via a network.

.sec |History|

The first Alto CopyDisk was called Quick and was written by Gene McDaniel in 1973.  During the summer of 1975 Graeme Williams wrote a new CopyDisk adding the ability to copy disks over the network.  During the summer of 1976 David Boggs redesigned the network protocol and added the ability to copy Trident disks.  In the spring of 1980 the network protocol was extended to speak to CopyDisk servers in Interim File Systems (and eventually Tape servers).  The CopyDisk network protocol is specified in CopyDisk.press.

.sec |Concepts and Terminology|

In a disk copy operation, the information on a 'Source' disk is copied to a 'Destination' disk, destroying any previous information on the destination.  A copy operation usually consists of two steps:

.begin indent 5,5,5
[Copy] Step one copies bit-for-bit the information from the source disk to the destination disk.

[Check] Step two reads the destination disk and checks that it is indentical with the source disk.  This step can be omitted at the user's peril.
.end

Copying a disk from one machine (or 'host') to another over a network requires the active cooperation of programs on both machines.  In a typical scenario, a human user invokes a program called a 'CopyDisk User' and directs it to establish contact with a 'CopyDisk Server' on another machine.  Once contact has been established, the CopyDisk User initiates requests and supplies parameters for the actual copy operation which the User and Server carry out together.  The User and Server roles differ in that the CopyDisk User interacts with a human user (usually through some keyboard interpreter) and takes the initiative in User/Server interactions, whereas the CopyDisk Server plays a comparatively passive role.  The question of which machine is the CopyDisk User and which is the CopyDisk Server is independent of the direction in which data moves.

The Alto CopyDisk subsystem contains both a CopyDisk User and a CopyDisk Server, running as independent processes.  Therefore to copy a disk from one machine to another you should start up the CopyDisk subsystem on both machines and then type commands to one of them, which becomes the CopyDisk User.  Subsequent operations are controlled entirely from the User end, with no human intervention required at the Server machine.  This arrangement is similar to the way the Alto FTP subsystem works, and different from the way the older CopyDisk worked.

.sec |Calling CopyDisk|

CopyDisk can be run in two modes: interactive mode in which commands come from the keyboard, and non-interactive mode in which commands come from the command line (Com.cm).  The general form of the command line to invoke CopyDisk looks like:
.begin center

CopyDisk [ [/