New -as mkisofs option --lfa_flags

This commit is contained in:
Thomas Schmitt 2024-07-21 14:27:28 +02:00
parent 1a775c09df
commit 8397e587f3
5 changed files with 114 additions and 66 deletions

View File

@ -641,6 +641,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"-untranslated-filenames", "-verbose", "-version", "-g", "-h",
"-no-mac-files", "-chrp-boot",
"--hardlinks", "--acl", "--xattr", "--xattr-any", "--md5", "--for_backup",
"--lfa_flags",
"--protective-msdos-label", "--boot-catalog-hide", "--no-emul-toc",
"--emul-toc", "-disallow_dir_id_ext", "--old-empty",
"--old-root-no-md5", "--old-root-devno", "--old-root-no-ino",
@ -870,6 +871,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" --acl Record eventual ACLs of files",
" --xattr Record eventual user space xattr of files",
" --xattr-any Record xattr of any namespace, not only user.",
" --lfa_flags Record Linux file attribute flags (chattr)",
" --md5 Compute and record MD5 checksums of data files",
" --scdbackup_tag PATH NAME With --md5 record a scdbackup checksum tag",
" --for_backup Use all options which improve backup fidelity",
@ -1619,6 +1621,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
Xorriso_option_xattr(xorriso, "on", 0);
} else if(strcmp(argpt, "--xattr-any")==0) {
Xorriso_option_xattr(xorriso, "any", 0);
} else if(strcmp(argpt, "--lfa_flags")==0) {
Xorriso_option_lfa_flags(xorriso, "default:on:no_restore", 0);
} else if(strcmp(argpt, "--md5")==0) {
Xorriso_option_md5(xorriso, "on", 0);
} else if(strcmp(argpt, "--scdbackup_tag")==0) {
@ -1633,6 +1637,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
Xorriso_option_acl(xorriso, "on", 0);
Xorriso_option_xattr(xorriso, "any", 0);
Xorriso_option_md5(xorriso, "on", 0);
Xorriso_option_lfa_flags(xorriso, "default:on:no_restore", 0);
} else if(strcmp(argpt, "-z")==0 ||
strcmp(argpt, "-transparent-compression")==0) {
Xorriso_option_zisofs(xorriso, "by_magic=on", 0);
@ -2063,6 +2069,7 @@ not_enough_args:;
strcmp(argpt, "--acl")==0 ||
strcmp(argpt, "--xattr")==0 ||
strcmp(argpt, "--xattr-any")==0 ||
strcmp(argpt, "--lfa_flags")==0 ||
strcmp(argpt, "--md5")==0 ||
strcmp(argpt, "--for_backup")==0) {
/* was already handled in first argument scan */;

View File

@ -1 +1 @@
#define Xorriso_timestamP "2024.07.21.113209"
#define Xorriso_timestamP "2024.07.21.122709"

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 XORRISOFS 1 "Version 1.5.7, Jun 17, 2024"
.TH XORRISOFS 1 "Version 1.5.7, Jul 21, 2024"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -677,7 +677,7 @@ Alias of \-rr_reloc_dir "/.rr_moved"
Enable all options which improve backup fidelity:
.br
\-\-acl, \-\-xattr\-any, \-\-md5,
\-\-hardlinks.
\-\-hardlinks, \-\-lfa_flags.
.br
If you later restore a backup with xattr from non\-user namespaces, then make
sure that the target operating system and filesystem know what these attributes
@ -685,8 +685,8 @@ 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.
.br
Option \-xattr after option \-for_backup excludes non\-user attributes
from being recorded.
Option \-\-xattr after option \-\-for_backup excludes
non\-user attributes from being recorded.
.TP
\fB--acl\fR
.br
@ -709,6 +709,16 @@ Enable recording and loading of GNU/Linux or FreeBSD extended attributes in
all namespaces. This might need administrator privileges, even if the owner
of the disk file tries to read the attributes.
.TP
\fB--lfa_flags\fR
.br
Enable recording and loading of Linux file attributes as described in
man 1 chattr.
.br
Disable restoring of such attributes just in case that the mkisofs emulation
gets ended and files get restored to disk. If restoring of the attributes is
desired in this case, execute xorriso command \-lfa_flags "restore" with
possibly appended mode texts like ":restore_mask=aAcCdDijmPsStTux".
.TP
\fB--md5\fR
.br
Enable recording of MD5 checksums for the overall ISO image and for each
@ -2265,11 +2275,13 @@ Programs which burn sessions to optical media
.BR cdrskin(1),
.BR xorriso(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)

View File

@ -614,15 +614,15 @@ File: xorrisofs.info, Node: SetExtras, Next: SetHide, Prev: SetCompl, Up: Op
Alias of -rr_reloc_dir "/.rr_moved"
--for_backup
Enable all options which improve backup fidelity:
--acl, --xattr-any, --md5, --hardlinks.
--acl, --xattr-any, --md5, --hardlinks, --lfa_flags.
If you later 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.
Option -xattr after option -for_backup excludes non-user attributes
from being recorded.
Option --xattr after option --for_backup excludes non-user
attributes from being recorded.
--acl
Enable recording and loading of ACLs from GNU/Linux or FreeBSD (see
@ -642,6 +642,15 @@ File: xorrisofs.info, Node: SetExtras, Next: SetHide, Prev: SetCompl, Up: Op
attributes in all namespaces. This might need administrator
privileges, even if the owner of the disk file tries to read the
attributes.
--lfa_flags
Enable recording and loading of Linux file attributes as described
in man 1 chattr.
Disable restoring of such attributes just in case that the mkisofs
emulation gets ended and files get restored to disk. If restoring
of the attributes is desired in this case, execute xorriso command
-lfa_flags "restore" with possibly appended mode texts like
":restore_mask=aAcCdDijmPsStTux".
--md5
Enable recording of MD5 checksums for the overall ISO image and for
@ -1975,7 +1984,8 @@ Other programs which produce ISO 9660 images
Programs which burn sessions to optical media
growisofs(1), cdrecord(1), wodim(1), cdrskin(1), xorriso(1)
ACL and xattr
getfacl(1), setfacl(1), getfattr(1), setfattr(1)
getfacl(1), setfacl(1), getfattr(1), setfattr(1) lsattr(1),
chattr(1)
MD5 checksums
md5sum(1)
On FreeBSD some commands differ:
@ -2051,10 +2061,11 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* --grub2-boot-info Patch El Torito boot image: Bootable. (line 109)
* --grub2-mbr Install modern GRUB2 MBR: SystemArea. (line 81)
* --grub2-sparc-core SUN SPARC core file: SystemArea. (line 325)
* --hardlinks Recording of hardlink relations: SetExtras. (line 130)
* --hardlinks Recording of hardlink relations: SetExtras. (line 139)
* --lfa_flags Recording of Linux file attributes: SetExtras. (line 122)
* --mbr-force-bootable Enforce MBR bootable/active flag: SystemArea.
(line 148)
* --md5 Recording of MD5 checksums: SetExtras. (line 122)
* --md5 Recording of MD5 checksums: SetExtras. (line 131)
* --modification-date set ISO image timestamps: ImageId. (line 70)
* --no-emul-toc no table-of-content emulation: SetProduct. (line 41)
* --norock disable Rock Ridge production: SetExtras. (line 28)
@ -2070,7 +2081,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 143)
* --quoted_path_list read pathspecs from disk file: SetInsert.
(line 12)
* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 138)
* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 147)
* --set_all_file_dates set all file timestamps: SetExtras. (line 35)
* --sort-weight set block address sorting weight: SetProduct. (line 45)
* --sort-weight-list set block address sorting weight: SetProduct.
@ -2148,15 +2159,15 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 29)
* -hard-disk-boot El Torito boot image emulation: Bootable. (line 83)
* -help list supported options: Miscellaneous. (line 21)
* -hfs-bless HFS+ blessing ppc_bootdir: SetExtras. (line 221)
* -hfs-bless-by HFS+ blessing: SetExtras. (line 211)
* -hfsplus enable production of HFS+ partition: SetExtras. (line 164)
* -hfsplus-block-size set APM block size: SetExtras. (line 201)
* -hfs-bless HFS+ blessing ppc_bootdir: SetExtras. (line 230)
* -hfs-bless-by HFS+ blessing: SetExtras. (line 220)
* -hfsplus enable production of HFS+ partition: SetExtras. (line 173)
* -hfsplus-block-size set APM block size: SetExtras. (line 210)
* -hfsplus-block-size set HFS+ allocation block size: SetExtras.
(line 197)
(line 206)
* -hfsplus-file-creator-type HFS+ creator-type attribute: SetExtras.
(line 208)
* -hfsplus-serial-no set HFS+ serial number: SetExtras. (line 193)
(line 217)
* -hfsplus-serial-no set HFS+ serial number: SetExtras. (line 202)
* -hide keep matching files invisible in ISO tree: SetHide. (line 8)
* -hide-hfsplus keep matching files invisible in HFS+ tree: SetHide.
(line 25)
@ -2187,7 +2198,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -isohybrid-mbr Install ISOLINUX isohybrid MBR: SystemArea. (line 87)
* -iso_mbr_part_type Set type of ISO MBR partition: SystemArea.
(line 129)
* -J enable production of Joliet directory tree: SetExtras. (line 147)
* -J enable production of Joliet directory tree: SetExtras. (line 156)
* -jigdo-checksum-algorithm set data file checksum algorithm: Jigdo.
(line 42)
* -jigdo-exclude add exclusion pattern for checksum file: Jigdo.
@ -2203,9 +2214,9 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -jigdo-template-compress choose compression algorithm: Jigdo.
(line 83)
* -joliet enable production of Joliet directory tree: SetExtras.
(line 151)
* -joliet-long allow longer Joliet names: SetExtras. (line 153)
* -joliet-utf16 use UTF-16 with Joliet names: SetExtras. (line 159)
(line 160)
* -joliet-long allow longer Joliet names: SetExtras. (line 162)
* -joliet-utf16 use UTF-16 with Joliet names: SetExtras. (line 168)
* -l allow 31 characters in ISO file names: SetCompl. (line 56)
* -log-file redirect stderr messages: Miscellaneous. (line 33)
* -m exclude disk files from inserting: SetInsert. (line 41)
@ -2387,14 +2398,14 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
(line 238)
* GPT, _definition: SystemArea. (line 13)
* Group, for all files, -gid: SetProduct. (line 83)
* HFS+, enables production: SetExtras. (line 164)
* HFS+, issue blessing ppc_bootdir, -hfs-bless: SetExtras. (line 221)
* HFS+, issue blessing, -hfs-bless-by: SetExtras. (line 211)
* HFS+, set allocation block size: SetExtras. (line 197)
* HFS+, set APM block size: SetExtras. (line 201)
* HFS+, enables production: SetExtras. (line 173)
* HFS+, issue blessing ppc_bootdir, -hfs-bless: SetExtras. (line 230)
* HFS+, issue blessing, -hfs-bless-by: SetExtras. (line 220)
* HFS+, set allocation block size: SetExtras. (line 206)
* HFS+, set APM block size: SetExtras. (line 210)
* HFS+, set creator and type of file, -hfsplus-file-creator-type: SetExtras.
(line 208)
* HFS+, set serial number: SetExtras. (line 193)
(line 217)
* HFS+, set serial number: SetExtras. (line 202)
* HFS+, _definition: Standards. (line 32)
* Hiding, by ISO RR path, -hide_iso_path: SetHide. (line 31)
* Hiding, from HFS+, -hide-hfsplus: SetHide. (line 25)
@ -2457,16 +2468,18 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Jigdo Template Extraction, -jigdo-template-compress: Jigdo. (line 83)
* Jigdo Template Extraction, -md5-list: Jigdo. (line 81)
* Jigdo Template Extraction, _definition: Jigdo. (line 6)
* Joliet, allows longer names, -joliet-long: SetExtras. (line 153)
* Joliet, enable, -J, -joliet: SetExtras. (line 147)
* Joliet, allows longer names, -joliet-long: SetExtras. (line 162)
* Joliet, enable, -J, -joliet: SetExtras. (line 156)
* Joliet, _definition: Standards. (line 21)
* Links, follow on disk, -f, -follow-links: SetInsert. (line 32)
* Links, record and load hard links, --hardlinks: SetExtras. (line 130)
* Links, record and load hard links, --hardlinks: SetExtras. (line 139)
* Linux file attributes, record and load, --lfa_flags: SetExtras.
(line 122)
* MBR, GPT, append partition, -append_partition: SystemArea. (line 208)
* MBR, sectors per head, -partition_sec_hd: SystemArea. (line 180)
* MBR, sectors per head, -partition_sec_hd <1>: SystemArea. (line 183)
* MBR, _definition: SystemArea. (line 9)
* MD5, record and load, --md5: SetExtras. (line 122)
* MD5, record and load, --md5: SetExtras. (line 131)
* Message output, increase frequency, -gui: Miscellaneous. (line 29)
* Message output, redirect stderr, -log-file: Miscellaneous. (line 33)
* Message output, suppress, -quiet: Miscellaneous. (line 25)
@ -2493,7 +2506,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
(line 16)
* Rock Ridge, disable production, --norock: SetExtras. (line 28)
* Rock Ridge, _definition: Standards. (line 14)
* scdbackup, record checksum tag, --scdbackup_tag: SetExtras. (line 138)
* scdbackup, record checksum tag, --scdbackup_tag: SetExtras. (line 147)
* Session, select path, -M, -prev-session, -dev: Loading. (line 11)
* Session, set load and write address, -C, -cdrecord-params: Loading.
(line 25)
@ -2502,7 +2515,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* System Id, set, -sysid: ImageId. (line 43)
* Table-of-content, emulation off, --no-emul-toc: SetProduct. (line 41)
* Table-of-content, emulation, --emul-toc: SetProduct. (line 33)
* UTF-16, for Joliet paths, -joliet-utf16: SetExtras. (line 159)
* UTF-16, for Joliet paths, -joliet-utf16: SetExtras. (line 168)
* Verbosity, high, -v, -verbose: Miscellaneous. (line 38)
* Volume Id, set, -V, -volid: ImageId. (line 13)
* Volume Set Id, set, -volset: ImageId. (line 25)
@ -2533,27 +2546,27 @@ Node: SetInsert9530
Node: SetProduct15465
Node: SetCompl21037
Node: SetExtras23629
Node: SetHide35238
Node: ImageId37237
Node: Bootable41519
Node: SystemArea47805
Node: Charset67533
Node: Jigdo68558
Node: Miscellaneous73528
Node: Examples75173
Node: ExSimple75667
Node: ExGraft76150
Node: ExMkisofs77450
Node: ExGrowisofs79258
Node: ExIncBackup80448
Node: ExIncBckAcc83624
Node: ExBootable85329
Node: Files89511
Node: Environ90606
Node: Seealso91479
Node: Bugreport92130
Node: Legal92723
Node: CommandIdx93620
Node: ConceptIdx110758
Node: SetHide35680
Node: ImageId37679
Node: Bootable41961
Node: SystemArea48247
Node: Charset67975
Node: Jigdo69000
Node: Miscellaneous73970
Node: Examples75615
Node: ExSimple76109
Node: ExGraft76592
Node: ExMkisofs77892
Node: ExGrowisofs79700
Node: ExIncBackup80890
Node: ExIncBckAcc84066
Node: ExBootable85771
Node: Files89953
Node: Environ91048
Node: Seealso91921
Node: Bugreport92598
Node: Legal93191
Node: CommandIdx94088
Node: ConceptIdx111299

