New -xattr mode "any" to process all xattr namespaces of local filesystem
This commit is contained in:
parent
25e24911d9
commit
cbc5dbf496
@ -325,8 +325,11 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, char *show_adr,
|
|||||||
aquire_flag|= 512;
|
aquire_flag|= 512;
|
||||||
if(!(xorriso->do_aaip & 1))
|
if(!(xorriso->do_aaip & 1))
|
||||||
aquire_flag|= 32;
|
aquire_flag|= 32;
|
||||||
if((xorriso->ino_behavior & (1 | 2)) && !(xorriso->do_aaip & (4 | 32)))
|
if((xorriso->ino_behavior & (1 | 2)) && !(xorriso->do_aaip & (4 | 32))) {
|
||||||
aquire_flag|= 64;
|
aquire_flag|= 64;
|
||||||
|
} else if(xorriso->do_aaip & 1024) {
|
||||||
|
aquire_flag|= 1024;
|
||||||
|
}
|
||||||
if(flag & 128)
|
if(flag & 128)
|
||||||
aquire_flag|= 256;
|
aquire_flag|= 256;
|
||||||
burn_preset_device_open(xorriso->drives_exclusive |
|
burn_preset_device_open(xorriso->drives_exclusive |
|
||||||
|
@ -47,6 +47,8 @@ int Xorriso_set_ignore_aclea(struct XorrisO *xorriso, int flag)
|
|||||||
hflag= (~xorriso->do_aaip) & 1;
|
hflag= (~xorriso->do_aaip) & 1;
|
||||||
if((xorriso->ino_behavior & (1 | 2)) && !(xorriso->do_aaip & (4 | 16)))
|
if((xorriso->ino_behavior & (1 | 2)) && !(xorriso->do_aaip & (4 | 16)))
|
||||||
hflag|= 2;
|
hflag|= 2;
|
||||||
|
if(xorriso->do_aaip & 1024)
|
||||||
|
hflag|= 8;
|
||||||
iso_image_set_ignore_aclea(volume, hflag);
|
iso_image_set_ignore_aclea(volume, hflag);
|
||||||
return(1);
|
return(1);
|
||||||
}
|
}
|
||||||
|
@ -1778,12 +1778,12 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
|||||||
" \"cheap_sorted_extract\", \"normal_extract\"",
|
" \"cheap_sorted_extract\", \"normal_extract\"",
|
||||||
" -acl \"on\"|\"off\"",
|
" -acl \"on\"|\"off\"",
|
||||||
" Enable or disable reading and writing of ACLs.",
|
" Enable or disable reading and writing of ACLs.",
|
||||||
" -xattr \"on\"|\"off\"",
|
" -xattr \"on\"|\"user\"|\"any\"|\"off\"",
|
||||||
" Enable or disable reading and writing of xattr.",
|
" Enable or disable reading and writing of xattr.",
|
||||||
" -md5 \"on\"|\"all\"|\"off\"",
|
" -md5 \"on\"|\"all\"|\"off\"",
|
||||||
" Enable or disable processing of MD5 checksums.",
|
" Enable or disable processing of MD5 checksums.",
|
||||||
" -for_backup",
|
" -for_backup",
|
||||||
" Shortcut for: -hardlinks on -acl on -xattr on -md5 on",
|
" Shortcut for: -hardlinks on -acl on -xattr any -md5 on",
|
||||||
" -ecma119_map \"unmapped\"|\"stripped\"|\"uppercase\"|\"lowercase\"",
|
" -ecma119_map \"unmapped\"|\"stripped\"|\"uppercase\"|\"lowercase\"",
|
||||||
" Choose conversion of file names if neither Rock Ridge",
|
" Choose conversion of file names if neither Rock Ridge",
|
||||||
" nor Joliet is present in the loaded ISO session.",
|
" nor Joliet is present in the loaded ISO session.",
|
||||||
|
@ -2189,10 +2189,13 @@ int Xorriso_option_xattr(struct XorrisO *xorriso, char *mode, int flag)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
xorriso->do_aaip&= ~(4 | 8 | 1024);
|
||||||
if(strcmp(mode, "off")==0)
|
if(strcmp(mode, "off")==0)
|
||||||
xorriso->do_aaip&= ~12;
|
;
|
||||||
else if(strcmp(mode, "on")==0)
|
else if(strcmp(mode, "on") == 0 || strcmp(mode, "user") == 0)
|
||||||
xorriso->do_aaip|= (4 | 8);
|
xorriso->do_aaip|= (4 | 8);
|
||||||
|
else if(strcmp(mode, "any")==0)
|
||||||
|
xorriso->do_aaip|= (4 | 8 | 1024);
|
||||||
else {
|
else {
|
||||||
sprintf(xorriso->info_text, "-xattr: unknown mode '%s'", mode);
|
sprintf(xorriso->info_text, "-xattr: unknown mode '%s'", mode);
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
||||||
|
|
||||||
Copyright 2007-2016 Thomas Schmitt, <scdbackup@gmx.net>
|
Copyright 2007-2017 Thomas Schmitt, <scdbackup@gmx.net>
|
||||||
|
|
||||||
Provided under GPL version 2 or later.
|
Provided under GPL version 2 or later.
|
||||||
|
|
||||||
@ -1346,7 +1346,7 @@ next_command:;
|
|||||||
} else if(strcmp(cmd,"for_backup")==0) {
|
} else if(strcmp(cmd,"for_backup")==0) {
|
||||||
Xorriso_option_hardlinks(xorriso, "on", 0);
|
Xorriso_option_hardlinks(xorriso, "on", 0);
|
||||||
Xorriso_option_acl(xorriso, "on", 0);
|
Xorriso_option_acl(xorriso, "on", 0);
|
||||||
Xorriso_option_xattr(xorriso, "on", 0);
|
Xorriso_option_xattr(xorriso, "any", 0);
|
||||||
Xorriso_option_md5(xorriso, "on", 0);
|
Xorriso_option_md5(xorriso, "on", 0);
|
||||||
ret= 1;
|
ret= 1;
|
||||||
|
|
||||||
|
@ -309,14 +309,15 @@ ex:;
|
|||||||
int Xorriso_restore_properties(struct XorrisO *xorriso, char *disk_path,
|
int Xorriso_restore_properties(struct XorrisO *xorriso, char *disk_path,
|
||||||
IsoNode *node, int flag)
|
IsoNode *node, int flag)
|
||||||
{
|
{
|
||||||
int ret, is_dir= 0, errno_copy= 0;
|
int ret, is_dir= 0, errno_copy= 0, local_attrs_set= 0, i, err_count;
|
||||||
mode_t mode;
|
mode_t mode;
|
||||||
uid_t uid;
|
uid_t uid, disk_uid;
|
||||||
gid_t gid;
|
gid_t gid, disk_gid;
|
||||||
struct utimbuf utime_buffer;
|
struct utimbuf utime_buffer;
|
||||||
struct stat stbuf;
|
struct stat stbuf;
|
||||||
size_t num_attrs= 0, *value_lengths= NULL;
|
size_t num_attrs= 0, *value_lengths= NULL;
|
||||||
char **names= NULL, **values= NULL;
|
char **names= NULL, **values= NULL;
|
||||||
|
int *errnos= NULL;
|
||||||
|
|
||||||
ret= lstat(disk_path, &stbuf);
|
ret= lstat(disk_path, &stbuf);
|
||||||
if(ret==-1) {
|
if(ret==-1) {
|
||||||
@ -326,7 +327,8 @@ int Xorriso_restore_properties(struct XorrisO *xorriso, char *disk_path,
|
|||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
|
||||||
{ret= 0; goto ex;}
|
{ret= 0; goto ex;}
|
||||||
}
|
}
|
||||||
uid= stbuf.st_uid;
|
disk_uid= uid= stbuf.st_uid;
|
||||||
|
disk_gid= stbuf.st_gid;
|
||||||
|
|
||||||
is_dir= S_ISDIR(stbuf.st_mode);
|
is_dir= S_ISDIR(stbuf.st_mode);
|
||||||
|
|
||||||
@ -342,22 +344,46 @@ int Xorriso_restore_properties(struct XorrisO *xorriso, char *disk_path,
|
|||||||
{ret= 0; goto ex;}
|
{ret= 0; goto ex;}
|
||||||
}
|
}
|
||||||
if(num_attrs > 0) {
|
if(num_attrs > 0) {
|
||||||
ret= iso_local_set_attrs(disk_path, num_attrs, names, value_lengths,
|
Xorriso_alloc_meM(errnos, int, num_attrs);
|
||||||
values, (!(xorriso->do_strict_acl & 1)) << 6);
|
ret= iso_local_set_attrs_errno(disk_path, num_attrs, names, value_lengths,
|
||||||
|
values, errnos,
|
||||||
|
((!(xorriso->do_strict_acl & 1)) << 6) |
|
||||||
|
((!!(xorriso->do_aaip & 1024)) << 3) );
|
||||||
if(ret < 0) {
|
if(ret < 0) {
|
||||||
|
cannot_set_xattr:;
|
||||||
errno_copy= errno;
|
errno_copy= errno;
|
||||||
if(ret != (int) ISO_AAIP_NO_SET_LOCAL)
|
if(ret != (int) ISO_AAIP_NO_SET_LOCAL)
|
||||||
errno_copy= 0;
|
errno_copy= 0;
|
||||||
Xorriso_report_iso_error(xorriso, "", ret,
|
Xorriso_report_iso_error(xorriso, "", ret,
|
||||||
"Error on iso_local_set_attrs",
|
"Error on iso_local_set_attrs",
|
||||||
0, "FAILURE", 1 | ((ret == -1)<<2) );
|
0, "FAILURE", 1 | ((ret == -1)<<2) );
|
||||||
sprintf(xorriso->info_text,
|
sprintf(xorriso->info_text, "Disk file ");
|
||||||
"Cannot change ACL or xattr of disk file ");
|
|
||||||
Text_shellsafe(disk_path, xorriso->info_text, 1);
|
Text_shellsafe(disk_path, xorriso->info_text, 1);
|
||||||
|
err_count= 0;
|
||||||
|
for(i= 0; (unsigned int) i < num_attrs; i++) {
|
||||||
|
if(errnos[i] == 0)
|
||||||
|
continue;
|
||||||
|
if(err_count >= 3) {
|
||||||
|
strcat(xorriso->info_text, " , and more");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
err_count++;
|
||||||
|
errno_copy= 0; /* Detail errno overrides final errno */
|
||||||
|
if(names[i][0] == 0)
|
||||||
|
sprintf(xorriso->info_text + strlen(xorriso->info_text), " , ACL ");
|
||||||
|
else
|
||||||
|
sprintf(xorriso->info_text + strlen(xorriso->info_text),
|
||||||
|
" , xattr %s ", names[i]);
|
||||||
|
if(errnos[i] < 0)
|
||||||
|
Text_shellsafe("Unknown error", xorriso->info_text, 1);
|
||||||
|
else
|
||||||
|
Text_shellsafe(strerror(errnos[i]), xorriso->info_text, 1);
|
||||||
|
}
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno_copy,
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno_copy,
|
||||||
"FAILURE",0);
|
"FAILURE",0);
|
||||||
{ret= 0; goto ex;}
|
{ret= 0; goto ex;}
|
||||||
}
|
}
|
||||||
|
local_attrs_set= 1;
|
||||||
}
|
}
|
||||||
Xorriso_process_msg_queues(xorriso,0);
|
Xorriso_process_msg_queues(xorriso,0);
|
||||||
}
|
}
|
||||||
@ -381,6 +407,7 @@ int Xorriso_restore_properties(struct XorrisO *xorriso, char *disk_path,
|
|||||||
}
|
}
|
||||||
ret= chmod(disk_path, mode);
|
ret= chmod(disk_path, mode);
|
||||||
if(ret==-1) {
|
if(ret==-1) {
|
||||||
|
cannot_set_perm:;
|
||||||
sprintf(xorriso->info_text,
|
sprintf(xorriso->info_text,
|
||||||
"Cannot change access permissions of disk file ");
|
"Cannot change access permissions of disk file ");
|
||||||
Text_shellsafe(disk_path, xorriso->info_text, 1);
|
Text_shellsafe(disk_path, xorriso->info_text, 1);
|
||||||
@ -391,10 +418,6 @@ int Xorriso_restore_properties(struct XorrisO *xorriso, char *disk_path,
|
|||||||
if(flag&1)
|
if(flag&1)
|
||||||
{ret= 1; goto ex;}
|
{ret= 1; goto ex;}
|
||||||
|
|
||||||
gid= iso_node_get_gid(node);
|
|
||||||
if(!(S_ISDIR(stbuf.st_mode) && (flag&2)))
|
|
||||||
uid= iso_node_get_uid(node);
|
|
||||||
ret= chown(disk_path, uid, gid); /* don't complain if it fails */
|
|
||||||
utime_buffer.actime= iso_node_get_atime(node);
|
utime_buffer.actime= iso_node_get_atime(node);
|
||||||
utime_buffer.modtime= iso_node_get_mtime(node);
|
utime_buffer.modtime= iso_node_get_mtime(node);
|
||||||
ret= utime(disk_path,&utime_buffer);
|
ret= utime(disk_path,&utime_buffer);
|
||||||
@ -405,9 +428,43 @@ int Xorriso_restore_properties(struct XorrisO *xorriso, char *disk_path,
|
|||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
|
||||||
{ret= 0; goto ex;}
|
{ret= 0; goto ex;}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gid= iso_node_get_gid(node);
|
||||||
|
if(!(S_ISDIR(stbuf.st_mode) && (flag&2)))
|
||||||
|
uid= iso_node_get_uid(node);
|
||||||
|
|
||||||
|
if(uid != disk_uid || gid != disk_gid) {
|
||||||
|
|
||||||
|
ret= chown(disk_path, uid, gid); /* don't complain if it fails */
|
||||||
|
|
||||||
|
/* Check whether xattr are still set and try to set them again if needed.
|
||||||
|
E.g. Linux 3.16 removes security.capability on chown(2).
|
||||||
|
*/
|
||||||
|
if(local_attrs_set && (xorriso->do_aaip & 1024)) {
|
||||||
|
ret= iso_local_set_attrs_errno(disk_path, num_attrs, names, value_lengths,
|
||||||
|
values, errnos,
|
||||||
|
1 | ((!!(xorriso->do_aaip & 1024)) << 3) |
|
||||||
|
128);
|
||||||
|
if(ret < 0)
|
||||||
|
goto cannot_set_xattr;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Check whether setuid or setgid bits got reset */
|
||||||
|
ret= lstat(disk_path, &stbuf);
|
||||||
|
if(ret != -1) {
|
||||||
|
if((mode ^ stbuf.st_mode) & (S_ISUID | S_ISGID)) {
|
||||||
|
ret= chmod(disk_path, mode);
|
||||||
|
if(ret==-1)
|
||||||
|
goto cannot_set_perm;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
ret= 1;
|
ret= 1;
|
||||||
ex:;
|
ex:;
|
||||||
iso_node_get_attrs(node, &num_attrs, &names, &value_lengths, &values,1 << 15);
|
iso_node_get_attrs(node, &num_attrs, &names, &value_lengths, &values,1 << 15);
|
||||||
|
if(errnos != NULL)
|
||||||
|
free(errnos);
|
||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3696,7 +3696,9 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
|
|||||||
if(!(is_default && no_defaults))
|
if(!(is_default && no_defaults))
|
||||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||||
is_default= ((xorriso->do_aaip & (2 | 8)) == 0);
|
is_default= ((xorriso->do_aaip & (2 | 8)) == 0);
|
||||||
sprintf(line,"-xattr %s\n", (xorriso->do_aaip & 4 ? "on" : "off"));
|
sprintf(line,"-xattr %s\n", (xorriso->do_aaip & 4 ?
|
||||||
|
xorriso->do_aaip & 1024 ? "any" : "on"
|
||||||
|
: "off"));
|
||||||
if(!(is_default && no_defaults))
|
if(!(is_default && no_defaults))
|
||||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||||
is_default= ((xorriso->do_aaip & (16 | 32 | 64)) == 0);
|
is_default= ((xorriso->do_aaip & (16 | 32 | 64)) == 0);
|
||||||
|
@ -1214,6 +1214,10 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
|||||||
if(ret<=0)
|
if(ret<=0)
|
||||||
goto ex;
|
goto ex;
|
||||||
}
|
}
|
||||||
|
if(iso_image_was_blind_attrs(image, 0))
|
||||||
|
Xorriso_msgs_submit(xorriso, 0,
|
||||||
|
"Some file xattr namespace could not be explored",
|
||||||
|
0, "WARNING", 0);
|
||||||
|
|
||||||
if(image!=NULL && 12+strlen(Xorriso_timestamP)<80) {
|
if(image!=NULL && 12+strlen(Xorriso_timestamP)<80) {
|
||||||
strcpy(xorriso_id, xorriso->preparer_id);
|
strcpy(xorriso_id, xorriso->preparer_id);
|
||||||
|
@ -9,7 +9,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 "Version 1.4.9, Sep 16, 2017"
|
.TH XORRISO 1 "Version 1.4.9, Oct 10, 2017"
|
||||||
.\" 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:
|
||||||
@ -464,9 +464,15 @@ only on GNU/Linux and FreeBSD.
|
|||||||
.PP
|
.PP
|
||||||
\fBxattr\fR (aka EA, or extattr)
|
\fBxattr\fR (aka EA, or extattr)
|
||||||
are pairs of name and value which can be attached to file objects. AAIP is
|
are pairs of name and value which can be attached to file objects. AAIP is
|
||||||
able to represent them and \fBxorriso\fR can record and restore pairs which
|
able to represent them and \fBxorriso\fR can record and restore them.
|
||||||
have names out of the user namespace. I.e. those which begin with "user.",
|
.br
|
||||||
like "user.x" or "user.whatever". Name has to be a 0 terminated string.
|
But be aware that pairs with names of non\-user namespaces are not necessarily
|
||||||
|
portable between operating systems and not even between filesystems.
|
||||||
|
I.e. only those which begin with "user.", like "user.x" or "user.whatever",
|
||||||
|
can unconditionally be expected to be appropriate on other machines and disks.
|
||||||
|
Processing of other xattr may need administrator privileges.
|
||||||
|
.br
|
||||||
|
Name has to be a 0 terminated string.
|
||||||
Value may be any array of bytes which does not exceed the size of 4095 bytes.
|
Value may be any array of bytes which does not exceed the size of 4095 bytes.
|
||||||
xattr processing happens only if it is enabled by command
|
xattr processing happens only if it is enabled by command
|
||||||
\fB\-xattr\fR.
|
\fB\-xattr\fR.
|
||||||
@ -930,10 +936,18 @@ load AAIP data from ISO images, test ACL during file comparison,
|
|||||||
and restore ACLs to disk files when extracting them from ISO images.
|
and restore ACLs to disk files when extracting them from ISO images.
|
||||||
See also commands \-getfacl, \-setfacl.
|
See also commands \-getfacl, \-setfacl.
|
||||||
.TP
|
.TP
|
||||||
\fB\-xattr\fR "on"|"off"
|
\fB\-xattr\fR "on"|"user"|"any"|"off"
|
||||||
Enable or disable processing of xattr attributes in user namespace.
|
Enable or disable processing of xattr attributes.
|
||||||
If enabled, then \fBxorriso\fR will handle xattr similar to ACL.
|
If enabled, then \fBxorriso\fR will handle xattr similar to ACL.
|
||||||
See also commands \-getfattr, \-setfattr and above paragraph about xattr.
|
See also commands \-getfattr, \-setfattr and above paragraph about xattr.
|
||||||
|
.br
|
||||||
|
Modes "on" and "user" read and write only attributes from namespace "user".
|
||||||
|
.br
|
||||||
|
Mode "any" processes attributes of all namespaces. This might need adminstrator
|
||||||
|
privileges, even if the owner of the disk file tries to read or write the
|
||||||
|
attributes.
|
||||||
|
.br
|
||||||
|
Note that xattr from namespace "isofs." are never restored to disk.
|
||||||
.TP
|
.TP
|
||||||
\fB\-md5\fR "on"|"all"|"off"|"load_check_off"
|
\fB\-md5\fR "on"|"all"|"off"|"load_check_off"
|
||||||
Enable or disable processing of MD5 checksums for the overall session and for
|
Enable or disable processing of MD5 checksums for the overall session and for
|
||||||
@ -970,8 +984,19 @@ actions get_md5, check_md5, and via \-check_media.
|
|||||||
.TP
|
.TP
|
||||||
\fB\-for_backup\fR
|
\fB\-for_backup\fR
|
||||||
Enable all extra features which help to produce or to restore backups with
|
Enable all extra features which help to produce or to restore backups with
|
||||||
highest fidelity of file properties.
|
highest fidelity of file properties. Currently this is a shortcut for:
|
||||||
Currently this is a shortcut for: \-hardlinks on \-acl on \-xattr on \-md5 on.
|
.br
|
||||||
|
\-hardlinks on \-acl on \-xattr any \-md5 on
|
||||||
|
.br
|
||||||
|
If you restore a backup with xattr from non\-user namespaces, then make sure
|
||||||
|
that the target operating system and filesystem know what these attributes
|
||||||
|
mean. Possibly you will need administrator privileges to record or restore
|
||||||
|
such attributes. At recording time, xorriso will try to tolerate missing
|
||||||
|
privileges and just record what is readable.
|
||||||
|
But at restore time, missing privileges will cause failure events.
|
||||||
|
.br
|
||||||
|
Command \-xattr "user" after command \-for_backup excludes non\-user attributes
|
||||||
|
from being recorded or restored.
|
||||||
.TP
|
.TP
|
||||||
\fB\-ecma119_map\fR "stripped"|"unmapped"|"lowercase"|"uppercase"
|
\fB\-ecma119_map\fR "stripped"|"unmapped"|"lowercase"|"uppercase"
|
||||||
Choose the conversion of file names from the loaded session if neither
|
Choose the conversion of file names from the loaded session if neither
|
||||||
|
@ -1593,10 +1593,13 @@ int Xorriso_option_follow(struct XorrisO *xorriso, char *mode, int flag);
|
|||||||
/* Command -for_backup is a shortcut for
|
/* Command -for_backup is a shortcut for
|
||||||
Xorriso_option_hardlinks(xorriso, "on", 0);
|
Xorriso_option_hardlinks(xorriso, "on", 0);
|
||||||
Xorriso_option_acl(xorriso, "on", 0);
|
Xorriso_option_acl(xorriso, "on", 0);
|
||||||
Xorriso_option_xattr(xorriso, "on", 0);
|
Xorriso_option_xattr(xorriso, "any", 0);
|
||||||
Xorriso_option_md5(xorriso, "on", 0);
|
Xorriso_option_md5(xorriso, "on", 0);
|
||||||
*/
|
*/
|
||||||
/* @since 0.4.0 */
|
/* @since 0.4.0 */
|
||||||
|
/* xattr "any"
|
||||||
|
@since 1.5.0
|
||||||
|
*/
|
||||||
|
|
||||||
/* Command -fs */
|
/* Command -fs */
|
||||||
/* @since 0.1.0 */
|
/* @since 0.1.0 */
|
||||||
|
@ -405,8 +405,13 @@ only on GNU/Linux and FreeBSD.
|
|||||||
|
|
||||||
*xattr* (aka EA, or extattr) are pairs of name and value which can be
|
*xattr* (aka EA, or extattr) are pairs of name and value which can be
|
||||||
attached to file objects. AAIP is able to represent them and 'xorriso'
|
attached to file objects. AAIP is able to represent them and 'xorriso'
|
||||||
can record and restore pairs which have names out of the user namespace.
|
can record and restore them.
|
||||||
I.e. those which begin with "user.", like "user.x" or "user.whatever".
|
But be aware that pairs with names of non-user namespaces are not
|
||||||
|
necessarily portable between operating systems and not even between
|
||||||
|
filesystems. I.e. only those which begin with "user.", like "user.x"
|
||||||
|
or "user.whatever", can unconditionally be expected to be appropriate on
|
||||||
|
other machines and disks. Processing of other xattr may need
|
||||||
|
administrator privileges.
|
||||||
Name has to be a 0 terminated string. Value may be any array of bytes
|
Name has to be a 0 terminated string. Value may be any array of bytes
|
||||||
which does not exceed the size of 4095 bytes. xattr processing happens
|
which does not exceed the size of 4095 bytes. xattr processing happens
|
||||||
only if it is enabled by command *-xattr*.
|
only if it is enabled by command *-xattr*.
|
||||||
@ -842,10 +847,17 @@ activate them only after image loading.
|
|||||||
ISO images, test ACL during file comparison, and restore ACLs to
|
ISO images, test ACL during file comparison, and restore ACLs to
|
||||||
disk files when extracting them from ISO images. See also commands
|
disk files when extracting them from ISO images. See also commands
|
||||||
-getfacl, -setfacl.
|
-getfacl, -setfacl.
|
||||||
-xattr "on"|"off"
|
-xattr "on"|"user"|"any"|"off"
|
||||||
Enable or disable processing of xattr attributes in user namespace.
|
Enable or disable processing of xattr attributes. If enabled, then
|
||||||
If enabled, then 'xorriso' will handle xattr similar to ACL. See
|
'xorriso' will handle xattr similar to ACL. See also commands
|
||||||
also commands -getfattr, -setfattr and above paragraph about xattr.
|
-getfattr, -setfattr and above paragraph about xattr.
|
||||||
|
Modes "on" and "user" read and write only attributes from namespace
|
||||||
|
"user".
|
||||||
|
Mode "any" processes attributes of all namespaces. This might need
|
||||||
|
adminstrator privileges, even if the owner of the disk file tries
|
||||||
|
to read or write the attributes.
|
||||||
|
Note that xattr from namespace "isofs." are never restored to
|
||||||
|
disk.
|
||||||
-md5 "on"|"all"|"off"|"load_check_off"
|
-md5 "on"|"all"|"off"|"load_check_off"
|
||||||
Enable or disable processing of MD5 checksums for the overall
|
Enable or disable processing of MD5 checksums for the overall
|
||||||
session and for each single data file. If enabled then images with
|
session and for each single data file. If enabled then images with
|
||||||
@ -877,7 +889,17 @@ activate them only after image loading.
|
|||||||
-for_backup
|
-for_backup
|
||||||
Enable all extra features which help to produce or to restore
|
Enable all extra features which help to produce or to restore
|
||||||
backups with highest fidelity of file properties. Currently this
|
backups with highest fidelity of file properties. Currently this
|
||||||
is a shortcut for: -hardlinks on -acl on -xattr on -md5 on.
|
is a shortcut for:
|
||||||
|
-hardlinks on -acl on -xattr any -md5 on
|
||||||
|
If you restore a backup with xattr from non-user namespaces, then
|
||||||
|
make sure that the target operating system and filesystem know what
|
||||||
|
these attributes mean. Possibly you will need administrator
|
||||||
|
privileges to record or restore such attributes. At recording
|
||||||
|
time, xorriso will try to tolerate missing privileges and just
|
||||||
|
record what is readable. But at restore time, missing privileges
|
||||||
|
will cause failure events.
|
||||||
|
Command -xattr "user" after command -for_backup excludes non-user
|
||||||
|
attributes from being recorded or restored.
|
||||||
-ecma119_map "stripped"|"unmapped"|"lowercase"|"uppercase"
|
-ecma119_map "stripped"|"unmapped"|"lowercase"|"uppercase"
|
||||||
Choose the conversion of file names from the loaded session if
|
Choose the conversion of file names from the loaded session if
|
||||||
neither a Rock Ridge name nor a Joliet name was read from the
|
neither a Rock Ridge name nor a Joliet name was read from the
|
||||||
@ -5224,11 +5246,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -assert_volid rejects undesired images: Loading. (line 111)
|
* -assert_volid rejects undesired images: Loading. (line 111)
|
||||||
* -auto_charset learns character set from image: Loading. (line 123)
|
* -auto_charset learns character set from image: Loading. (line 123)
|
||||||
* -backslash_codes enables backslash conversion: Scripting. (line 71)
|
* -backslash_codes enables backslash conversion: Scripting. (line 71)
|
||||||
* -ban_stdio_write demands real drive: Loading. (line 316)
|
* -ban_stdio_write demands real drive: Loading. (line 333)
|
||||||
* -biblio_file sets biblio file name: SetWrite. (line 250)
|
* -biblio_file sets biblio file name: SetWrite. (line 250)
|
||||||
* -blank erases media: Writing. (line 57)
|
* -blank erases media: Writing. (line 57)
|
||||||
* -boot_image controls bootability: Bootable. (line 75)
|
* -boot_image controls bootability: Bootable. (line 75)
|
||||||
* -calm_drive reduces drive activity: Loading. (line 306)
|
* -calm_drive reduces drive activity: Loading. (line 323)
|
||||||
* -cd sets working directory in ISO: Navigate. (line 7)
|
* -cd sets working directory in ISO: Navigate. (line 7)
|
||||||
* -cdx sets working directory on disk: Navigate. (line 15)
|
* -cdx sets working directory on disk: Navigate. (line 15)
|
||||||
* -changes_pending overrides change status: Writing. (line 12)
|
* -changes_pending overrides change status: Writing. (line 12)
|
||||||
@ -5262,12 +5284,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -cp_rx copies file trees to disk: Restore. (line 103)
|
* -cp_rx copies file trees to disk: Restore. (line 103)
|
||||||
* -cp_rx copies file trees to disk <1>: Restore. (line 111)
|
* -cp_rx copies file trees to disk <1>: Restore. (line 111)
|
||||||
* -cut_out inserts piece of data file: Insert. (line 139)
|
* -cut_out inserts piece of data file: Insert. (line 139)
|
||||||
* -data_cache_size adjusts read cache size: Loading. (line 332)
|
* -data_cache_size adjusts read cache size: Loading. (line 349)
|
||||||
* -dev acquires one drive for input and output: AqDrive. (line 12)
|
* -dev acquires one drive for input and output: AqDrive. (line 12)
|
||||||
* -devices gets list of drives: Inquiry. (line 7)
|
* -devices gets list of drives: Inquiry. (line 7)
|
||||||
* -device_links gets list of drives: Inquiry. (line 17)
|
* -device_links gets list of drives: Inquiry. (line 17)
|
||||||
* -dialog enables dialog mode: DialogCtl. (line 7)
|
* -dialog enables dialog mode: DialogCtl. (line 7)
|
||||||
* -disk_dev_ino fast incremental backup: Loading. (line 226)
|
* -disk_dev_ino fast incremental backup: Loading. (line 243)
|
||||||
* -disk_pattern controls pattern expansion: Insert. (line 34)
|
* -disk_pattern controls pattern expansion: Insert. (line 34)
|
||||||
* -displacement compensate altered image start address: Loading.
|
* -displacement compensate altered image start address: Loading.
|
||||||
(line 57)
|
(line 57)
|
||||||
@ -5278,8 +5300,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -dusx show directory size on disk: Navigate. (line 85)
|
* -dusx show directory size on disk: Navigate. (line 85)
|
||||||
* -dux show directory size on disk: Navigate. (line 81)
|
* -dux show directory size on disk: Navigate. (line 81)
|
||||||
* -dvd_obs set write block size: SetWrite. (line 330)
|
* -dvd_obs set write block size: SetWrite. (line 330)
|
||||||
* -early_stdio_test classifies stdio drives: Loading. (line 320)
|
* -early_stdio_test classifies stdio drives: Loading. (line 337)
|
||||||
* -ecma119_map names w/o Rock Ridge, Joliet: Loading. (line 214)
|
* -ecma119_map names w/o Rock Ridge, Joliet: Loading. (line 231)
|
||||||
* -eject ejects drive tray: Writing. (line 50)
|
* -eject ejects drive tray: Writing. (line 50)
|
||||||
* -end writes pending session and ends program: Scripting. (line 151)
|
* -end writes pending session and ends program: Scripting. (line 151)
|
||||||
* -errfile_log logs problematic disk files: Scripting. (line 116)
|
* -errfile_log logs problematic disk files: Scripting. (line 116)
|
||||||
@ -5290,13 +5312,13 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -extract_cut copies file piece to disk: Restore. (line 80)
|
* -extract_cut copies file piece to disk: Restore. (line 80)
|
||||||
* -extract_l copies files to disk: Restore. (line 76)
|
* -extract_l copies files to disk: Restore. (line 76)
|
||||||
* -extract_single copies file to disk: Restore. (line 73)
|
* -extract_single copies file to disk: Restore. (line 73)
|
||||||
* -file_name_limit curbs length of file names: Loading. (line 246)
|
* -file_name_limit curbs length of file names: Loading. (line 263)
|
||||||
* -file_size_limit limits data file size: SetInsert. (line 7)
|
* -file_size_limit limits data file size: SetInsert. (line 7)
|
||||||
* -find traverses and alters ISO tree: CmdFind. (line 7)
|
* -find traverses and alters ISO tree: CmdFind. (line 7)
|
||||||
* -findx traverses disk tree: Navigate. (line 88)
|
* -findx traverses disk tree: Navigate. (line 88)
|
||||||
* -follow softlinks and mount points: SetInsert. (line 69)
|
* -follow softlinks and mount points: SetInsert. (line 69)
|
||||||
* -format formats media: Writing. (line 87)
|
* -format formats media: Writing. (line 87)
|
||||||
* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 210)
|
* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 217)
|
||||||
* -fs sets size of fifo: SetWrite. (line 396)
|
* -fs sets size of fifo: SetWrite. (line 396)
|
||||||
* -getfacl shows ACL in ISO image: Navigate. (line 60)
|
* -getfacl shows ACL in ISO image: Navigate. (line 60)
|
||||||
* -getfacl_r shows ACL in ISO image: Navigate. (line 66)
|
* -getfacl_r shows ACL in ISO image: Navigate. (line 66)
|
||||||
@ -5338,7 +5360,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -map_l inserts paths from disk file: Insert. (line 96)
|
* -map_l inserts paths from disk file: Insert. (line 96)
|
||||||
* -map_single inserts path: Insert. (line 93)
|
* -map_single inserts path: Insert. (line 93)
|
||||||
* -mark sets synchronizing message: Frontend. (line 23)
|
* -mark sets synchronizing message: Frontend. (line 23)
|
||||||
* -md5 controls handling of MD5 sums: Loading. (line 182)
|
* -md5 controls handling of MD5 sums: Loading. (line 189)
|
||||||
* -mkdir creates ISO directory: Insert. (line 177)
|
* -mkdir creates ISO directory: Insert. (line 177)
|
||||||
* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 336)
|
* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 336)
|
||||||
* -mount issues mount command for ISO session: Restore. (line 146)
|
* -mount issues mount command for ISO session: Restore. (line 146)
|
||||||
@ -5395,7 +5417,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
(line 51)
|
(line 51)
|
||||||
* -rollback discards pending changes: Writing. (line 9)
|
* -rollback discards pending changes: Writing. (line 9)
|
||||||
* -rollback_end ends program without writing: Scripting. (line 154)
|
* -rollback_end ends program without writing: Scripting. (line 154)
|
||||||
* -rom_toc_scan searches for sessions: Loading. (line 278)
|
* -rom_toc_scan searches for sessions: Loading. (line 295)
|
||||||
* -rr_reloc_dir sets name of relocation directory: SetWrite. (line 144)
|
* -rr_reloc_dir sets name of relocation directory: SetWrite. (line 144)
|
||||||
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 179)
|
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 179)
|
||||||
* -scsi_dev_family choose Linux device file type: AqDrive. (line 43)
|
* -scsi_dev_family choose Linux device file type: AqDrive. (line 43)
|
||||||
@ -5469,8 +5491,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* Appended partition, in MBR or GPT: Bootable. (line 276)
|
* Appended partition, in MBR or GPT: Bootable. (line 276)
|
||||||
* Automatic execution order, of arguments, -x: ArgSort. (line 16)
|
* Automatic execution order, of arguments, -x: ArgSort. (line 16)
|
||||||
* Backslash Interpretation, _definition: Processing. (line 53)
|
* Backslash Interpretation, _definition: Processing. (line 53)
|
||||||
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 226)
|
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 243)
|
||||||
* Backup, enable features, -for_backup: Loading. (line 210)
|
* Backup, enable features, -for_backup: Loading. (line 217)
|
||||||
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 179)
|
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 179)
|
||||||
* Blank media, _definition: Media. (line 29)
|
* Blank media, _definition: Media. (line 29)
|
||||||
* Blank, format, Immed bit, -use_immed_bit: SetWrite. (line 374)
|
* Blank, format, Immed bit, -use_immed_bit: SetWrite. (line 374)
|
||||||
@ -5508,8 +5530,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* Directory, delete, -rmdir: Manip. (line 29)
|
* Directory, delete, -rmdir: Manip. (line 29)
|
||||||
* disk_path, _definition: Insert. (line 6)
|
* disk_path, _definition: Insert. (line 6)
|
||||||
* Drive, accessability, -drive_class: Loading. (line 73)
|
* Drive, accessability, -drive_class: Loading. (line 73)
|
||||||
* Drive, classify stdio, -early_stdio_test: Loading. (line 320)
|
* Drive, classify stdio, -early_stdio_test: Loading. (line 337)
|
||||||
* Drive, demand real MMC, -ban_stdio_write: Loading. (line 316)
|
* Drive, demand real MMC, -ban_stdio_write: Loading. (line 333)
|
||||||
* Drive, eject tray, -eject: Writing. (line 50)
|
* Drive, eject tray, -eject: Writing. (line 50)
|
||||||
* Drive, for input and output, -dev: AqDrive. (line 12)
|
* Drive, for input and output, -dev: AqDrive. (line 12)
|
||||||
* Drive, for input, -indev: AqDrive. (line 23)
|
* Drive, for input, -indev: AqDrive. (line 23)
|
||||||
@ -5517,7 +5539,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* Drive, get drive list, -devices: Inquiry. (line 7)
|
* Drive, get drive list, -devices: Inquiry. (line 7)
|
||||||
* Drive, get drive list, -device_links: Inquiry. (line 17)
|
* Drive, get drive list, -device_links: Inquiry. (line 17)
|
||||||
* Drive, list supported media, -list_profiles: Writing. (line 177)
|
* Drive, list supported media, -list_profiles: Writing. (line 177)
|
||||||
* Drive, reduce activity, -calm_drive: Loading. (line 306)
|
* Drive, reduce activity, -calm_drive: Loading. (line 323)
|
||||||
* Drive, report SCSI commands, -scsi_log: Scripting. (line 143)
|
* Drive, report SCSI commands, -scsi_log: Scripting. (line 143)
|
||||||
* Drive, write and eject, -commit_eject: Writing. (line 53)
|
* Drive, write and eject, -commit_eject: Writing. (line 53)
|
||||||
* Drive, _definition: Drives. (line 6)
|
* Drive, _definition: Drives. (line 6)
|
||||||
@ -5533,8 +5555,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* Examples: Examples. (line 6)
|
* Examples: Examples. (line 6)
|
||||||
* extattr, _definition: Extras. (line 66)
|
* extattr, _definition: Extras. (line 66)
|
||||||
* File content, copy, -concat: Restore. (line 118)
|
* File content, copy, -concat: Restore. (line 118)
|
||||||
* File names, curb length, -file_name_limit: Loading. (line 246)
|
* File names, curb length, -file_name_limit: Loading. (line 263)
|
||||||
* File names, if neither Rock Ridge nor Joliet: Loading. (line 214)
|
* File names, if neither Rock Ridge nor Joliet: Loading. (line 231)
|
||||||
* Filter, apply to file tree, -set_filter_r: Filter. (line 84)
|
* Filter, apply to file tree, -set_filter_r: Filter. (line 84)
|
||||||
* Filter, apply to file, -set_filter: Filter. (line 58)
|
* Filter, apply to file, -set_filter: Filter. (line 58)
|
||||||
* Filter, ban registration, -close_filter_list: Filter. (line 50)
|
* Filter, ban registration, -close_filter_list: Filter. (line 50)
|
||||||
@ -5557,7 +5579,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* HFS+ serial number: Bootable. (line 400)
|
* HFS+ serial number: Bootable. (line 400)
|
||||||
* hidden, set in ISO image, -hide: Manip. (line 174)
|
* hidden, set in ISO image, -hide: Manip. (line 174)
|
||||||
* HP-PA boot sector, production: Bootable. (line 375)
|
* HP-PA boot sector, production: Bootable. (line 375)
|
||||||
* Image reading, cache size, -data_cache_size: Loading. (line 332)
|
* Image reading, cache size, -data_cache_size: Loading. (line 349)
|
||||||
* Image, demand volume ID, -assert_volid: Loading. (line 111)
|
* Image, demand volume ID, -assert_volid: Loading. (line 111)
|
||||||
* Image, discard pending changes, -rollback: Writing. (line 9)
|
* Image, discard pending changes, -rollback: Writing. (line 9)
|
||||||
* Image, filesystem to load, -read_fs: Loading. (line 102)
|
* Image, filesystem to load, -read_fs: Loading. (line 102)
|
||||||
@ -5615,7 +5637,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* MBR bootable/active flag, enforce: Bootable. (line 343)
|
* MBR bootable/active flag, enforce: Bootable. (line 343)
|
||||||
* MBR, set, -boot_image system_area=: Bootable. (line 200)
|
* MBR, set, -boot_image system_area=: Bootable. (line 200)
|
||||||
* MBR, _definition: Extras. (line 27)
|
* MBR, _definition: Extras. (line 27)
|
||||||
* MD5, control handling, -md5: Loading. (line 182)
|
* MD5, control handling, -md5: Loading. (line 189)
|
||||||
* Media, erase, -blank: Writing. (line 57)
|
* Media, erase, -blank: Writing. (line 57)
|
||||||
* Media, format, -format: Writing. (line 87)
|
* Media, format, -format: Writing. (line 87)
|
||||||
* Media, list formats, -list_formats: Writing. (line 129)
|
* Media, list formats, -list_formats: Writing. (line 129)
|
||||||
@ -5719,7 +5741,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* SUN SPARC boot images, activation: Bootable. (line 438)
|
* SUN SPARC boot images, activation: Bootable. (line 438)
|
||||||
* Symbolic link, create, -lns: Insert. (line 181)
|
* Symbolic link, create, -lns: Insert. (line 181)
|
||||||
* System area, _definition: Bootable. (line 200)
|
* System area, _definition: Bootable. (line 200)
|
||||||
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 278)
|
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 295)
|
||||||
* Table-of-content, show, -toc: Inquiry. (line 27)
|
* Table-of-content, show, -toc: Inquiry. (line 27)
|
||||||
* Timestamps, set in ISO image, -alter_date: Manip. (line 136)
|
* Timestamps, set in ISO image, -alter_date: Manip. (line 136)
|
||||||
* Timestamps, set in ISO image, -alter_date_r: Manip. (line 171)
|
* Timestamps, set in ISO image, -alter_date_r: Manip. (line 171)
|
||||||
@ -5771,54 +5793,54 @@ Node: Media6346
|
|||||||
Node: Methods9033
|
Node: Methods9033
|
||||||
Node: Drives11619
|
Node: Drives11619
|
||||||
Node: Extras15561
|
Node: Extras15561
|
||||||
Node: Processing20030
|
Node: Processing20280
|
||||||
Node: Dialog23665
|
Node: Dialog23915
|
||||||
Node: Commands25354
|
Node: Commands25604
|
||||||
Node: ArgSort27031
|
Node: ArgSort27281
|
||||||
Node: AqDrive28525
|
Node: AqDrive28775
|
||||||
Node: Loading32639
|
Node: Loading32889
|
||||||
Node: Insert52746
|
Node: Insert53913
|
||||||
Node: SetInsert64249
|
Node: SetInsert65416
|
||||||
Node: Manip73681
|
Node: Manip74848
|
||||||
Node: CmdFind83640
|
Node: CmdFind84807
|
||||||
Node: Filter102412
|
Node: Filter103579
|
||||||
Node: Writing107034
|
Node: Writing108201
|
||||||
Node: SetWrite117190
|
Node: SetWrite118357
|
||||||
Node: Bootable141949
|
Node: Bootable143116
|
||||||
Node: Jigdo168121
|
Node: Jigdo169288
|
||||||
Node: Charset172380
|
Node: Charset173547
|
||||||
Node: Exception175709
|
Node: Exception176876
|
||||||
Node: DialogCtl181838
|
Node: DialogCtl183005
|
||||||
Node: Inquiry184440
|
Node: Inquiry185607
|
||||||
Node: Navigate193324
|
Node: Navigate194491
|
||||||
Node: Verify201619
|
Node: Verify202786
|
||||||
Node: Restore211497
|
Node: Restore212664
|
||||||
Node: Emulation220110
|
Node: Emulation221277
|
||||||
Node: Scripting230569
|
Node: Scripting231736
|
||||||
Node: Frontend238352
|
Node: Frontend239519
|
||||||
Node: Examples247978
|
Node: Examples249145
|
||||||
Node: ExDevices249156
|
Node: ExDevices250323
|
||||||
Node: ExCreate249817
|
Node: ExCreate250984
|
||||||
Node: ExDialog251117
|
Node: ExDialog252284
|
||||||
Node: ExGrowing252388
|
Node: ExGrowing253555
|
||||||
Node: ExModifying253197
|
Node: ExModifying254364
|
||||||
Node: ExBootable253707
|
Node: ExBootable254874
|
||||||
Node: ExCharset254262
|
Node: ExCharset255429
|
||||||
Node: ExPseudo255158
|
Node: ExPseudo256325
|
||||||
Node: ExCdrecord256085
|
Node: ExCdrecord257252
|
||||||
Node: ExMkisofs256405
|
Node: ExMkisofs257572
|
||||||
Node: ExGrowisofs257762
|
Node: ExGrowisofs258929
|
||||||
Node: ExException258916
|
Node: ExException260083
|
||||||
Node: ExTime259374
|
Node: ExTime260541
|
||||||
Node: ExIncBackup259832
|
Node: ExIncBackup260999
|
||||||
Node: ExRestore263858
|
Node: ExRestore265025
|
||||||
Node: ExRecovery264804
|
Node: ExRecovery265971
|
||||||
Node: Files265376
|
Node: Files266543
|
||||||
Node: Environ266710
|
Node: Environ267877
|
||||||
Node: Seealso267419
|
Node: Seealso268586
|
||||||
Node: Bugreport268136
|
Node: Bugreport269303
|
||||||
Node: Legal268727
|
Node: Legal269894
|
||||||
Node: CommandIdx269739
|
Node: CommandIdx270906
|
||||||
Node: ConceptIdx287073
|
Node: ConceptIdx288240
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
@c man .\" First parameter, NAME, should be all caps
|
@c man .\" First parameter, NAME, should be all caps
|
||||||
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||||
@c man .\" other parameters are allowed: see man(7), man(1)
|
@c man .\" other parameters are allowed: see man(7), man(1)
|
||||||
@c man .TH XORRISO 1 "Version 1.4.9, Sep 16, 2017"
|
@c man .TH XORRISO 1 "Version 1.4.9, Oct 10, 2017"
|
||||||
@c man .\" Please adjust this date whenever revising the manpage.
|
@c man .\" Please adjust this date whenever revising the manpage.
|
||||||
@c man .\"
|
@c man .\"
|
||||||
@c man .\" Some roff macros, for reference:
|
@c man .\" Some roff macros, for reference:
|
||||||
@ -613,9 +613,15 @@ only on GNU/Linux and FreeBSD.
|
|||||||
@cindex extattr, _definition
|
@cindex extattr, _definition
|
||||||
@strong{xattr} (aka EA, or extattr)
|
@strong{xattr} (aka EA, or extattr)
|
||||||
are pairs of name and value which can be attached to file objects. AAIP is
|
are pairs of name and value which can be attached to file objects. AAIP is
|
||||||
able to represent them and @command{xorriso} can record and restore pairs which
|
able to represent them and @command{xorriso} can record and restore them.
|
||||||
have names out of the user namespace. I.e. those which begin with "user.",
|
@*
|
||||||
like "user.x" or "user.whatever". Name has to be a 0 terminated string.
|
But be aware that pairs with names of non-user namespaces are not necessarily
|
||||||
|
portable between operating systems and not even between filesystems.
|
||||||
|
I.e. only those which begin with "user.", like "user.x" or "user.whatever",
|
||||||
|
can unconditionally be expected to be appropriate on other machines and disks.
|
||||||
|
Processing of other xattr may need administrator privileges.
|
||||||
|
@*
|
||||||
|
Name has to be a 0 terminated string.
|
||||||
Value may be any array of bytes which does not exceed the size of 4095 bytes.
|
Value may be any array of bytes which does not exceed the size of 4095 bytes.
|
||||||
xattr processing happens only if it is enabled by command
|
xattr processing happens only if it is enabled by command
|
||||||
@strong{-xattr}.
|
@strong{-xattr}.
|
||||||
@ -1172,12 +1178,20 @@ load AAIP data from ISO images, test ACL during file comparison,
|
|||||||
and restore ACLs to disk files when extracting them from ISO images.
|
and restore ACLs to disk files when extracting them from ISO images.
|
||||||
See also commands -getfacl, -setfacl.
|
See also commands -getfacl, -setfacl.
|
||||||
@c man .TP
|
@c man .TP
|
||||||
@item -xattr "on"|"off"
|
@item -xattr "on"|"user"|"any"|"off"
|
||||||
@kindex -xattr controls handling of xattr (EA)
|
@kindex -xattr controls handling of xattr (EA)
|
||||||
@cindex xattr, control handling, -xattr
|
@cindex xattr, control handling, -xattr
|
||||||
Enable or disable processing of xattr attributes in user namespace.
|
Enable or disable processing of xattr attributes.
|
||||||
If enabled, then @command{xorriso} will handle xattr similar to ACL.
|
If enabled, then @command{xorriso} will handle xattr similar to ACL.
|
||||||
See also commands -getfattr, -setfattr and above paragraph about xattr.
|
See also commands -getfattr, -setfattr and above paragraph about xattr.
|
||||||
|
@*
|
||||||
|
Modes "on" and "user" read and write only attributes from namespace "user".
|
||||||
|
@*
|
||||||
|
Mode "any" processes attributes of all namespaces. This might need adminstrator
|
||||||
|
privileges, even if the owner of the disk file tries to read or write the
|
||||||
|
attributes.
|
||||||
|
@*
|
||||||
|
Note that xattr from namespace "isofs." are never restored to disk.
|
||||||
@c man .TP
|
@c man .TP
|
||||||
@item -md5 "on"|"all"|"off"|"load_check_off"
|
@item -md5 "on"|"all"|"off"|"load_check_off"
|
||||||
@kindex -md5 controls handling of MD5 sums
|
@kindex -md5 controls handling of MD5 sums
|
||||||
@ -1218,8 +1232,19 @@ actions get_md5, check_md5, and via -check_media.
|
|||||||
@kindex -for_backup -acl,-xattr,-hardlinks,-md5
|
@kindex -for_backup -acl,-xattr,-hardlinks,-md5
|
||||||
@cindex Backup, enable features, -for_backup
|
@cindex Backup, enable features, -for_backup
|
||||||
Enable all extra features which help to produce or to restore backups with
|
Enable all extra features which help to produce or to restore backups with
|
||||||
highest fidelity of file properties.
|
highest fidelity of file properties. Currently this is a shortcut for:
|
||||||
Currently this is a shortcut for: -hardlinks on -acl on -xattr on -md5 on.
|
@*
|
||||||
|
-hardlinks on -acl on -xattr any -md5 on
|
||||||
|
@*
|
||||||
|
If you restore a backup with xattr from non-user namespaces, then make sure
|
||||||
|
that the target operating system and filesystem know what these attributes
|
||||||
|
mean. Possibly you will need administrator privileges to record or restore
|
||||||
|
such attributes. At recording time, xorriso will try to tolerate missing
|
||||||
|
privileges and just record what is readable.
|
||||||
|
But at restore time, missing privileges will cause failure events.
|
||||||
|
@*
|
||||||
|
Command -xattr "user" after command -for_backup excludes non-user attributes
|
||||||
|
from being recorded or restored.
|
||||||
@c man .TP
|
@c man .TP
|
||||||
@item -ecma119_map "stripped"|"unmapped"|"lowercase"|"uppercase"
|
@item -ecma119_map "stripped"|"unmapped"|"lowercase"|"uppercase"
|
||||||
@kindex -ecma119_map names w/o Rock Ridge, Joliet
|
@kindex -ecma119_map names w/o Rock Ridge, Joliet
|
||||||
|
@ -161,6 +161,10 @@ struct XorrisO { /* the global context of xorriso */
|
|||||||
bit7= omit dev check with bit5
|
bit7= omit dev check with bit5
|
||||||
bit8= store output charset in xattr "isofs.cs"
|
bit8= store output charset in xattr "isofs.cs"
|
||||||
bit9= set input charset from xattr "isofs.cs"
|
bit9= set input charset from xattr "isofs.cs"
|
||||||
|
bit10= if bit2: import from local filesystem all xattr
|
||||||
|
namespaces, not only "user."
|
||||||
|
if bit3: export to local filesystem all xattr
|
||||||
|
namespaces, not only "user."
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int do_md5; /* bit0= read MD5 array
|
int do_md5; /* bit0= read MD5 array
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2017.10.23.095252"
|
#define Xorriso_timestamP "2017.10.23.100749"
|
||||||
|
Loading…
Reference in New Issue
Block a user