1 10/24/85  tape_archive, ta
  2 
  3 Syntax as a command:  ta key table_path {args}
  4 
  5 
  6 Function: performs a variety of operations to create and maintain a
  7 set of files on magnetic tape.
  8 
  9 
 10 Arguments:
 11 key
 12    is one of the key functions described below.
 13 table_path
 14    is the pathname of a segment created and maintained by tape_archive
 15    to serve as a table of contents for the archive.  If the table
 16    segment does not exist, it is created by the append operation or the
 17    direct interactive mode.
 18 args
 19    are additional arguments or control arguments as required by the
 20    particular key chosen (see below).
 21 
 22 
 23 List of extract operations:
 24 x
 25    Usage:  ta x table_path {components} {-control_arg}
 26    extracts from the archive those components named by the path
 27    arguments, placing them in segments in the storage system.  The star
 28    convention is allowed for components.  The directory where you place
 29    a segment is the directory portion of the component argument.  The
 30    ACL, names, and other settable segment attributes that were in
 31    effect when you archived the component are placed onto the new
 32    segment.  If a segment of the same name already exists, it observes
 33    the duplicate name convention like that of the copy command.  If you
 34    supply no component names, all components are extracted and placed
 35    in your working directory.
 36 
 37 
 38 xd
 39    Usage:  ta xd table_path {components} {-control_arg}
 40    extracts and deletes; operates like x, but deletes the component
 41    from the archive if the extraction is successful.
 42 xdf
 43    Usage:  ta xdf table_path {components} {-control_arg}
 44    extracts forcibly and deletes; operates like xd, but forcibly
 45    deletes any existing segments in the storage system if all their
 46    names conflict with names of components being extracted.  This
 47    request also disregards the safety switch when deleting components
 48    from the archive.
 49 
 50 
 51 xf
 52    Usage:  ta xf table_path {components} {-control_arg}
 53    extracts forcibly; operates like x, but forcibly deletes existing
 54    segments in the storage system if all their names conflict with
 55    names of components being extracted.
 56 
 57    The extract operation has this control argument--
 58    -single_name, -snm
 59       places the name of the component, as it appears in the table, as
 60       the only name on the newly created file in the storage system.
 61       (Default: place all the names)
 62 
 63 
 64 List of append operations:
 65 a
 66    Usage:  ta a table_path {paths} {-control_args}
 67    appends named files to the archive.  The star convention is allowed
 68    for paths.  The files that are appended to the archive are not
 69    otherwise affected.  If the named file is already in the archive, a
 70    diagnostic is issued and the component is not replaced.  At least
 71    one file must be explicitly named by the path arguments.  If the
 72    tape archive does not exist, it is created.
 73 
 74 
 75 ad
 76    Usage:  ta ad table_path {paths} {-control_args}
 77    appends and deletes; operates like a, but then deletes each file
 78    that was appended to the archive.  Deletion takes place after the
 79    tape is processed and the file has been successfully appended to the
 80    tape.  If the safety switch is on for any named file, you are
 81    queried whether the file should be deleted.
 82 
 83 
 84 adf
 85    Usage:  ta adf table_path {paths} {-control_args}
 86    appends and deletes forcibly; operates like ad, but the safety
 87    switch is disregarded.
 88 
 89 
 90    The append operation has these control arguments--
 91    -mode ascii
 92    -mode binary
 93    -mode ebcdic
 94       specifies that the file is to be replaced on or appended to the
 95       tape archive using the supplied encoding mode.  If you give the
 96       ascii or ebcdic encoding mode, the file is verified to ensure
 97       that it can be encoded in the specified mode without loss of
 98       information; if it can't, a warning message is printed and the
 99       encoding mode for that file is changed to binary.  If you don't
