-*- Text -*- This is the file AI:.INFO.;DUMP INFO HOW TO USE THE MACRO-TAPE DUMP AND LOAD PROGRAM: AFTER STARTING DUMP, OBSERVE THE PROMPT CHARACTER "_". TYPE "DUMP F" TO DO A FULL DUMP. TYPE "DUMP I" TO DO AN INCREMENTAL DUMP. TO DUMP ONLY ONE DIRECTORY, LET'S SAY FOO;, TYPE "DUMP". WHEN THE PROGRAM SAYS "FILE =", TYPE "FOO;" FOLLOWED BY AN ALTMODE. WHEN TYPING COMMANDS AT IT, "RUBOUT" WILL FLUSH AND ECHO THE LAST CHARACTER UNTIL THE BEGINNING OF THE SYLLABLE. TYPE CONTROL-G IF YOU WANT THE PROGRAM TO IMMEDIATELY STOP WHAT IT IS DOING AND WAIT FOR FURTHER INSTRUCTIONS. THE COMMANDS ARE(FOLLOWED BY SPACE OR CR): HELP LISTS COMMANDS AVAILABLE REWIND REWIND TAPE TAPED CREATES A TAPE DIRECTORY ON THE DISK FOR THE CURRENTLY MOUNTED TAPE. IT ASKS YOU IF YOU ARE SURE, IF A DIRECTORY ALREADY EXISTS FOR THE MOUNTED TAPE. ALL TAPE DIRECTORIES ON THE DISK ARE ON THE DISK DIRECTORIES .TAPE0 AND .TAPE1. EOT GO TO END OF TAPE (SO "DUMP" WILL APPEND NEW FILES RATHER THAN OVERWRITE THE OLD ONES) SPACE SPACE FORWARD FILES LSPACE SPACE FORWARD THROUGH FILES, LISTING NAMES OF EACH, WAITS FOR CHARACTER EACH TIME, RUBOUT WILL TERMINATE. LIST LIST ALL FILES FROM CURRENT POINT ON TAPE (ASK FOR LISTING DEVICE TO USE BY TYPING "LIST="). MFD SIMILAR TO ABOVE, BUT LISTS OUT MASTER FILE DIRECTORY. LISTF : SIMILAR TO ABOVE BUT LIST FILES ON DEVICE . TAPE LIST INFORMATION AVAILABLE ON DISK ABOUT THE STATUS OF A PARTICULAR TAPE.(ASKS TAPE NO=, TYPES INFO ON TTY) TAPES LISTS ABOVE INFO FOR ALL TAPES , ASKS LIST= TAPSET DOES A TAPE THEN ALLOWS THE INFO TO BE RESET TLIST LIST NAMES OF FILES ON A TAPE DIRECTORY SAVED ON DISK. ASKS TAPE NO= AND LIST= FIND FIND WHAT TAPES PARTICULAR FILES ARE DUMPED ON(SEE BELOW). LOAD LOAD FILES FROM MAGNETIC TAPE (SEE BELOW). DUMP DUMP FILES ONTO MAGNETIC TAPE (SEE BELOW). CDUMP SAME AS "DUMP F", BUT CONTINUE FROM INTERRUPTION, SUCH AS SYSTEM LOSSAGE OR RELOAD. THE DUMP AND LOAD COMMANDS MUST BE FOLLOWED BY A CARRIAGE RETURN WHICH MAY BE PRECEDED BY VARIOUS SWITCHES, EACH OF WHICH MUST BE PRECEDED BY A SPACE. THE SWITCHES HAVE THE FOLLOWING MEANING: INCREM (OR I) DUMP ONLY FILES WHOSE .DMPCH HAS NOT BEEN SET (I.E. HAVE NOT BEEN PREVIOUSLY DUMPED) MERGE (OR M) LOAD ONLY THOSE FILES WHICH DO NOT ALREADY EXIST. EXPERM (OR E) DO NOT SET .DMPCH FOR THE FILES BEING DUMPED, SINCE THIS IS ONLY AN EXPERIMENTAL DUMP. CARE (OR C) DO NOT LOAD FILES WHICH ALREADY EXIST ON DISK AND DO NOT HAVE THEIR .DMPCH SET (I.E. PROBABLY CREATED NEW SINCE THE VERSION ON TAPE WAS CREATED). LIST (OR L) LIST USERS WHEN DOING A FULL DUMP, LIST FILES WHEN DOING A DUMP OF ONE USER - SIMILARLY FOR LOADING (ASK WHAT LISTING DEVICE TO USE BY TYPING "LIST="). ARCHIVE (OR A) MARK THIS SET OF TAPES ON DISK AS A ARCHIVE. ATTEMPTED DUMPS ON THESE TAPES WILL SAY THAT TAPE IS AN ARCHIVE. ARE YOU SURE? FULL (OR F) DUMP THE WHOLE WORLD (ALL FILES) EQUIVALENT TO DSK:*;* *(SEE BELOW) IF YOU JUST TYPE "DUMP FULL", THE PROGRAM GOES AHEAD AND IMMEDIATELY DUMPS EVERY FILE FROM THE DISKS ONTO MAGNETIC TAPE. IF THE F SWITCH IS NOT SPECIFIED, OR YOU TYPE "LOAD" OR "FIND", THE PROGRAM TYPES "FILE=" AND WAITS FOR A FILE SPECIFICATION LINE FOLLOWED BY A CARRIAGE RETURN OR AN ALTMODE. IT THEN TYPES "FILE=" AGAIN UNLESS YOU TYPED ONLY A CARRIAGE RETURN FOR THE LAST FILE SPECIFICATION LINE, OR YOU TERMINATED THE LAST LINE WITH AN ALTMODE OR YOUR LAST LINE IMPLIED THE WHOLE WORLD (*;* *), IN WHICH CASE THE PROGRAM RETURNS TO THE CALLING ROUTINE. (LOAD, DUMP, OR FIND). A FULL FILE SPECIFICATION LINE IS OF THE FORM "DEV:USR;FN1 FN2_DEV:USR;FN1 FN2". FOR EXPLANITARY PURPOSES, LET'S CALL THE SPECS BEFORE THE "_" "TO" ARGS AND THE ONES TO THE RIGHT OF THE "_" "FROM" ARGS. ANY UNSPECIFIED ARG IN A SPECIFICATION LINE IS GIVEN THE VALUE OF SOME DEFAULT FOR THAT ARG. THE DEFAULT FOR "FROM" DEVICE SPECIFICATION IS DSK:. THE INITIAL DEFAULT FOR "FROM" SNAME IS YOUR USER NAME.(WHAT YOU LOGGED IN AS.) THE INITIAL DEFAULT FOR "FROM" FN1 AND FN2 IS "*". THE DEFAULT FOR "FROM" SNAME, FN1, AND FN2 IS HENCEFORTH THE "FROM" SPEC FROM THE LAST SPECIFICATION LINE. "TO" ARGS ALWAYS DEFAULT TO THE CORRESPONDING "FROM" ARG OF THE SAME SPEC LINE. A SPECIFICATION "*" HAS SPECIAL MEANINGS AS DESCRIBED BELOW. TO REALLY CAUSE A SPECIFICATION TO BE AN ASTERISK, PRECEDE IT WITH A CONTROL-Q. AFTER DOING THIS, YOU SHOULD SEE ON YOUR TERMINAL "^Q*". THE CHARACTERS BACKARROW"_", SEMI-COLON";", COLON":", AND SPACE" " MUST ALSO BE PRECEDED BY A CONTROL-Q, IF THEY ARE USED AS PART OF A SPECIFICATION. IF THE "_" IS NOT TYPED AT ALL, ALL THE ARGS OF THE SPEC LINE ARE ASSUMED TO BE "FROM" ARGS. THE DUMP COMMAND IGNORES ALL "TO" ARGS. IT DUMPS ALL THE FILES THAT MATCH ANY OF THE SPEC LINES. AN "*" AS AN ARG IN A SPEC LINE CAUSES ANYTHING TO BE MATCHED TO IT. FOR INSTANCE "*;" MEANS ANY DIRECTORY. EXAMPLES OF DUMP: TO DO AN INCREMENTAL DUMP, YOUR TTY SCREEN OR PAPER MIGHT LOOK LIKE THIS: _DUMP I TAPE NO=105 _ THE PROGRAM ONLY ASKS FOR A TAPE NO IF IT DOESN'T ALREADY KNOW IT. TO DUMP THE FILE CALLED "RANDOM CRUD" FROM YOUR DIRECTORY AND ALL OF THE FILES FROM FOO'S DIRECTORY, IT MAY LOOK LIKE THIS: _DUMP FILE= RANDOM CRUD FILE=FOO;* * FILE= _ TO DO A FULL DUMP, IT MIGHT LOOK LIKE THIS: _DUMP F TAPE NO=239 _ NOTE THAT A SPEC LINE IN A NON-FULL DUMP SAYING *;* * CAUSES THE WHOLE WORLD TO BE DUMPED AS THOUGH YOU HAD USED THE FULL SWITCH. TO RESTART A FULL DUMP AFTER SOME ACCIDENT SUCH AS SYSTEM CRASH, TYPE CDUMP . THE PROGRAM TRIES TO INTELLIGENTLY CONTINUE DUMPING FROM WHERE IT LEFT OFF. IF IT NEEDS SOME INFORMATION, IT WILL ASK YOU FOR IT. THE LOAD COMMAND SEARCHES THROUGH THE CURRENT TAPE FOR FILES MATCHING ANY OF THE SPECIFICATION "FROM" SPECS. IF IT FINDS A MATCH, IT LOADS IT INTO THE "TO" SPEC OF THE LINE THAT WAS SUCCESSFULLY MATCHED. THE CHARACTER "*" IN A FROM SPEC MEANS MATCH TO ANYTHING, AND AN "*" IN A "TO" SPEC GETS REPLACED WITH THE CORRESPONDING "FROM" ARG READ FROM THE TAPE ITSELF. IN OTHER WORDS, IF THE FILE ON THE TAPE IS "HUR;TICTAC 9", THEN IT COULD MATCH THE SPEC LINE "FOO;* 9_HUR;TICTAC *" WHICH WOULD CAUSE THE PROGRAM TO TAKE THE FILE "TICTAC 9" FROM THE TAPE AND SAVE IT ON THE DISK ON DIRECTORY "FOO" WITH THE NAME "TICTAC 9". SOME EXAMPLES SHOULD CLEAR IT ALL UP: _LOAD FILE=FOO; FILE= _ THE ABOVE IS HOW YOUR TTY SCREEN OR PAPER MIGHT LOOK IF YOU TOLD THE DUMP PROGRAM TO RESTORE DIRECTORY "FOO" COMPLETELY FROM TAPE. TO LOAD A FILE INTO DIRECTORY "FOO" THAT IS STORED ON TAPE AS "SHRDLU;MOBY DUMP", YOUR PAPER OR SCREEN MAY LOOK LIKE THIS: _LOAD FILE=FOO;_SHRDLU;MOBY DUMP$ _ TO LOAD A BUNCH OF ARBITRARY FILES, THE APPEARANCE MIGHT BE: _LOAD FILE=HAL;ROBOT * FILE=FOO;THIS ONE FILE=*;HACK FILE= _ THAT LAST SPECIFICATION LINE MEANS TO LOAD ANY FILES ON THE CURRENT TAPE THAT HAVE THE FIRST NAME OF "HACK". OBSERVE THAT BY THE DEFAULT RULES GIVEN ABOVE, IF THERE IS NO "_" IN A SPEC LINE FOR THE LOAD COMMAND, FILES THAT MATCH THAT SPEC GET LOADED INTO THE SAME DIRECTORY THEY WERE DUMPED FROM. THE FOLLOWING IS HOW TO LOAD THE WHOLE WORLD FROM THE CURRENT TAPE WITHOUT FEAR OF DELETING ANY EXISTING FILES FROM THE DISKS THAT HAVEN'T YET BEEN DUMPED: _LOAD CARE FILE=*;* * FILE= _ THE FIND COMMAND TRIES ALSO TO MATCH "FROM" ARGS, BUT IT SEARCHES THE FILES ON DIRECTORIES ".TAPE0" AND ".TAPE1" FOR THE FILE NAMES OF FILES THAT HAVE BEEN DUMPED. IF THE FIND COMMAND FINDS A MATCH, IT TELLS YOU THE TAPE #, USER NAME, FILE NAME, AND CREATION DATE AND TIME. EVERY TAPE THAT IS WRITTEN ON WITH THE DUMP PROGRAM HAS A CORRESPONDING DIRECTORY FOR IT STORED ON THE DISK. THE DIRECTORY IS A FILE NAMED "TAPE NNN" WHERE "NNN" IS THE TAPE NO OF THE TAPE. THE DISK DIRECTORY ON WHICH THIS DIRECTORY MAY BE FOUND IS ".TAPE0;" FOR EVEN NUMBERED TAPES, AND ".TAPE1;" FOR ODD NUMBERED TAPES. THE FIRST WORD IN A TAPE DIRECTORY IS -N,,0. N IS THE NUMBER OF WORDS IN THE TAPE HEADER INCLUDING THIS FIRST WORD. CURRENTLY N IS 4, AND THE NEXT WORD HAS THE TAPE NO (NUMBER) IN THE LEFT HALF AND THE REEL NUMBER IN THE RIGHT HALF. THE NEXT TWO WORDS HOLD THE SIXBIT DATE OF CREATION OF THE TAPE, AND A NUMBER DESIGNATING WHAT TYPE OF DUMP THIS TAPE IS. 0 MEANS RANDOM, -1 MEANS FULL, AND 1 MEANS INCREMENTAL. THE NEXT WORD IS -N,,0 WHERE N, CURRENTLY 5, TELLS THE NUMBER OF WORDS IN EACH FILE BLOCK. THE REST OF THE DIRECTORY IS FILE BLOCKS. EACH FILE BLOCK TELLS INFORMATION ABOUT ONE FILE DUMPED FROM A DISK ONTO THIS TAPE. CURRENTLY, THE 5 WORD BLOCK SPECIFIES IN THE FOLLOWING ORDER, DIRECTORY FILE WAS DUMPED FROM, FIRST FILE NAME, SECOND FILE NAME, DISK PACK NUMBER FILE CAME FROM, AND COMPACT DATE AND TIME OF CREATION FOR THE FILE. THE FORMAT OF DATA ON THE TAPE IS IDENTICAL TO THE FORMAT OF THE DIRECTORY DESCRIBED ABOVE, EXCEPT FOR THE FOLLOWING THINGS: THE FILE ITSELF IS WRITTEN ON THE TAPE AFTER THE FILE BLOCK. EACH FILE IS FOLLOWED BY A SYSTEM "END OF FILE" MARK ON THE TAPE. THE WORD -N,,0 THAT PRECEDES THE FIRST FILE BLOCK IN THE DIRECTORY PRECEDES EVERY FILE BLOCK ON THE TAPE. IF A FILE BEING DUMPED IS ACTUALLY ONLY A LINK TO ANOTHER FILE ON THE DISK, THE WORD USUALLY HOLDING THE PACK NUMBER IS USED TO HOLD THE DIRECTORY NAME OF THE DIRECTORY CONTAINING THE FILE THAT THIS ONE IS LINKED TO. FOR LINKS, THE ACTUAL FILE CONTENTS ON THE TAPE IS ONLY A SPECIFICATION AS TO WHICH FILE THIS FILE IS LINKED TO. A CRUDE COMPARE OPERATION IS POSSIBLE BY USING THE FOLLOWING COMMAND: LCHECK WILL LIST OUT A LOT OF INFORMATION ABOUT THE FILES ON MACRO-TAPE WHILE COMPARING THEM WITH SIMILARLY NAMED FILES ON DISK (WILL ASK FOR LISTING DEVICE BY TYPING "LIST="). CHECK SIMILAR BUT ONLY LISTS FILES IT HAD PROBLEMS WITH. ERROR COMMENTS: WHEN OPENING A CERTAIN FILES DOES NOT WIN THE PROGRAM WILL TYPE THE APPROPRIATE (FILE NAME AND) REASON, THIS IS ALSO TRUE OF VARIOUS I/O ERRORS. AT TIMES THE PROGRAM MAY GET CONFUSED AND TYPE ONE OF THE FOLLOWING: RANDOM INTERRUPT UN-ENABLED INTERRUPT HAPPENED. INTERRUPT FROM RANDOM DEVICE INTERRUPT FROM DEVICE (OTHER THAN MACRO-TAPE), STATUS AS IN . INTERRUPT ON MAG TAPE WHEN NOT DUMPING INTERRUPT FROM MACRO-TAPE WHILE IN OPERATION OTHER THAN DUMP. STATUS AS IN . INTERRUPT ON OUTPUT NOT END OF TAPE INTERRUPT HAPPENED ON MAG-TAPE OUTPUT. OTHER ERROR COMMENTS EXPLAIN THEMSELVES. CAPACITY: AT 800 BPI A 2400 FOOT TAPE COULD HOLD 3840. BLOCKS (1024. WORDS EACH) IF THE WHOLE TAPE WAS ONE RECORD. ASSUMING ONE INCH INTERRECORD GAPS, RECORDS OF SIZE 1024. WORDS, BUT STILL ONLY ONE FILE, THIS IS REDUCED TO 3400. BLOCKS. IN PRACTICE ONE GETS ONLY ABOUT 2500. BLOCKS ON ONE REEL (REST OF SPACE TAKEN UP BY HEADERS, INTERRECORD GAPS AND FILE MARKS). These are the DUMP commands and options and their self-documentation as of 9/2/81: _? FIND Find what tape a particular file is on OFIND FIND command using a tape for info DUMP Dump files LOAD Load files RELOAD Load files, modify dir ctory from tape copy CLOAD Continue previous LOAD RELOAD operation CDUMP Continue full dump REWIND Rewind mag tape UNLOAD Rewind/unload EOT Go to end of tape SPACE Space forward n files LSPACE Space forward and list files, hit after each LIST List files on tape MFD List MFD from disk LISTF List a file directory from disk HELP Type out commands CHECK Check files on tape against disk LCHECK Check files and list them ICHECK Check files on incremental dump, update dump-check bits TAPED Generate tape directory from mounted tape TAPES List all saved tape info TAPE List saved info about one tape TAPSET Set tape info for one tape TLIST List files on a tape (from tape directory stored on disk) GFR Grim File Reaper (Don't use this, please) QUIT return to DDT ERRSTS Print tape control status as of last error ALLOC Examine or change directory allocation LSTALC List all directories with allocations PTDIR Print directories from tape _dump ? INCREM, I Do an Incremental Dump FULL, F Do a Complete dump LIST, L Generate a listing of files loaded or dumped MERGE, M Don't load over existing file with the same name CARE, C Don't load over files not yet backed up EXPERI, E Don't set has-been backed-up bits SORRY, S Go ahead and load over files with newer creation dates NOASK Don't ask whether a file should be loaded over, assume "no" DATE Dump only files with creation date greater or equal specified DATES Dump only files with creation date between two dates specified ARCHIV, A Declare this dump tape to be Archival. REAP, R Do a reap after dumping (don't use this, please) DECIDE, D (Supposedly controls tape number assignment) NO Don't check incremental dump (one pass instead of two) _gfr ? H MAKE HISTOGRAM OF BLOCKS FREED VERSUS DATE L LIST HISTOGRAM AND/OR FILES REAPED DUMP DUMP REAPED FILES ONTO TAPE DELETE DELETE REAPED FILES (AFTER DUMPING) TO dev DUMP TO DISK DEVICE dev (E.G. SECOND) INSTEAD OF TAPE DATE ENTER DATE OF OLDEST FILE TO RETAIN BLOCKS ENTER NUMBER OF BLOCKS TO BE OBTAINED CREATE USE CREATION DATE INSTEAD OF REFERENCE DATE QUOTA ENFORCE DIRECTORY QUOTAS ALLOC REAP ALLOCATED DIRS TOO EVERY ALLOW NO SPECIAL DIRECTORIES (DON'T USE THIS, PLEASE!) FROM dev REAP OFF OF DEVICE dev (E.G. SECOND) AS WELL AS MAIN DISK. ONLY REAP ONLY FROM SPECIFIED DEVICE, NOT MAIN DISK. DISK DUMP TO SECONDARY DISK INSTEAD OF TAPE (THIS IS AN OBSOLETE FORM FOR "TO SECOND") SECOND REAP SECONDARY DISK ALSO (THIS IS AN OBSOLETE FORM FOR "FROM SECOND")