New option -for_backup as shortcut for -acl -xattr -hardlinks

This commit is contained in:
Thomas Schmitt 2009-05-29 11:08:18 +00:00
parent 6a2446f729
commit 0555a47662
4 changed files with 67 additions and 26 deletions

View File

@ -2,7 +2,7 @@
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "May 26, 2009" .TH XORRISO 1 "May 29, 2009"
.\" Please adjust this date whenever revising the manpage. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" Some roff macros, for reference:
@ -683,7 +683,7 @@ Whether these numbers are respected at mount time depends on the operating
system. system.
.br .br
xorriso commands which extract files from an ISO image try to restore files xorriso commands which extract files from an ISO image try to restore files
with the same inode number as hardlinks. This applies only to files which with the same inode number as hard links. This applies only to files which
get extracted during execution of that same command. A large number of get extracted during execution of that same command. A large number of
hardlink families may exhaust -temp_mem_limit if not -osirrox option hardlink families may exhaust -temp_mem_limit if not -osirrox option
"sort_lba_on" is in effect. "sort_lba_on" is in effect.
@ -706,6 +706,11 @@ Enable or disable processing of xattr attributes in user namespace.
If enabled, then xorriso will handle xattr similar to ACL. If enabled, then xorriso will handle xattr similar to ACL.
See also options -getfattr, -setfattr and above paragraph about xattr. See also options -getfattr, -setfattr and above paragraph about xattr.
.TP .TP
\fB\-for_backup\fR
Enable all extra features which help to produce or to restore backups with
highest fidelity of file properties.
Currently this is a shortcut for: -hardlinks on -acl on -xattr on .
.TP
\fB\-disk_dev_ino\fR "on"|"ino_only"|"off" \fB\-disk_dev_ino\fR "on"|"ino_only"|"off"
Enable or disable processing of recorded file identification numbers Enable or disable processing of recorded file identification numbers
(dev_t and ino_t). They are eventually stored as xattr and allow (dev_t and ino_t). They are eventually stored as xattr and allow
@ -2622,7 +2627,7 @@ are owned by the effective user who runs xorriso. This happens by temporarily
granting rwx permission to the owner. granting rwx permission to the owner.
.br .br
Option "sort_lba_on" may improve read performance with optical drives. It Option "sort_lba_on" may improve read performance with optical drives. It
allows to restore large numbers of hardlinks without exhausting allows to restore large numbers of hard links without exhausting
-temp_mem_limit. It does not preserve directory mtime and it needs -temp_mem_limit. It does not preserve directory mtime and it needs
-osirrox option auto_chmod_on in order to extract directories which offer no -osirrox option auto_chmod_on in order to extract directories which offer no
write permission. Default is "sort_lba_off". write permission. Default is "sort_lba_off".
@ -2750,7 +2755,8 @@ arguments or if other start arguments pointed the output drive to
standard output. standard output.
.br .br
Not original mkisofs options are --quoted_path_list (see -quoted_path_list), Not original mkisofs options are --quoted_path_list (see -quoted_path_list),
isolinux_mbr= (see -boot_image isolinux isohybrid=), --acl (see -acl "on"), isolinux_mbr= (see -boot_image isolinux isohybrid=),
--hardlinks (see -hardlinks "on") --acl (see -acl "on"),
--xattr (see -xattr "on"). --xattr (see -xattr "on").
.br .br
Personalites "\fBxorrisofs\fR", "\fBgenisoimage\fR", and "\fBgenisofs\fR" Personalites "\fBxorrisofs\fR", "\fBgenisoimage\fR", and "\fBgenisofs\fR"
@ -2904,7 +2910,7 @@ Mode "on" is
\fB\-temp_mem_limit\fR number["k"|"m"] \fB\-temp_mem_limit\fR number["k"|"m"]
Set the maximum size of temporary memory to be used for image dependent Set the maximum size of temporary memory to be used for image dependent
buffering. Currently this applies to pattern expansion, LBA sorting, buffering. Currently this applies to pattern expansion, LBA sorting,
restoring of hardlinks. restoring of hard links.
.br .br
Default is 16m = 16 MiB, minimum 64k = 64 kiB, maximum 1024m = 1 GiB. Default is 16m = 16 MiB, minimum 64k = 64 kiB, maximum 1024m = 1 GiB.
.TP .TP
@ -3325,14 +3331,14 @@ in the ISO image so that they become exact copies of their disk counterparts.
ISO file objects get created, deleted or get their attributes adjusted ISO file objects get created, deleted or get their attributes adjusted
accordingly. accordingly.
.br .br
ACL and xattr will be recorded. Accelerated comparison is enabled at the ACL, xattr and hard links will be recorded. Accelerated comparison is enabled
expense of potentially larger backup size. at the expense of potentially larger backup size.
Only media with the expected volume id or blank media are accepted. Only media with the expected volume id or blank media are accepted.
Files with names matching *.o or *.swp get excluded explicitely. Files with names matching *.o or *.swp get excluded explicitely.
.br .br
\fB$\fR xorriso \\ \fB$\fR xorriso \\
.br .br
-acl on -xattr on -disk_dev_ino on \\ -for_backup -disk_dev_ino on \\
.br .br
-assert_volid 'PROJECTS_MAIL_*' FATAL \\ -assert_volid 'PROJECTS_MAIL_*' FATAL \\
.br .br
@ -3402,9 +3408,10 @@ First check which backup sessions are on the media:
\fB$\fR xorriso -outdev /dev/sr0 -toc \fB$\fR xorriso -outdev /dev/sr0 -toc
.br .br
Then load the desired session and copy the file trees to disk. Then load the desired session and copy the file trees to disk.
Enable restoring of ACL, xattr and hard links.
Avoid to eventually create /home/thomas/restored without rwx-permission. Avoid to eventually create /home/thomas/restored without rwx-permission.
.br .br
\fB$\fR xorriso -acl on -xattr on \\ \fB$\fR xorriso -for_backup \\
.br .br
-load volid 'PROJECTS_MAIL_2008_06_19*' \\ -load volid 'PROJECTS_MAIL_2008_06_19*' \\
.br .br

