New commands -lfa_flags, -lsattr, -lsattrd, -chattr, -chattr_r, -find test -has_lfa_flags, -find actions lsattrd, chattr

This commit is contained in:
2024-07-20 23:12:16 +02:00
parent dfd0a8cc81
commit 0802689b11
26 changed files with 1222 additions and 165 deletions

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.5.7, Jun 29, 2024"
.TH XORRISO 1 "Version 1.5.7, Jul 20, 2024"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -491,6 +491,17 @@ or to print them.
.br
Recording and restoring of xattr from and to local files works currently
only on GNU/Linux and FreeBSD, where they are known as extattr.
.PP
\fBLinux file attributes\fR are binary flags which can be set by program
chattr(1) and listed by program lsattr(1). See their man pages and the
definitions FS_*_FL in Linux header file <linux/fs.h>.
Not all defined flags get reported by lsattr and accepted by chattr, but their
number grew over the years.
.br
\fBxorriso\fR records the flags of disk files if enabled by command
\fB\-lfa_flags\fR. Its command \-lsattr lists 22 flags the same way as the
program lsattr does. They can be set by xorriso command \-chattr and can be
enabled by \-lfa_flags for restoring when their files get restored to disk.
.SS
.B Command processing:
.br
@ -1043,6 +1054,55 @@ write the attributes.
Note that it is not possible to set xattr of namespace "isofs." by xorriso
xattr manipulation commands.
.TP
\fB\-lfa_flags\fR mode[:mode...]
Enable, disable, or influence processing of Linux file attributes as described
in man 1 chattr.
.br
Mode "on" enables actual processing of the attributes. Mode "off" disables it.
The other modes define the behavior in case of "on".
.br
Mode "read" enables obtaining of these attributes from disk files,
storing them in the emerging ISO 9660 filesystem as AAIP data, importing
them when an ISO filesystem gets loaded and bears such stored attributes,
and comparing them during comparisons between files on disk and in ISO.
.br
Mode "no_read" disables processing of the attributes from disk files. If no
other settings like \-acl "on" or \-xattr "on" require storing and importing
of AAIP data, then previously recorded file attributes can get kept out of
the next appended session.
.br
Mode "restore" enables restoring of attributes when their file gets restored
and comparing them during comparisons between files on disk and in ISO.
Several modes below modify the behavior during restoring of attributes.
.br
Mode "no_restore" disables restoring of attributes.
.br
Mode "restore_su" enables restoring of the attributes "iaj" which are only
changeable by the bearer of superuser capabilities. "no_restore_su" disables
restoring of these attributes. "restore_su_auto" enables it only if the
effective user id is 0.
.br
Mode "restore_only_known" restricts restoring to the known settable attribute
flags "aAcCdDFijmPsStTux". "restore_unknown" enables the attempt to restore
unknown flags or even those which are known to be unchangeable, if they are
not disabled by other modes.
.br
Mode "restore_mask=..." enables particular attributes for restoring. All others
will not be restored. The list of desired attribute letters follows the '='
character. An empty list enables all attributes, if they are not disabled by
other modes. The single character "\-" bans all attributes from restoring,
like "off" does. Example:
.br
\-lfa_flags restore_mask=SdCiaj
.br
Mode "default" reinstates the default settings:
.br
\-lfa_flags off:read:restore:restore_su_auto:restore_only_known
.br
\-lfa_flags restore_mask=
.br
Use "default:on" to get default settings with enabled processing.
.TP
\fB\-md5\fR "on"|"all"|"off"|"load_check_off"
Enable or disable processing of MD5 checksums for the overall session and for
each single data file. If enabled then images with checksum tags get loaded
@ -1083,17 +1143,24 @@ actions get_md5, check_md5, and via \-check_media.
Enable all extra features which help to produce or to restore backups with
highest fidelity of file properties. Currently this is a shortcut for:
.br
\-hardlinks on \-acl on \-xattr any \-md5 on
\-hardlinks on \-acl on \-xattr any \-md5 on
\-lfa_flags default:on:restore_mask=aAcCdDijmPsStTux
.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.
But at restore time, missing privileges or preconditions will cause failure
events.
.br
Command \-xattr "user" after command \-for_backup excludes non\-user attributes
from being recorded or restored.
Command \-xattr "user" after command \-for_backup will exclude non\-user
attributes from being recorded or restored.
.br
The \-lfa_flags restore mask of \-for_backup enables all known settable
attributes, except "F" which has special constraints which xorriso cannot yet
detect at restore time. Command \-lfa_flags "restore_mask=" after \-for_backup
will enable all known settable attributes.
.TP
\fB\-ecma119_map\fR "stripped"|"unmapped"|"lowercase"|"uppercase"
Choose the conversion of file names when a session gets loaded, if they stem
@ -1870,7 +1937,7 @@ This indicates that the entry goes to the "default" ACL rather than to the
u::rwx,g::rx,o::,d:u::rwx,d:g::rx,d:o::,d:u:lisa:rwx,d:m::rwx
.TP
\fB\-setfacl_r\fR acl_text iso_rr_path [***]
Like \-setfacl but affecting all files below eventual directories.
Like \-setfacl but affecting all files below given directories.
.TP
\fB\-setfacl_list\fR disk_path
Read the output of \-getfacl_r or shell command getfacl \-R and apply it to the
@ -1901,7 +1968,7 @@ See also command \-backslash_codes. Other than with command \-setfattr_list,
the byte value 0 cannot be expressed via \-setfattr.
.TP
\fB\-setfattr_r\fR [-]name value iso_rr_path [***]
Like \-setfattr but affecting all files below eventual directories.
Like \-setfattr but affecting all files below given directories.
.TP
\fB\-setfattr_list\fR disk_path
Read the output format of \-getfattr_r or shell command getfattr \-Rd and apply
@ -1927,6 +1994,34 @@ whitespace after the end quote will be ignored. Non\-printables bytes and quotes
must be represented as \\XYZ by their octal 8\-bit code XYZ.
Use code \\000 for 0\-bytes.
.TP
\fB\-chattr\fR mode iso_rr_path [***]
Set or unset Linux file attributes like program chattr(1) would do to disk
files.
.br
The first letter of the mode string determines what to do. The other letters
are symbolic attribute flag letters out of the set "aAcCdDeEFhiIjNmPsStTuVxZ"
as described in man 1 chattr.
There is no restriction which attributes can be set or unset. But at restore
time, unusual or unsuitable attributes may cause problems.
.br
First letter '+' causes the given attribute flags to be set. All other
attributes stay as they are.
.br
First letter '\-' causes the given attribute flags to be unset. All other
attributes stay as they are. (Note that '\-' is also accepted as symbolic
attribute letter which has no effect.)
.br
First letter '.' causes all attribute flags except the given ones to be unset.
The given ones stay as they are. This is not a feature of program chattr(1).
.br
First letter '=' causes the given attribute flags to be set. All other
get unset.
.br
Example: \-chattr +sDu /my/file /my/other_file \-\-
.TP
\fB\-chattr_r\fR mode iso_rr_path [***]
Like \-chattr but affecting all files below given directories.
.TP
\fB\-alter_date\fR type timestring iso_rr_path [***]
Alter the date entries of files in the ISO image. type may be one of
the following:
@ -2117,6 +2212,16 @@ Matches files which have xattr name\-value pairs from user namespace.
\fB\-has_aaip\fR :
Matches files which have ACL or any xattr.
.br
\fB\-has_lfa_flags\fR flag_letters :
Matches files which have Linux file attributes attached and have all flags set
which correspond to the characters in the string flag_letters. The characters
may be zero or more out of the set "aAcCdDeEFhiIjNmPsStTuVxZ".
The character '\-' will be ignored. The flag_letters string "\-" matches any
attribute set, but not a file with no Linux file attributes attached.
E.g. look for files with both flags 'i' (immutable) and 'd' (no dump) set:
.br
\-has_lfa_flags di
.br
\fB\-has_any_xattr\fR :
Matches files which have any xattr other than ACL.
.br
@ -2345,10 +2450,18 @@ terminal\-safe but should work in script files.
Mode "r" uses no quotation marks. Not safe.
Mode "b" prints backslash encoding. Not suitable for shell parsing.
.br
E.g. \-exec list_extattr e \-\-
E.g.: \-exec list_extattr e \-\-
.br
Command \-backslash_codes does not affect the output.
.br
\fBlsattrd\fR
shows the Linux file attribute flags like command \-lsattrd does.
.br
\fBchattr\fR
applies \-chattr with the given mode.
.br
E.g.: \-exec chattr +sDu \-\-
.br
\fBget_md5\fR
prints the MD5 sum, if recorded, together with file path.
.br
@ -4904,6 +5017,15 @@ namespace "user", "any" only omits namespace "isofs".
Like \-gefattr but listing recursively the whole file trees underneath of
directories.
.TP
\fB\-lsattr\fR iso_rr_pattern [***]
Print the Linux file attributes of the given files like program lsattr(1)
would do with disk files. The meaning of the shown flag letters are described
in man 1 chattr with the exception of '\-', which is shown as placeholder for
an unset flag.
.br
The given files will get a line printed even if they have no Linux file
attributes attached. In this case all flags will be shown as '\-'.
.TP
\fB\-du\fR iso_rr_pattern [***]
Recursively list size of directories and files in the ISO image
which match one of the patterns.
@ -6780,11 +6902,13 @@ Other programs which burn sessions to optical media
.BR wodim(1),
.BR cdrskin(1)
.TP
ACL and xattr
ACL, xattr, Linux file attributes
.BR getfacl(1),
.BR setfacl(1),
.BR getfattr(1),
.BR setfattr(1)
.BR setfattr(1),
.BR lsattr(1),
.BR chattr(1)
.TP
MD5 checksums
.BR md5sum(1)