|
|
1.1 ! root 1: .TH RESTORE 8 "19 January 1983" ! 2: .UC 4 ! 3: .SH NAME ! 4: restore \- incremental file system restore ! 5: .SH SYNOPSIS ! 6: .B /etc/restore ! 7: key [ name ... ] ! 8: .SH DESCRIPTION ! 9: .PP ! 10: .I Restore ! 11: reads tapes dumped with the ! 12: .IR dump (8) ! 13: command. ! 14: Its actions are controlled by the ! 15: .I key ! 16: argument. ! 17: The ! 18: .I key ! 19: is a string of characters containing ! 20: at most one function letter and possibly ! 21: one or more function modifiers. ! 22: Other arguments to the command are file or directory ! 23: names specifying the files that are to be restored. ! 24: Unless the ! 25: .B h ! 26: key is specified (see below), ! 27: the appearance of a directory name refers to ! 28: the files and (recursively) subdirectories of that directory. ! 29: .PP ! 30: The function portion of ! 31: the key is specified by one of the following letters: ! 32: .TP 5n ! 33: .B r ! 34: The tape ! 35: is read and loaded into the current directory. ! 36: This should not be done lightly; the ! 37: .B r ! 38: key should only be used to restore ! 39: a complete dump tape onto a clear file system ! 40: or to restore an incremental dump tape after a full level zero restore. ! 41: Thus ! 42: .IP "" 5n ! 43: /etc/newfs /dev/rfsd0c fsd ! 44: .br ! 45: /etc/mount /dev/fsd0c /usr ! 46: .br ! 47: cd /usr ! 48: .br ! 49: restore r ! 50: .IP "" 5n ! 51: is a typical sequence to restore a complete dump. ! 52: Another ! 53: .I restore ! 54: can be done to get an incremental dump ! 55: in on top of this. ! 56: Note that ! 57: .I restore ! 58: leaves a file ! 59: .I restoresymtab ! 60: in the root directory to pass information between incremental ! 61: restore passes. ! 62: This file should be removed when the last incremental tape has been ! 63: restored. ! 64: .br ! 65: A ! 66: .IR dump (8) ! 67: followed by a ! 68: .IR newfs (8) ! 69: and a ! 70: .I restore ! 71: is used to change the size of a file system. ! 72: .TP 5n ! 73: .B R ! 74: .I Restore ! 75: requests a particular tape of a multi volume set on which to restart ! 76: a full restore ! 77: (see the ! 78: .B r ! 79: key above). ! 80: This allows ! 81: .I restore ! 82: to be interrupted and then restarted. ! 83: .TP 5n ! 84: .B x ! 85: The named files are extracted from the tape. ! 86: If the named file matches a directory whose contents ! 87: had been written onto the tape, ! 88: and the ! 89: .B h ! 90: key is not specified, ! 91: the directory is recursively extracted. ! 92: The owner, modification time, ! 93: and mode are restored (if possible). ! 94: If no file argument is given, ! 95: then the root directory is extracted, ! 96: which results in the entire content of the ! 97: tape being extracted, ! 98: unless the ! 99: .B h ! 100: key has been specified. ! 101: .TP 5n ! 102: .B t ! 103: The names of the specified files are listed if they occur ! 104: on the tape. ! 105: If no file argument is given, ! 106: then the root directory is listed, ! 107: which results in the entire content of the ! 108: tape being listed, ! 109: unless the ! 110: .B h ! 111: key has been specified. ! 112: Note that the ! 113: .B t ! 114: key replaces the function of the old ! 115: .I dumpdir ! 116: program. ! 117: .TP 5n ! 118: .B i ! 119: This mode allows interactive restoration of files from a dump tape. ! 120: After reading in the directory information from the tape, ! 121: .I restore ! 122: provides a shell like interface that allows the user to move ! 123: around the directory tree selecting files to be extracted. ! 124: The available commands are given below; ! 125: for those commands that require an argument, ! 126: the default is the current directory. ! 127: .IP "" 10n ! 128: .ti -5n ! 129: .br ! 130: .B ls ! 131: [arg] \- ! 132: List the current or specified directory. ! 133: Entries that are directories are appended with a ``/''. ! 134: Entries that have been marked for extraction are prepended with a ``*''. ! 135: If the verbose key is set the inode number of each entry is also listed. ! 136: .ti -5n ! 137: .sp ! 138: .B cd ! 139: arg \- ! 140: Change the current working directory to the specified argument. ! 141: .ti -5n ! 142: .sp ! 143: .B pwd ! 144: \- ! 145: Print the full pathname of the current working directory. ! 146: .ti -5n ! 147: .sp ! 148: .B add ! 149: [arg] \- ! 150: The current directory or specified argument is added to the list of ! 151: files to be extracted. ! 152: If a directory is specified, then it and all its descendents are ! 153: added to the extraction list ! 154: (unless the ! 155: .B h ! 156: key is specified on the command line). ! 157: Files that are on the extraction list are prepended with a ``*'' ! 158: when they are listed by ! 159: .BR ls . ! 160: .ti -5n ! 161: .sp ! 162: .B delete ! 163: [arg] \- ! 164: The current directory or specified argument is deleted from the list of ! 165: files to be extracted. ! 166: If a directory is specified, then it and all its descendents are ! 167: deleted from the extraction list ! 168: (unless the ! 169: .B h ! 170: key is specified on the command line). ! 171: The most expedient way to extract most of the files from a directory ! 172: is to add the directory to the extraction list and then delete ! 173: those files that are not needed. ! 174: .ti -5n ! 175: .sp ! 176: .B extract ! 177: \- ! 178: All the files that are on the extraction list are extracted ! 179: from the dump tape. ! 180: .I Restore ! 181: will ask which volume the user wishes to mount. ! 182: The fastest way to extract a few files is to ! 183: start with the last volume, and work towards the first volume. ! 184: .ti -5n ! 185: .sp ! 186: .B verbose ! 187: \- ! 188: The sense of the ! 189: .B v ! 190: key is toggled. ! 191: When set, the verbose key causes the ! 192: .B ls ! 193: command to list the inode numbers of all entries. ! 194: It also causes ! 195: .I restore ! 196: to print out information about each file as it is extracted. ! 197: .ti -5n ! 198: .sp ! 199: .B help ! 200: \- ! 201: List a summary of the available commands. ! 202: .ti -5n ! 203: .sp ! 204: .B quit ! 205: \- ! 206: Restore immediately exits, ! 207: even if the extraction list is not empty. ! 208: .sp ! 209: .PP ! 210: The following characters may be used in addition to the letter ! 211: that selects the function desired. ! 212: .TP 5n ! 213: .B v ! 214: Normally ! 215: .I restore ! 216: does its work silently. ! 217: The ! 218: .B v ! 219: (verbose) ! 220: key causes it to type the name of each file it treats ! 221: preceded by its file type. ! 222: .TP 5n ! 223: .B f ! 224: The next argument to ! 225: .I restore ! 226: is used as the name of the archive instead ! 227: of /dev/rcy?. ! 228: If the name of the file is ``\-'', ! 229: .I restore ! 230: reads from standard input. ! 231: Thus, ! 232: .IR dump (8) ! 233: and ! 234: .I restore ! 235: can be used in a pipeline to dump and restore a file system ! 236: with the command ! 237: .IP "" 5n ! 238: dump 0f - /usr | (cd /mnt; restore xf -) ! 239: .TP 5n ! 240: .B y ! 241: .I Restore ! 242: will not ask whether it should abort the restore if gets a tape error. ! 243: It will always try to skip over the bad tape block(s) and continue as ! 244: best it can. ! 245: .TP 5n ! 246: .B m ! 247: .I Restore ! 248: will extract by inode numbers rather than by file name. ! 249: This is useful if only a few files are being extracted, ! 250: and one wants to avoid regenerating the complete pathname ! 251: to the file. ! 252: .TP 5n ! 253: .B h ! 254: .I Restore ! 255: extracts the actual directory, ! 256: rather than the files that it references. ! 257: This prevents hierarchical restoration of complete subtrees ! 258: from the tape. ! 259: .SH DIAGNOSTICS ! 260: Complaints about bad key characters. ! 261: .PP ! 262: Complaints if it gets a read error. ! 263: If ! 264: .B y ! 265: has been specified, or the user responds ``y'', ! 266: .I restore ! 267: will attempt to continue the restore. ! 268: .PP ! 269: If the dump extends over more than one tape, ! 270: .I restore ! 271: will ask the user to change tapes. ! 272: If the ! 273: .B x ! 274: or ! 275: .B i ! 276: key has been specified, ! 277: .I restore ! 278: will also ask which volume the user wishes to mount. ! 279: The fastest way to extract a few files is to ! 280: start with the last volume, and work towards the first volume. ! 281: .PP ! 282: There are numerous consistency checks that can be listed by ! 283: .IR restore . ! 284: Most checks are self-explanatory or can ``never happen''. ! 285: Common errors are given below. ! 286: .IP "Converting to new file system format." 5n ! 287: .br ! 288: A dump tape created from the old file system has been loaded. ! 289: It is automatically converted to the new file system format. ! 290: .IP "<filename>: not found on tape" 5n ! 291: .br ! 292: The specified file name was listed in the tape directory, ! 293: but was not found on the tape. ! 294: This is caused by tape read errors while looking for the file, ! 295: and from using a dump tape created on an active file system. ! 296: .IP "expected next file <inumber>, got <inumber>" 5n ! 297: .br ! 298: A file that was not listed in the directory showed up. ! 299: This can occur when using a dump tape created on an active file system. ! 300: .IP "Incremental tape too low" 5n ! 301: .br ! 302: When doing incremental restore, ! 303: a tape that was written before the previous incremental tape, ! 304: or that has too low an incremental level has been loaded. ! 305: .IP "Incremental tape too high" 5n ! 306: .br ! 307: When doing incremental restore, ! 308: a tape that does not begin its coverage where the previous incremental ! 309: tape left off, ! 310: or that has too high an incremental level has been loaded. ! 311: .IP "Tape read error while restoring <filename>" 5n ! 312: .ti -5n ! 313: .br ! 314: Tape read error while skipping over inode <inumber> ! 315: .ti -5n ! 316: .br ! 317: Tape read error while trying to resynchronize ! 318: .br ! 319: A tape read error has occurred. ! 320: If a file name is specified, ! 321: then its contents are probably partially wrong. ! 322: If an inode is being skipped or the tape is trying to resynchronize, ! 323: then no extracted files have been corrupted, ! 324: though files may not be found on the tape. ! 325: .IP "resync restore, skipped <num> blocks" 5n ! 326: .br ! 327: After a tape read error, ! 328: .I restore ! 329: may have to resynchronize itself. ! 330: This message lists the number of blocks that were skipped over. ! 331: .SH FILES ! 332: /dev/rcy? the default tape drive ! 333: .br ! 334: /tmp/rstdir* file containing directories on the tape. ! 335: .br ! 336: /tmp/rstmode* owner, mode, and time stamps for directories. ! 337: .br ! 338: \&./restoresymtab information passed between incremental restores. ! 339: .SH SEE ALSO ! 340: rrestore(8C), dump(8), newfs(8), mount(8), mkfs(8) ! 341: .SH BUGS ! 342: .I Restore ! 343: can get confused when doing incremental restores from ! 344: dump tapes that were made on active file systems. ! 345: .PP ! 346: A level zero dump must be done after a full restore. ! 347: Because restore runs in user code, ! 348: it has no control over inode allocation; ! 349: thus a full restore must be done to get a new set of directories ! 350: reflecting the new inode numbering, ! 351: even though the contents of the files is unchanged.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.