View File

@ -10730,9 +10730,9 @@ int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv,
"\t-isosize\tUse iso9660 file system size for next data track", "\t-isosize\tUse iso9660 file system size for next data track",
"\t-pad\t\tpadsize=30k", "\t-pad\t\tpadsize=30k",
"\t-nopad\t\tDo not pad", "\t-nopad\t\tDo not pad",
"\t--grow_overwriteable_iso\temulate multi-session on DVD+RW", "\t--grow_overwriteable_iso\temulate multi-session on DVD+RW, BD-RE",
"\twrite_start_address=#\t\twrite to given byte address on DVD+RW", "\twrite_start_address=#\t\twrite to byte address on DVD+RW, BD-RE",
"\tstream_recording=on\t\ttry to get full speed DVD-RAM and BD-RE", "\tstream_recording=on\t\ttry to get full speed on DVD-RAM, BD",
"\t-help\t\tprint this text to stderr and exit emulation", "\t-help\t\tprint this text to stderr and exit emulation",
"Actually this is the integrated ISO RockRidge filesystem manipulator xorriso", "Actually this is the integrated ISO RockRidge filesystem manipulator xorriso",
"lending its libburn capabilities to a very limited cdrecord emulation. Only", "lending its libburn capabilities to a very limited cdrecord emulation. Only",
@ -11155,6 +11155,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
" -print-size Print estimated filesystem size and exit", " -print-size Print estimated filesystem size and exit",
" -quiet Run quietly", " -quiet Run quietly",
" -R, -rock Generate Rock Ridge directory information", " -R, -rock Generate Rock Ridge directory information",
" --hardlinks Record eventual hard link relations of files",
" --acl Record eventual ACLs of files", " --acl Record eventual ACLs of files",
" --xattr Record eventual user space xattr of files", " --xattr Record eventual user space xattr of files",
" -V ID, -volid ID Set Volume ID", " -V ID, -volid ID Set Volume ID",
@ -11312,6 +11313,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
ret= Xorriso_option_charset(xorriso, argv[i], 3); ret= Xorriso_option_charset(xorriso, argv[i], 3);
if(ret <= 0) if(ret <= 0)
goto problem_handler_1; goto problem_handler_1;
} else if(strcmp(argv[i], "--hardlinks")==0) {
Xorriso_option_hardlinks(xorriso, "on", 0);
} else if(strcmp(argv[i], "--acl")==0) { } else if(strcmp(argv[i], "--acl")==0) {
Xorriso_option_acl(xorriso, "on", 0); Xorriso_option_acl(xorriso, "on", 0);
} else if(strcmp(argv[i], "--xattr")==0) { } else if(strcmp(argv[i], "--xattr")==0) {
@ -11523,6 +11526,8 @@ not_enough_args:;
} else if(strcmp(argv[i], "-output-charset")==0) { } else if(strcmp(argv[i], "-output-charset")==0) {
i++; i++;
/* was already handled in first argument scan */; /* was already handled in first argument scan */;
} else if(strcmp(argv[i], "--hardlinks")==0) {
/* was already handled in first argument scan */;
} else if(strcmp(argv[i], "--acl")==0) { } else if(strcmp(argv[i], "--acl")==0) {
/* was already handled in first argument scan */; /* was already handled in first argument scan */;
} else if(strcmp(argv[i], "--xattr")==0) { } else if(strcmp(argv[i], "--xattr")==0) {
@ -15660,11 +15665,13 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -local_charset name", " -local_charset name",
" Override system assumption of the local character set name.", " Override system assumption of the local character set name.",
" -hardlinks \"on\"|\"off\"", " -hardlinks \"on\"|\"off\"",
" Enable resp. disable recording and restoring of hardlinks.", " Enable resp. disable recording and restoring of hard links.",
" -acl \"on\"|\"off\"", " -acl \"on\"|\"off\"",
" Enable resp. disable reading and writing of ACLs.", " Enable resp. disable reading and writing of ACLs.",
" -xattr \"on\"|\"off\"", " -xattr \"on\"|\"off\"",
" Enable resp. disable reading and writing of xattr.", " Enable resp. disable reading and writing of xattr.",
" -for_backup",
" Shortcut for: -hardlinks on -acl on -xattr on",
" -disk_dev_ino \"on\"|\"ino_only\"|\"off\"", " -disk_dev_ino \"on\"|\"ino_only\"|\"off\"",
" Enable resp. disable recording of disk file dev_t and ino_t", " Enable resp. disable recording of disk file dev_t and ino_t",
" and their use in file comparison.", " and their use in file comparison.",
@ -15673,7 +15680,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -blank \"fast\"|\"all\"|\"deformat\"|\"deformat_quickest\"", " -blank \"fast\"|\"all\"|\"deformat\"|\"deformat_quickest\"",
" Blank media resp. invalidate ISO image on media.", " Blank media resp. invalidate ISO image on media.",
" -format \"as_needed\"|\"full\"|\"fast\"|\"by_index_#\"|\"by_size_#\"", " -format \"as_needed\"|\"full\"|\"fast\"|\"by_index_#\"|\"by_size_#\"",
" Format BD-RE, DVD-RAM, DVD-RW, DVD+RW.", " Format BD-RE, BD-R, DVD-RAM, DVD-RW, DVD+RW.",
" -volid volume_id", " -volid volume_id",
" Specifies the volume ID text. (32 chars out of [A-Z0-9_])", " Specifies the volume ID text. (32 chars out of [A-Z0-9_])",
" -publisher name", " -publisher name",
@ -15904,7 +15911,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -speed number[\"k/s\"|\"m/s\"|\"[x]CD\"|\"[x]DVD\"|\"[x]BD\"]", " -speed number[\"k/s\"|\"m/s\"|\"[x]CD\"|\"[x]DVD\"|\"[x]BD\"]",
" Set the burn speed. Default is 0 = maximum speed.", " Set the burn speed. Default is 0 = maximum speed.",
" -stream_recording \"on\"|\"off\"", " -stream_recording \"on\"|\"off\"",
" Try to circumvent slow checkread on DVD-RAM and BD-RE.", " Try to circumvent slow checkread on DVD-RAM, BD-RE, BD-R.",
" -fs number[\"k\"|\"m\"]", " -fs number[\"k\"|\"m\"]",
" Set the size of the fifo buffer. (Default is 4m)", " Set the size of the fifo buffer. (Default is 4m)",
" -eject \"in\"|\"out\"|\"all\"", " -eject \"in\"|\"out\"|\"all\"",
@ -18780,7 +18787,8 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
int ret, was_dashed= 0, i; int ret, was_dashed= 0, i;
char *cmd, cmd_data[2*SfileadrL]; char *cmd, cmd_data[2*SfileadrL];
static char arg0_commands[][40]= { static char arg0_commands[][40]= {
"ban_stdio_write","close_filter_list","commit","devices","end","help", "ban_stdio_write","close_filter_list","commit","devices","end",
"for_backup", "help",
"list_formats","no_rc","print_size","pwd","pwdi","pwdx", "list_formats","no_rc","print_size","pwd","pwdi","pwdx",
"rollback","rollback_end","tell_media_space","toc","version", "rollback","rollback_end","tell_media_space","toc","version",
"" ""
@ -19185,6 +19193,13 @@ next_command:;
(*idx)++; (*idx)++;
ret= Xorriso_option_follow(xorriso, arg1, 0); ret= Xorriso_option_follow(xorriso, arg1, 0);
} else if(strcmp(cmd,"for_backup")==0) {
ret= Xorriso_option_hardlinks(xorriso, "on", 0);
if(ret > 0)
ret= Xorriso_option_acl(xorriso, "on", 0);
if(ret > 0)
ret= Xorriso_option_xattr(xorriso, "on", 0);
} else if(strcmp(cmd,"format")==0) { } else if(strcmp(cmd,"format")==0) {
(*idx)++; (*idx)++;
ret= Xorriso_option_blank(xorriso, arg1, 1); ret= Xorriso_option_blank(xorriso, arg1, 1);

View File

@ -238,16 +238,21 @@ Important: -indev and -outdev have to be different drives.
</DT> </DT>
<DT>Dialog mode accepts one or more options per line. An option and all its <DT>Dialog mode accepts one or more options per line. An option and all its
arguments have to be given in one single line. Command -end stops the program arguments have to be given in one single line. Backslash may be used to mark
run. It will write eventually pending changes to media, if that has not a line as incomplete so it gets continued by the next input line.
already been done by a previous -commit.</DT> <BR>
Command -end stops the program run. It will write eventually pending changes
to media, if that has not already been done by a previous -commit.</DT>
<DD>$<KBD>&nbsp;xorriso -dialog on</KBD></DD> <DD>$<KBD>&nbsp;xorriso -dialog on</KBD></DD>
<DD><KBD>enter option and arguments :</KBD></DD> <DD><KBD>enter option and arguments :</KBD></DD>
<DD><KBD><B>-dev /dev/sr0</B></KBD></DD> <DD><KBD><B>-dev /dev/sr0</B></KBD></DD>
<DD><KBD>enter option and arguments :</KBD></DD> <DD><KBD>enter option and arguments :</KBD></DD>
<DD><KBD><B>-map /home/me/prepared_for_dvd/sounds_dummy /sounds</B></KBD></DD> <DD><KBD><B>-map /home/me/prepared_for_dvd/sounds_dummy /sounds</B></KBD></DD>
<DD><KBD>enter option and arguments :</KBD></DD> <DD><KBD>enter option and arguments :</KBD></DD>
<DD><KBD><B>-map /home/me/prepared_for_dvd/movies /movies</B></KBD></DD> <DD><KBD><B>-map /home/me/prepared_for_dvd/movies \</B></KBD></DD>
<DD><KBD>Trailing backslash : Enter rest of line (or @@@ to clear it) :
</KBD></DD>
<DD><KBD><B> /movies</B></KBD></DD>
<DD>Available navigation commands: -cd, -ls, -du, -find</DD> <DD>Available navigation commands: -cd, -ls, -du, -find</DD>
<DD><KBD>enter option and arguments :</KBD></DD> <DD><KBD>enter option and arguments :</KBD></DD>
<DD><KBD><B>-commit</B></KBD></DD> <DD><KBD><B>-commit</B></KBD></DD>
@ -285,7 +290,7 @@ Files with names ending by ".o" or ".swp" are excluded by options -not_leaf.
To apply zisofs compression to those data files which get newly copied from To apply zisofs compression to those data files which get newly copied from
the local filesystem, perform immediately before -commit : the local filesystem, perform immediately before -commit :
<DD> <DD>
<KBD>&nbsp;&nbsp; -find / -type f -lba_range -1 2000000000 -exec set_filter --zisofs -- \</KBD></DD> <KBD>&nbsp;&nbsp; -find / -type f -pending_data -exec set_filter --zisofs -- \</KBD></DD>
</DD> </DD>
</DT> </DT>
@ -353,7 +358,11 @@ Be cautious not to overwrite your hard disk instead of your USB stick:
<DT>In batch mode it is possible to operate xorriso in a pipeline <DT>In batch mode it is possible to operate xorriso in a pipeline
with an external consumer of the generated ISO image. Any message with an external consumer of the generated ISO image. Any message
output will be redirected to stderr in this case.</DT> output will be redirected to stderr in this case.
Examples for consumers are cdrecord or growisofs on operating systems
where xorriso cannot operate the burner drive directly,
or a ssh pipe to another system which has the desired drive
and a suitable burn program.</DT>
<DD>$<KBD>&nbsp;xorriso -outdev - ...other.options... | consumer</KBD></DD> <DD>$<KBD>&nbsp;xorriso -outdev - ...other.options... | consumer</KBD></DD>
@ -412,6 +421,7 @@ files or trees to disk:
<DD><A HREF="xorriso-0.3.8.pl00.tar.gz">xorriso-0.3.8.pl00.tar.gz</A> <DD><A HREF="xorriso-0.3.8.pl00.tar.gz">xorriso-0.3.8.pl00.tar.gz</A>
(1220 KB). (1220 KB).
</DD> </DD>
<DD>(Released 19 Apr 2009)</DD>
</DL> </DL>
</DD> </DD>
</DL> </DL>
@ -503,14 +513,23 @@ cdrecord and mkisofs.</DT>
<DT><H3>Development snapshot, version 0.3.9 :</H3></DT> <DT><H3>Development snapshot, version 0.3.9 :</H3></DT>
<DD>Bug fixes towards xorriso-0.3.8.pl00: <DD>Bug fixes towards xorriso-0.3.8.pl00:
<UL> <UL>
<LI>- none yet -</LI> <LI>SIGSEGV by dereferencing NULL with option -status and no search string</LI>
<LI>-load volid did not perform pattern search</LI>
<!-- <!--
<LI>- none yet -</LI>
--> -->
</UL> </UL>
</DD> </DD>
<DD>Enhancements towards stable version 0.3.8.pl00: <DD>Enhancements towards stable version 0.3.8.pl00:
<UL> <UL>
<LI>Operators with option -find : -not, -or, -and, brackets, -if, -then, -else</LI> <LI>New option -hardlinks for recording and restoring of hard link relations
</LI>
<LI>New option -for_backup as shortcut for -acl -xattr -hardlinks
</LI>
<LI>Improved read performance with -update_r and -extract
</LI>
<LI>Operators with option -find : -not, -or, -and, (, ), -if, -then, -else</LI>
<LI>New -find tests -wholename, -prune, -sort_lba</LI>
<!-- <!--
<LI>- none yet -</LI> <LI>- none yet -</LI>
--> -->
@ -530,7 +549,7 @@ installation see README)
</DD> </DD>
<DD> <DD>
<A HREF="xorriso-0.3.9.tar.gz">xorriso-0.3.9.tar.gz</A> <A HREF="xorriso-0.3.9.tar.gz">xorriso-0.3.9.tar.gz</A>
(1220 KB). (1250 KB).
</DD> </DD>
<DT>A dynamically linked development version of xorriso can be obtained <DT>A dynamically linked development version of xorriso can be obtained
from repositories of from repositories of

View File

@ -1 +1 @@
#define Xorriso_timestamP "2009.05.26.142912" #define Xorriso_timestamP "2009.05.29.110831"