.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "RESTOREVOL 1" .TH RESTOREVOL 1 "2023-12-24" "OpenAFS" "AFS Command Reference" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" restorevol \- Restore a volume from vos dump to the local file system .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBrestorevol\fR [\fB\-file\fR\ <\fIdump\ file\fR>] [\fB\-dir\fR\ <\fIrestore\ dir\fR>\ ] [\fB\-extension\fR\ <\fIname\ extension\fR>] [\fB\-mountpoint\fR\ <\fImount\ point\ root\fR>] [\fB\-umask\fR\ <\fImode\ mask\fR>] [\fB\-help\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBrestorevol\fR takes an \s-1AFS\s0 volume in the format produced by \fBvos dump\fR and restores it to the local file system. Normally, the contents of a volume are maintained by the \s-1AFS\s0 File Server in an opaque format and copying a volume's raw data does not make it easily accessible. This utility will produce a directory tree that is equivalent to that seen via an \s-1AFS\s0 client, but without preserving the AFS-specific Access Control Lists (ACLs). It's primary use is to recover data from a volume dump or backup and make it available via a filesystem other than \s-1AFS.\s0 .PP The dump output will read from standard input, or from a file if \fB\-file\fR is specified. .PP The restore process is as follows: .IP "1." 4 The dump file will be restored within the current directory or that specified with \fB\-dir\fR. .IP "2." 4 Within this directory, a subdir is created. It's name is the \s-1RW\s0 volume name that was dumped. An extension can be appended to this directory name with \fB\-extension\fR. .IP "3." 4 All mountpoints will appear as symbolic links to the volume name. The path name to the volume will be either that in \fB\-mountpoint\fR, or \fB\-dir\fR. Symbolic links remain untouched. .IP "4." 4 You can change your umask during the restore with \fB\-umask\fR. Otherwise, \&\fBrestorevol\fR uses your current umask. Mode bits for directories are 0777 (then \s-1AND\s0'ed with the umask). Mode bits for files are the owner mode bits duplicated accross group and user (then \s-1AND\s0'ed with the umask). .IP "5." 4 For restores of full dumps, if a directory says it has a file and the file is not found, then a symbolic link \fIAFSFile\-<#>\fR will appear in that restored tree. Restores of incremental dumps remove all these files at the end (expensive because it is a tree search). .IP "6." 4 If a file or directory was found in the dump but found not to be connected to the hierarchical tree, then the file or directory will be connected at the root of the tree as \fI_\|_ORPHANEDIR_\|_.<#>\fR or \fI_\|_ORPHANFILE_\|_.<#>\fR. .IP "7." 4 ACLs are not restored. .SH "CAUTIONS" .IX Header "CAUTIONS" Normally, use \fBvos_restore\fR\|(1) instead of this command. \fBrestorevol\fR is a tool of last resort to try to extract data from the data structures stored in a volume dumpfile and is not as regularly tested or used as the normal \fBvos_restore\fR\|(1) implementation. Using \fBrestorevol\fR bypasses checks done by the \fBfileserver\fR\|(8) and \fBsalvager\fR\|(8). .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-file\fR <\fIdump file\fR>" 4 .IX Item "-file " Specifies the volume dump file to be read and restored to the local filesystem. If this option is not given, the volume dump will be read from standard input. .IP "\fB\-dir\fR <\fIrestore dir\fR>" 4 .IX Item "-dir " Names the directory in which to create the restored filesystem. The current directory is used by default. Note that any mountpoints inside the volume will point to the same directory unless the \fB\-mountpoint\fR option is also specified. .IP "\fB\-extension\fR <\fIname extension\fR>" 4 .IX Item "-extension " By default, the name of the directory created matches the \s-1RW\s0 volume name of the volume in the dump file. If this option is used, the directory name will be the \s-1RW\s0 volume name \fIname extension\fR as the suffix. .IP "\fB\-mountpoint\fR <\fImount point root\fR>" 4 .IX Item "-mountpoint " By default, mountpoints inside the volume being restored point to the value given by \fI\-dir\fR. This option allows mountpoints to be resolved relative to another path. A common use for this would be to specify a path under \fI/afs\fR as the mount point root so that mountpoints inside the restored volume would be resolved via \s-1AFS.\s0 .Sp The \fImount point root\fR must exist, and the process running the command have read access to that directory, or the command will fail. .IP "\fB\-umask\fR <\fImode mask\fR>" 4 .IX Item "-umask " Sets the umask while creating files. If not specified, the current process umask is used. All directories are created with mode \f(CW0777\fR (ANDed with the umask), and files are created with the owner, group, and user mode bits set to the owner mode bits of the relevant \s-1AFS\s0 file (ANDed with the umask). .IP "\fB\-help\fR" 4 .IX Item "-help" Prints the online help for this command. All other valid options are ignored. .SH "EXAMPLES" .IX Header "EXAMPLES" The following command restores the contents of the dumpfile in \&\fIsample.dump\fR to the directory \fI/tmp/sample.2009\-05\-17\fR, but having all mountpoints inside the volume point to \s-1AFS\s0 (note that this requires knowledge of where \fIsample\fR is mounted in \s-1AFS\s0): .PP .Vb 3 \& % restorevol \-file sample.dump \-dir /tmp \-extension .2009\-05\-17 \e \& \-mountpoint /afs/example.com/sample \& Restoring volume dump of \*(Aqsample\*(Aq to directory \*(Aq/tmp/sample.2009\-05\-17\*(Aq .Ve .SH "PRIVILEGE REQUIRED" .IX Header "PRIVILEGE REQUIRED" The issuer must have read access to the dump file and write access to the directory into which the dump is restored. If the \fB\-mountpoint\fR flag is given, the issuer must also have read access to that directory. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBsalvager\fR\|(8), \&\fBvoldump\fR\|(8), \&\fBvos_dump\fR\|(1), \&\fBvos_restore\fR\|(1) .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2009 Steven Jenkins .PP This documentation is covered by the \s-1BSD\s0 License as written in the doc/LICENSE file. This man page was written by Steven Jenkins for OpenAFS.