100       give explicit mode specifications, the file is encoded in the
101       mode determined by the criteria described under "Notes on default
102       encoding modes" below.
103 
104 
105    -single_name, -snm
106       records the name of the component, as specified in the command
107       line, as the only name for the file on the volume set.
108 
109 
110 List of replace operations:
111 r
112    Usage:  ta r table_path {paths} {-control_args}
113    replaces components in or adds components to the tape archive.  The
114    star convention is allowed for paths.  If you name no files in the
115    command line, all files of the archive for which files by the same
116    name are found in your working directory are replaced.  If a file is
117    explicitly named and does not already exist in the tape archive, it
118    is appended and an advisory is printed.  If the tape archive does
119    not exist, then it is created.
120 
121 
122 rd
123    Usage:  ta rd table_path {paths} {-control_args}
124    replaces and deletes; operates like r, but deletes each file that
125    was replaced in or appended to the archive.  Deletion takes place
126    after the tape is processed and the file has been successfully
127    replaced on or appended to the tape.  If the safety switch is on for
128    any named file, you are queried whether the file should be deleted.
129 rdf
130    Usage:  ta rdf table_path {paths} {-control_args}
131    replaces and deletes forcibly; operates like rd, but the safety
132    switch is disregarded.
133 
134 
135    The replace operation has these control arguments--
136    -mode ascii
137    -mode binary
138    -mode ebcdic
139       specifies that the file is to be replaced on or appended to the
140       tape archive using the supplied encoding mode.  If you give the
141       ascii or ebcdic encoding mode, the file is verified to ensure
142       that it can be encoded in the specified mode without loss of
143       information; if it can't, a warning message is printed and the
144       encoding mode for that file is changed to binary.  If you don't
145       give explicit mode specifications, the file is encoded in the
146       mode determined by the criteria described under "Notes on default
147       encoding modes" below.
148 
149 
150    -single_name, -snm
151       records the name of the component, as specified in the command
152       line, as the only name for the file on the volume set.
153 
154 
155 List of update operations:
156 u
157    Usage:  ta u table_path {paths}
158    operates like r, but replaces only those components for which the
159    corresponding file has a date-time-modified later than the date-time
160    associated with the component in the archive.  If the file is not
161    found in the archive, it is not added.
162 ud
163    Usage:  ta ud table_path {paths}
164    updates and deletes; operates like u, but deletes each file that was
165    updated in the archive.  Deletion takes place after the tape is
166    processed and the file has been successfully updated on the tape.
167    If the safety switch is on for any named file, you are queried
168    whether the file should be deleted.
169 
170 
171 udf
172    Usage:  ta udf table_path {paths}
173    updates and deletes forcibly; operates like ud, but the safety
174    switch is disregarded.
175 
176 
177 List of delete operations:
178 d
179    Usage:  ta d table_path components
180    deletes named components from the archive.  The star convention is
181    allowed for components.
182 df
183    Usage:  ta df table_path components
184    deletes forcibly; operates like d, but the safety switch is
185    disregarded.
186 
187 
188 List of cancel operations:
189 cancel
190    Usage:  ta cancel table_path {components}
191    cancels any pending requests for the components named.  The star
192    convention is allowed for components.  This operation removes any
193    requests scheduled to be performed on the named components.  If you
194    name no components, you are queried whether all pending requests are
195    to be canceled.  Use cancel to reinstate dead components (components
196    that have been logically deleted or replaced from a tape archive but
197    still exist on the volume set).
198 
199 
200 List of table of contents operations:
201 t
202    Usage:  ta t table_path {components} {-control_args}
203    prints table of contents and associated information for each named
204    component of the archive (including files scheduled to be placed
205    into the archive), as well as information about the archive itself.
206    The star convention is allowed for components.
207 
208    The table-of-contents operation has these control arguments--
209    -all, -a
210       prints dead components (see the cancel operation).
211    -brief, -bf
212       prints the component name only.
213    -header, -he
214       prints the header information.
215 
216 
217    -long, -lg
218       prints all the information, in the absence of -header.
219    -no_header, -nhe
220       suppresses the header information, even if you select -long.
221    -pending
222       prints only those components for which requests are pending.
223 
224    If you give no control arguments, a short header, pending operations
225    for the named components, and the component names are printed.
226 
227 
228 List of processing operations:
229 go
230    Usage:  ta go table_path {-control_args}
231    performs the actual tape mounting and processing of the queued file
232    transferal requests.  First, the current volume set is mounted.  If
233    the current volume set is empty, tape_archive asks you which volume
234    is to be used.  This volume then becomes the current volume set and
235    is remembered in the table.  Those components scheduled for
236    extraction are processed.  Next, additions and replacements are
237    performed.  When all tape processing has been completed, requests to
238    delete files in the storage system that have been appended or
239    replaced are processed.  Finally, if the processing involves writing
240    to tape, the table is modified, to reflect the new state of the tape
241    archive, and appended to the tape.
242 
243 
244    The go operation has these control arguments--
245    -retain all
246       specifies that the volume set is to remain mounted after
247       processing is complete.  In cases where several successive
248       tape-processing operations are planned, -retain speeds up the
249       processing of requests by reducing their physical handling.  The
250       volume set remains mounted until go is invoked with -retain none.
251    -retain none
252       reverts the effects of -retain all.
253    -long, -lg
254       prints a message for all file searches, extractions, or
255       appendings, as they are perfomed on the volume set.
256 
257 
258 List of compaction operations:
259 compact
260    Usage:  ta compact table_path
261    schedules the tape archive for compaction.  The compaction process
262    copies the active components on the current volume set onto the
263    alternate volume set.  This process removes cumulative tape waste
264    attributable to inactive tape files (components that have been
265    logically deleted, updated, or replaced, but never physically
266    removed.)  Having the same volume for both primary and alternate
267    volume sets is not allowed.  You can process other file transferal
268    requests at the same time that the archive is being compacted.
269    After the compaction operation, the alternate volume set becomes the
270    current volume set and vice versa.
271 
272 
273 List of parameter alteration operations:
274 alter
275    Usage:  ta alter table_path alter_spec
276    changes global attributes of the tape archive that can be set by
277    you.  The specific attribute modified depends on the alter_spec
278    arguments, which can be:
279    warning_limit floatnum
280       prints an advisory message whenever the number of wasted tape
281       records on the volume set reaches or exceeds a certain fraction
282       of the total tape records.  The floatnum argument must be from
283       0.0 to 1.0.  The initial default for warning_limit is 0.5.
284 
285 
286    auto_limit floatnum
287       automatically schedules the tape archive for compaction at the
288       next mounting whenever the number of wasted tape records on the
289       volume set exceed a certain fraction of the total tape records
290       used.  When compaction is automatically scheduled in this manner,
291       an advisory message is printed.  The floatnum argument must be
292       between 0.0 and 1.0.  The initial default for auto_limit is 1.0
293       (never automatically compact).
294 
295 
296    volume old_volume_spec new_volume_spec {-alternate}
297       makes the volume (reel) with label new_volume_spec supersede the
298       volume old_volume_spec.  If old_volume_spec is the null string
299       and you supply -alternate, new_volume_spec is appended to the
300       alternate volume set; otherwise, it is appended to the primary
301       volume set.  If new_volume_spec is the null string,
302       old_volume_spec is deleted from the appropriate volume set.  You
303       can't have the same volume for both primary and alternate volume
304       sets.
305 
306 
307    volume -number N new_volume_spec {-alternate}
308       makes the volume with label new_volume_spec supersede the Nth
309       volume in the primary volume set (the alternate volume set if you
310       give -alternate.)  If new_volume_spec is the null string, the
311       volume is deleted.  If N is greater than the number of volumes
312       currently contained in the volume set, the volume is appended to
313       the volume set.  You can't have the same volume for both primary
314       and alternate volume sets.
315    compaction off
316       unschedules any pending compaction of the tape archive.
317    module modulename
318       selects the tape standard to be used.  Acceptable values for
319       modulename are tape_ansi_ or tape_ibm_.  You can't change this
320       parameter unless the volume set is empty.  The initial default is
321       tape_ansi_.
322 
323 
324    density N {-alternate}
325       selects the recording density (BPI) to be used on the volume set.
326       The initial default is 1600.  To select a density other than the
327       default, enter alter for the primary volume set prior to any tape
328       operations.  To change the density of an existing volume set,
329       give -alternate.  This schedules a compaction of the primary
330       volume set onto the alternate volume set at the selected density.
331 
332 
333 List of load table operations:
334 load_table
335    Usage:  ta load_table {table_path} {-control_args} {volume_ids}
336    loads the copy of the online table kept on a volume set into the
337    segment specified by table_path.  If the segment already exists, you
338    are asked whether it should be overwritten.  If you don't give the
339    tape volume name in load_table, tape_archive queries you for a
340    volume name.  There is no way to specify the density or other
341    characteristics of the volume, or multiple volume names, when
342    responding to the query; use, therefore, the full load_table syntax
343    unless the tape was recorded at 1600 BPI on a 9-track tape drive
344    using the ANSI standard and ASCII recording mode.
345 
346 
347    Control arguments for this operation are--
348    -density N, -den N
349       specifies the density of the tape volume to be N.  The default
350       for ANSI and IBM labeled tapes is 1600 BPI.
351    -retain all
352       specifies that the volume set is to remain mounted after
353       processing is complete.  In cases where several successive tape
354       processing operations are planned, -retain speeds up processing
355       of requests by reducing the handling of the tapes.  The volume
356       set remains mounted until you invoke the processing operation
357       with "-retain none".
358    -io_module modulename, -iom modulename
359       specifies the tape I/O module originally used to generate the
360       tapes.  Acceptable modulenames are tape_ansi_ and tape_ibm_.  If
361       you supply no -io-module, tape_ansi_ is assumed.
362 
363 
364 List of reconstruction modes:
365 reconstruct
366      tape_archive reconstruct table_path {-control_args} {volume_ids}
367 
368      causes the volume set to be scanned and a valid table to be
369      constructed into the segment specified by table_path.  If the
370      segment already exists, you are asked whether it should be
371      overwritten. If the tape volume name is not given in the
372      reconstruct command line, tape_archive queries you for a volume
373      name. There is no way to specify the density or other
374      characteristics of the volume, or multiple volume names, when
375      responding to the query. It is therefore recommended that the
376      full reconstruct syntax be used unless the tape was recorded at
377      1600 BPI on a 9-track tape drive using the ANSI standard and ASCII
378      recording mode.
379 
380 
381      Control arguments for the reconstruct operation are:
382      -density N, -den N
383         specifies the density of the tape volume to be N. The default
384         is 1600 BPI.
385      -force, -fc
386         If specified, forces the overwriting of an already existing
387         tape_archive table. Default is to query for overwriting.
388      -long, -lg
389         If specified, the reconstruct operation will display on the
390         terminal the names of the files it has added to the table,
391         and the tables that it has found on the volume set and
392         processed.  The default is not to display anything except
393         error messages.
394 
395 
396      -retain all
397         specifies that the volume set is to remain mounted after
398         processing is complete.  In cases where several successive
399         tape processing operations are planned, this control argument
400         speeds up processing of requests by reducing the handling of
401         the tapes.  The volume set remains mounted until the
402         processing operation is invoked with "-retain none".  The
403         default is "-retain none".
404      -volume_type STR, -vt STR
405         specifies the per-format module originally used by mtape_ to
406         generate the tapes. Acceptable volume types are ansi and ibm.
407         The default is ansi.
408 
409 
410      Note: The table that is reconstructed should be examined for
411      accuracy, as deleted or replaced files on the volume set may be
412      also reconstructed.
413 
414 
415 List of interactive modes:
416 direct
417    Usage:  ta direct table_path {-control_arg}
418    allows you to direct the actions of tape_archive using an
419    interactive mode in which each line typed is interpreted as a key
420    followed by the arguments (except for table_path) accepted by that
421    key.  This mode of operation is exited by typing "go".  If any
422    requests are outstanding when the mode is exited, the tapes are
423    automatically mounted and the requests performed, except as noted
424    below.
425 
426 
427    The direct operation has this control argument--
428    -retain all
429       specifies that the volume set is not to be dismounted when the
430       "go" request is complete.  If you give -retain, the "go" request
431       does not terminate the command invocation, but returns you to the
432       interactive mode of tape_archive so that you can enter more
433       requests.  Use the "quit" request to exit this mode and dismount
434       the volume sets.
435 
436 
437    In addition, the following special commands are accepted in this
438    mode of operation:
439    quit
440       exits the interactive mode without performing the actual
441       processing of the requests.  Unless preceded by save, all
442       requests made in this invocation of tape_archive are discarded.
443       If unsaved requests exist, you are asked to confirm the command.
444    save
445       permanently records in the table all requests made during this
446       invocation of the command.
447 
448 
449    go
450       specifies that all preceding requests are to be recorded into the
451       table and that the volume set is to be mounted and processed.  If
452       you have not set the volume name with the alter request, the go
453       request queries you for a volume name.  All other information
454       about the tape volume set must have been previously set by alter
455       requests; otherwise, the defaults apply.  Use a 1600 BPI minimum
456       (or 6250 if available) for tape archives unless they are
457       specifically intended for interchange with non-Multics systems.
458 
459 
460       To set the first volume name, use a request of the following
461       form:
462          tape_archive alter foo volume "" VOLUME_NAME
463          tape_archive alter foo density 1600
464       You can't alter the tape archive until at least one component has
465       been added.  Alter the volume and density after adding a
466       component, but before using the go request for the first time.
467 
468 
469    ..{command_line}
470       passes the specified command line to the command processor.
471    .
472       causes tape_archive to identify itself.
473 
474    While in the interactive mode, all requests are maintained in a
475    temporary copy of the online table, allowing you to abort processing
476    if desired without recording any requests in the actual online
477    table.
478 
479    All  keys  are  accepted  in  this  mode  of  operation  except for
480    load_table.
481 
482 
483 Notes: This command provides you with the ability to append components
484 to the archive, replace its components with new versions, extract and
485 delete its components, list its contents, and re-create the online
486 table in the event of a catastrophe or for file transfering.
487 
488 You can use a tape archive to temporarily hold files that will be
489 needed at some future time, but that meanwhile take up large amounts of
490 expensive storage space.  Additionally, you can use tape archives to
491 transfer files between Multics systems and, in a limited fashion, from
492 Multics to other operating systems.
493 
494 
495 A tape archive consists of one or more reels of tape, known as the
496 "volume set," on which files are stored in ANSI or IBM standard tape
497 format, one archive per volume.  The constituent files that compose the
498 tape archive are called components of the archive.  Associated with
499 each tape archive is a Multics segment known as the table.  This
500 segment is created and maintained by tape_archive and contains
501 information about each component in the archive.
502 
503 You can request to move components between the tape and the storage
504 system by invoking tape_archive before any reels are actually mounted
505 and processed.  Once you have specified all desired transferal
506 requests, invoke tape_archive to mount and process the tape.
507 
508 
509 An interactive mode of operation is supplied that allows you to specify
510 multiple requests to a single invocation of the command and that
511 automatically performs the requests after you have satisfactorily
512 entered them all.
513 
514 
515 Notes on default encoding modes: If you give no particular encoding
516 mode for files being appended to or replaced in the archive, the
517 following criteria are applied to determine the most appropriate mode:
518 When performing file replacement, the default encoding mode remains
519 unchanged if it is determined that the file has not been altered in any
520 way that precludes encoding it in the same mode; otherwise, a
521 diagnostic is printed, and the replacement is performed in binary mode.
522 
523 
524 Notes on tape file naming conventions: Tape files of a tape_archive
525 volume set follow certain conventions with respect to ordering and
526 naming.
527 
528 Each user file is preceded by an attribute file, containing the
529 information necessary to re-create the file faithfully in the storage
530 system (e.g., names, ACL, etc.).  Attribute files are named
531 "ATTRIBUTEFILENNNN" for ANSI tapes, and "ATTRIBUT.FILENNNN" for IBM
532 tapes, where NNNN is the physical file number (by order of occurrence
533 on the tape) of the attribute file, e.g., "ATTRIBUTEFILE0023".
534 
535 
536 Each user file is named with a unique name constructed of all or part
537 of the Multics entryname of the file, translated to uppercase, one or
538 more reserved characters, and the physical file number of the file.
539 For ANSI tapes, the reserved character is a slash (/); for IBM tapes,
540 the commercial-at sign (@).  The Multics file name is truncated or
541 padded with reserved characters to 12 characters.  In addition,
542 characters appearing in the Multics file name that are not allowed as
543 part of a tape file name under the applicable standard are translated
544 to the reserved character.  Due to IBM file-naming restrictions, the
545 ninth character of all tape file names on IBM tapes is translated to a
546 period, and if the character following the period is not alphabetic,
547 that character is translated to an X.
548 
549 
550 Copies of the online table describing the tape are named
551 "ONLINE-TABLE-NNNN" for ANSI tapes, and "ONLINE#T.BLE#NNNN" for IBM
552 tapes, where NNNN is a number representing the serial number of the
553 online tables on this volume set.  This number starts from 1 and
554 increases by one each time a new table is written to the tape.