End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@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 .TH XORRISOFS 1 "Version 1.5.7, Jun 17, 2024"
@c man .TH XORRISOFS 1 "Version 1.5.7, Jul 21, 2024"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -943,7 +943,7 @@ Alias of -rr_reloc_dir "/.rr_moved"
Enable all options which improve backup fidelity:
@*
@minus{}@minus{}acl, @minus{}@minus{}xattr-any, @minus{}@minus{}md5,
@minus{}@minus{}hardlinks.
@minus{}@minus{}hardlinks, @minus{}@minus{}lfa_flags.
@*
If you later restore a backup with xattr from non-user namespaces, then make
sure that the target operating system and filesystem know what these attributes
@ -951,8 +951,8 @@ 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.
@*
Option -xattr after option -for_backup excludes non-user attributes
from being recorded.
Option @minus{}@minus{}xattr after option @minus{}@minus{}for_backup excludes
non-user attributes from being recorded.
@c man .TP
@item @minus{}@minus{}acl
@kindex @minus{}@minus{}acl Recording of ACLs
@ -981,6 +981,18 @@ Enable recording and loading of GNU/Linux or FreeBSD extended attributes in
all namespaces. This might need administrator privileges, even if the owner
of the disk file tries to read the attributes.
@c man .TP
@item @minus{}@minus{}lfa_flags
@kindex @minus{}@minus{}lfa_flags Recording of Linux file attributes
@cindex Linux file attributes, record and load, @minus{}@minus{}lfa_flags
@*
Enable recording and loading of Linux file attributes as described in
man 1 chattr.
@*
Disable restoring of such attributes just in case that the mkisofs emulation
gets ended and files get restored to disk. If restoring of the attributes is
desired in this case, execute xorriso command -lfa_flags "restore" with
possibly appended mode texts like ":restore_mask=aAcCdDijmPsStTux".
@c man .TP
@item @minus{}@minus{}md5
@kindex @minus{}@minus{}md5 Recording of MD5 checksums
@cindex MD5, record and load, @minus{}@minus{}md5
@ -2906,11 +2918,13 @@ Startup files and program options can override the effect of SOURCE_DATE_EPOCH.
@c man .BR cdrskin(1),
@c man .BR xorriso(1)
@c man .TP
@c man ACL and xattr
@c man ACL, xattr, Linux file attributes
@c man .BR getfacl(1),
@c man .BR setfacl(1),
@c man .BR getfattr(1),
@c man .BR setfattr(1)
@c man .BR setfattr(1),
@c man .BR lsattr(1),
@c man .BR chattr(1)
@c man .TP
@c man MD5 checksums
@c man .BR md5sum(1)
@ -2943,6 +2957,8 @@ getfacl(1),
setfacl(1),
getfattr(1),
setfattr(1)
lsattr(1),
chattr(1)
@item MD5 checksums
md5sum(1)
@item On FreeBSD some commands differ: