10/24/85 tape_archive, ta Syntax as a command: ta key table_path {args} Function: performs a variety of operations to create and maintain a set of files on magnetic tape. Arguments: key is one of the key functions described below. table_path is the pathname of a segment created and maintained by tape_archive to serve as a table of contents for the archive. If the table segment does not exist, it is created by the append operation or the direct interactive mode. args are additional arguments or control arguments as required by the particular key chosen (see below). List of extract operations: x Usage: ta x table_path {components} {-control_arg} extracts from the archive those components named by the path arguments, placing them in segments in the storage system. The star convention is allowed for components. The directory where you place a segment is the directory portion of the component argument. The ACL, names, and other settable segment attributes that were in effect when you archived the component are placed onto the new segment. If a segment of the same name already exists, it observes the duplicate name convention like that of the copy command. If you supply no component names, all components are extracted and placed in your working directory. xd Usage: ta xd table_path {components} {-control_arg} extracts and deletes; operates like x, but deletes the component from the archive if the extraction is successful. xdf Usage: ta xdf table_path {components} {-control_arg} extracts forcibly and deletes; operates like xd, but forcibly deletes any existing segments in the storage system if all their names conflict with names of components being extracted. This request also disregards the safety switch when deleting components from the archive. xf Usage: ta xf table_path {components} {-control_arg} extracts forcibly; operates like x, but forcibly deletes existing segments in the storage system if all their names conflict with names of components being extracted. The extract operation has this control argument-- -single_name, -snm places the name of the component, as it appears in the table, as the only name on the newly created file in the storage system. (Default: place all the names) List of append operations: a Usage: ta a table_path {paths} {-control_args} appends named files to the archive. The star convention is allowed for paths. The files that are appended to the archive are not otherwise affected. If the named file is already in the archive, a diagnostic is issued and the component is not replaced. At least one file must be explicitly named by the path arguments. If the tape archive does not exist, it is created. ad Usage: ta ad table_path {paths} {-control_args} appends and deletes; operates like a, but then deletes each file that was appended to the archive. Deletion takes place after the tape is processed and the file has been successfully appended to the tape. If the safety switch is on for any named file, you are queried whether the file should be deleted. adf Usage: ta adf table_path {paths} {-control_args} appends and deletes forcibly; operates like ad, but the safety switch is disregarded. The append operation has these control arguments-- -mode ascii -mode binary -mode ebcdic specifies that the file is to be replaced on or appended to the tape archive using the supplied encoding mode. If you give the ascii or ebcdic encoding mode, the file is verified to ensure that it can be encoded in the specified mode without loss of information; if it can't, a warning message is printed and the encoding mode for that file is changed to binary. If you don't give explicit mode specifications, the file is encoded in the mode determined by the criteria described under "Notes on default encoding modes" below. -single_name, -snm records the name of the component, as specified in the command line, as the only name for the file on the volume set. List of replace operations: r Usage: ta r table_path {paths} {-control_args} replaces components in or adds components to the tape archive. The star convention is allowed for paths. If you name no files in the command line, all files of the archive for which files by the same name are found in your working directory are replaced. If a file is explicitly named and does not already exist in the tape archive, it is appended and an advisory is printed. If the tape archive does not exist, then it is created. rd Usage: ta rd table_path {paths} {-control_args} replaces and deletes; operates like r, but deletes each file that was replaced in or appended to the archive. Deletion takes place after the tape is processed and the file has been successfully replaced on or appended to the tape. If the safety switch is on for any named file, you are queried whether the file should be deleted. rdf Usage: ta rdf table_path {paths} {-control_args} replaces and deletes forcibly; operates like rd, but the safety switch is disregarded. The replace operation has these control arguments-- -mode ascii -mode binary -mode ebcdic specifies that the file is to be replaced on or appended to the tape archive using the supplied encoding mode. If you give the ascii or ebcdic encoding mode, the file is verified to ensure that it can be encoded in the specified mode without loss of information; if it can't, a warning message is printed and the encoding mode for that file is changed to binary. If you don't give explicit mode specifications, the file is encoded in the mode determined by the criteria described under "Notes on default encoding modes" below. -single_name, -snm records the name of the component, as specified in the command line, as the only name for the file on the volume set. List of update operations: u Usage: ta u table_path {paths} operates like r, but replaces only those components for which the corresponding file has a date-time-modified later than the date-time associated with the component in the archive. If the file is not found in the archive, it is not added. ud Usage: ta ud table_path {paths} updates and deletes; operates like u, but deletes each file that was updated in the archive. Deletion takes place after the tape is processed and the file has been successfully updated on the tape. If the safety switch is on for any named file, you are queried whether the file should be deleted. udf Usage: ta udf table_path {paths} updates and deletes forcibly; operates like ud, but the safety switch is disregarded. List of delete operations: d Usage: ta d table_path components deletes named components from the archive. The star convention is allowed for components. df Usage: ta df table_path components deletes forcibly; operates like d, but the safety switch is disregarded. List of cancel operations: cancel Usage: ta cancel table_path {components} cancels any pending requests for the components named. The star convention is allowed for components. This operation removes any requests scheduled to be performed on the named components. If you name no components, you are queried whether all pending requests are to be canceled. Use cancel to reinstate dead components (components that have been logically deleted or replaced from a tape archive but still exist on the volume set). List of table of contents operations: t Usage: ta t table_path {components} {-control_args} prints table of contents and associated information for each named component of the archive (including files scheduled to be placed into the archive), as well as information about the archive itself. The star convention is allowed for components. The table-of-contents operation has these control arguments-- -all, -a prints dead components (see the cancel operation). -brief, -bf prints the component name only. -header, -he prints the header information. -long, -lg prints all the information, in the absence of -header. -no_header, -nhe suppresses the header information, even if you select -long. -pending prints only those components for which requests are pending. If you give no control arguments, a short header, pending operations for the named components, and the component names are printed. List of processing operations: go Usage: ta go table_path {-control_args} performs the actual tape mounting and processing of the queued file transferal requests. First, the current volume set is mounted. If the current volume set is empty, tape_archive asks you which volume is to be used. This volume then becomes the current volume set and is remembered in the table. Those components scheduled for extraction are processed. Next, additions and replacements are performed. When all tape processing has been completed, requests to delete files in the storage system that have been appended or replaced are processed. Finally, if the processing involves writing to tape, the table is modified, to reflect the new state of the tape archive, and appended to the tape. The go operation has these control arguments-- -retain all specifies that the volume set is to remain mounted after processing is complete. In cases where several successive tape-processing operations are planned, -retain speeds up the processing of requests by reducing their physical handling. The volume set remains mounted until go is invoked with -retain none. -retain none reverts the effects of -retain all. -long, -lg prints a message for all file searches, extractions, or appendings, as they are perfomed on the volume set. List of compaction operations: compact Usage: ta compact table_path schedules the tape archive for compaction. The compaction process copies the active components on the current volume set onto the alternate volume set. This process removes cumulative tape waste attributable to inactive tape files (components that have been logically deleted, updated, or replaced, but never physically removed.) Having the same volume for both primary and alternate volume sets is not allowed. You can process other file transferal requests at the same time that the archive is being compacted. After the compaction operation, the alternate volume set becomes the current volume set and vice versa. List of parameter alteration operations: alter Usage: ta alter table_path alter_spec changes global attributes of the tape archive that can be set by you. The specific attribute modified depends on the alter_spec arguments, which can be: warning_limit floatnum prints an advisory message whenever the number of wasted tape records on the volume set reaches or exceeds a certain fraction of the total tape records. The floatnum argument must be from 0.0 to 1.0. The initial default for warning_limit is 0.5. auto_limit floatnum automatically schedules the tape archive for compaction at the next mounting whenever the number of wasted tape records on the volume set exceed a certain fraction of the total tape records used. When compaction is automatically scheduled in this manner, an advisory message is printed. The floatnum argument must be between 0.0 and 1.0. The initial default for auto_limit is 1.0 (never automatically compact). volume old_volume_spec new_volume_spec {-alternate} makes the volume (reel) with label new_volume_spec supersede the volume old_volume_spec. If old_volume_spec is the null string and you supply -alternate, new_volume_spec is appended to the alternate volume set; otherwise, it is appended to the primary volume set. If new_volume_spec is the null string, old_volume_spec is deleted from the appropriate volume set. You can't have the same volume for both primary and alternate volume sets. volume -number N new_volume_spec {-alternate} makes the volume with label new_volume_spec supersede the Nth volume in the primary volume set (the alternate volume set if you give -alternate.) If new_volume_spec is the null string, the volume is deleted. If N is greater than the number of volumes currently contained in the volume set, the volume is appended to the volume set. You can't have the same volume for both primary and alternate volume sets. compaction off unschedules any pending compaction of the tape archive. module modulename selects the tape standard to be used. Acceptable values for modulename are tape_ansi_ or tape_ibm_. You can't change this parameter unless the volume set is empty. The initial default is tape_ansi_. density N {-alternate} selects the recording density (BPI) to be used on the volume set. The initial default is 1600. To select a density other than the default, enter alter for the primary volume set prior to any tape operations. To change the density of an existing volume set, give -alternate. This schedules a compaction of the primary volume set onto the alternate volume set at the selected density. List of load table operations: load_table Usage: ta load_table {table_path} {-control_args} {volume_ids} loads the copy of the online table kept on a volume set into the segment specified by table_path. If the segment already exists, you are asked whether it should be overwritten. If you don't give the tape volume name in load_table, tape_archive queries you for a volume name. There is no way to specify the density or other characteristics of the volume, or multiple volume names, when responding to the query; use, therefore, the full load_table syntax unless the tape was recorded at 1600 BPI on a 9-track tape drive using the ANSI standard and ASCII recording mode. Control arguments for this operation are-- -density N, -den N specifies the density of the tape volume to be N. The default for ANSI and IBM labeled tapes is 1600 BPI. -retain all specifies that the volume set is to remain mounted after processing is complete. In cases where several successive tape processing operations are planned, -retain speeds up processing of requests by reducing the handling of the tapes. The volume set remains mounted until you invoke the processing operation with "-retain none". -io_module modulename, -iom modulename specifies the tape I/O module originally used to generate the tapes. Acceptable modulenames are tape_ansi_ and tape_ibm_. If you supply no -io-module, tape_ansi_ is assumed. List of reconstruction modes: reconstruct tape_archive reconstruct table_path {-control_args} {volume_ids} causes the volume set to be scanned and a valid table to be constructed into the segment specified by table_path. If the segment already exists, you are asked whether it should be overwritten. If the tape volume name is not given in the reconstruct command line, tape_archive queries you for a volume name. There is no way to specify the density or other characteristics of the volume, or multiple volume names, when responding to the query. It is therefore recommended that the full reconstruct syntax be used unless the tape was recorded at 1600 BPI on a 9-track tape drive using the ANSI standard and ASCII recording mode. Control arguments for the reconstruct operation are: -density N, -den N specifies the density of the tape volume to be N. The default is 1600 BPI. -force, -fc If specified, forces the overwriting of an already existing tape_archive table. Default is to query for overwriting. -long, -lg If specified, the reconstruct operation will display on the terminal the names of the files it has added to the table, and the tables that it has found on the volume set and processed. The default is not to display anything except error messages. -retain all specifies that the volume set is to remain mounted after processing is complete. In cases where several successive tape processing operations are planned, this control argument speeds up processing of requests by reducing the handling of the tapes. The volume set remains mounted until the processing operation is invoked with "-retain none". The default is "-retain none". -volume_type STR, -vt STR specifies the per-format module originally used by mtape_ to generate the tapes. Acceptable volume types are ansi and ibm. The default is ansi. Note: The table that is reconstructed should be examined for accuracy, as deleted or replaced files on the volume set may be also reconstructed. List of interactive modes: direct Usage: ta direct table_path {-control_arg} allows you to direct the actions of tape_archive using an interactive mode in which each line typed is interpreted as a key followed by the arguments (except for table_path) accepted by that key. This mode of operation is exited by typing "go". If any requests are outstanding when the mode is exited, the tapes are automatically mounted and the requests performed, except as noted below. The direct operation has this control argument-- -retain all specifies that the volume set is not to be dismounted when the "go" request is complete. If you give -retain, the "go" request does not terminate the command invocation, but returns you to the interactive mode of tape_archive so that you can enter more requests. Use the "quit" request to exit this mode and dismount the volume sets. In addition, the following special commands are accepted in this mode of operation: quit exits the interactive mode without performing the actual processing of the requests. Unless preceded by save, all requests made in this invocation of tape_archive are discarded. If unsaved requests exist, you are asked to confirm the command. save permanently records in the table all requests made during this invocation of the command. go specifies that all preceding requests are to be recorded into the table and that the volume set is to be mounted and processed. If you have not set the volume name with the alter request, the go request queries you for a volume name. All other information about the tape volume set must have been previously set by alter requests; otherwise, the defaults apply. Use a 1600 BPI minimum (or 6250 if available) for tape archives unless they are specifically intended for interchange with non-Multics systems. To set the first volume name, use a request of the following form: tape_archive alter foo volume "" VOLUME_NAME tape_archive alter foo density 1600 You can't alter the tape archive until at least one component has been added. Alter the volume and density after adding a component, but before using the go request for the first time. ..{command_line} passes the specified command line to the command processor. . causes tape_archive to identify itself. While in the interactive mode, all requests are maintained in a temporary copy of the online table, allowing you to abort processing if desired without recording any requests in the actual online table. All keys are accepted in this mode of operation except for load_table. Notes: This command provides you with the ability to append components to the archive, replace its components with new versions, extract and delete its components, list its contents, and re-create the online table in the event of a catastrophe or for file transfering. You can use a tape archive to temporarily hold files that will be needed at some future time, but that meanwhile take up large amounts of expensive storage space. Additionally, you can use tape archives to transfer files between Multics systems and, in a limited fashion, from Multics to other operating systems. A tape archive consists of one or more reels of tape, known as the "volume set," on which files are stored in ANSI or IBM standard tape format, one archive per volume. The constituent files that compose the tape archive are called components of the archive. Associated with each tape archive is a Multics segment known as the table. This segment is created and maintained by tape_archive and contains information about each component in the archive. You can request to move components between the tape and the storage system by invoking tape_archive before any reels are actually mounted and processed. Once you have specified all desired transferal requests, invoke tape_archive to mount and process the tape. An interactive mode of operation is supplied that allows you to specify multiple requests to a single invocation of the command and that automatically performs the requests after you have satisfactorily entered them all. Notes on default encoding modes: If you give no particular encoding mode for files being appended to or replaced in the archive, the following criteria are applied to determine the most appropriate mode: When performing file replacement, the default encoding mode remains unchanged if it is determined that the file has not been altered in any way that precludes encoding it in the same mode; otherwise, a diagnostic is printed, and the replacement is performed in binary mode. Notes on tape file naming conventions: Tape files of a tape_archive volume set follow certain conventions with respect to ordering and naming. Each user file is preceded by an attribute file, containing the information necessary to re-create the file faithfully in the storage system (e.g., names, ACL, etc.). Attribute files are named "ATTRIBUTEFILENNNN" for ANSI tapes, and "ATTRIBUT.FILENNNN" for IBM tapes, where NNNN is the physical file number (by order of occurrence on the tape) of the attribute file, e.g., "ATTRIBUTEFILE0023". Each user file is named with a unique name constructed of all or part of the Multics entryname of the file, translated to uppercase, one or more reserved characters, and the physical file number of the file. For ANSI tapes, the reserved character is a slash (/); for IBM tapes, the commercial-at sign (@). The Multics file name is truncated or padded with reserved characters to 12 characters. In addition, characters appearing in the Multics file name that are not allowed as part of a tape file name under the applicable standard are translated to the reserved character. Due to IBM file-naming restrictions, the ninth character of all tape file names on IBM tapes is translated to a period, and if the character following the period is not alphabetic, that character is translated to an X. Copies of the online table describing the tape are named "ONLINE-TABLE-NNNN" for ANSI tapes, and "ONLINE#T.BLE#NNNN" for IBM tapes, where NNNN is a number representing the serial number of the online tables on this volume set. This number starts from 1 and increases by one each time a new table is written to the tape. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved