Allowed lseekable device files with -cut_out. Proof-of-concept by Ivan Shmakov.
This commit is contained in:
parent
0ef65a7837
commit
fc587966d3
@ -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-2019 Thomas Schmitt, <scdbackup@gmx.net>
|
Copyright 2007-2022 Thomas Schmitt, <scdbackup@gmx.net>
|
||||||
|
|
||||||
Provided under GPL version 2 or later.
|
Provided under GPL version 2 or later.
|
||||||
|
|
||||||
@ -1225,6 +1225,27 @@ ex:;
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int Xorriso_lseek_capacity(struct XorrisO *xorriso, char *path,
|
||||||
|
off_t *capacity, int flag)
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
|
||||||
|
fd= open(path, O_RDONLY);
|
||||||
|
if(fd < 0) {
|
||||||
|
sprintf(xorriso->info_text,
|
||||||
|
"Determination of random-access readable capacity failed: ");
|
||||||
|
Text_shellsafe(path, xorriso->info_text, 1);
|
||||||
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
*capacity= lseek(fd, 0, SEEK_END);
|
||||||
|
close(fd);
|
||||||
|
if(*capacity < 0)
|
||||||
|
return(-1);
|
||||||
|
return(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* @param flag bit0= -follow: disk_path is not a command parameter
|
/* @param flag bit0= -follow: disk_path is not a command parameter
|
||||||
*/
|
*/
|
||||||
int Xorriso_cut_out(struct XorrisO *xorriso, char *disk_path,
|
int Xorriso_cut_out(struct XorrisO *xorriso, char *disk_path,
|
||||||
@ -1232,13 +1253,14 @@ int Xorriso_cut_out(struct XorrisO *xorriso, char *disk_path,
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
char *eff_source= NULL, *eff_dest= NULL;
|
char *eff_source= NULL, *eff_dest= NULL;
|
||||||
|
off_t src_size;
|
||||||
struct stat stbuf;
|
struct stat stbuf;
|
||||||
|
|
||||||
Xorriso_alloc_meM(eff_source, char, SfileadrL);
|
Xorriso_alloc_meM(eff_source, char, SfileadrL);
|
||||||
Xorriso_alloc_meM(eff_dest, char, SfileadrL);
|
Xorriso_alloc_meM(eff_dest, char, SfileadrL);
|
||||||
|
|
||||||
ret= Xorriso_normalize_img_path(xorriso, xorriso->wdx, disk_path, eff_source,
|
ret= Xorriso_normalize_img_path(xorriso, xorriso->wdx, disk_path, eff_source,
|
||||||
2|4);
|
2 | 4);
|
||||||
if(ret<=0)
|
if(ret<=0)
|
||||||
goto ex;
|
goto ex;
|
||||||
ret= Xorriso_path_is_excluded(xorriso, disk_path, !(flag&1));
|
ret= Xorriso_path_is_excluded(xorriso, disk_path, !(flag&1));
|
||||||
@ -1265,22 +1287,44 @@ int Xorriso_cut_out(struct XorrisO *xorriso, char *disk_path,
|
|||||||
{ret= 0; goto ex;}
|
{ret= 0; goto ex;}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(S_ISREG(stbuf.st_mode)) {
|
if(S_ISREG(stbuf.st_mode)) {
|
||||||
if(stbuf.st_size<startbyte) {
|
src_size= stbuf.st_size;
|
||||||
Xorriso_msgs_submit(xorriso, 0, eff_source, 0, "ERRFILE", 0);
|
} else if(!(S_ISDIR(stbuf.st_mode) || S_ISLNK(stbuf.st_mode) ||
|
||||||
sprintf(xorriso->info_text,
|
S_ISFIFO(stbuf.st_mode) || S_ISSOCK(stbuf.st_mode))) {
|
||||||
"-cut_out: Byte offset %.f larger than file size %.f",
|
ret= Xorriso_lseek_capacity(xorriso, eff_source, &src_size, 0);
|
||||||
(double) startbyte, (double) stbuf.st_size);
|
if(ret <= 0)
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "SORRY", 0);
|
goto unsupported_type;
|
||||||
{ret= 0; goto ex;}
|
if(src_size <= 0) {
|
||||||
|
Xorriso_msgs_submit(xorriso, 0,
|
||||||
|
"-cut_out: Special file with addressable size range of 0 encountered",
|
||||||
|
0, "FAILURE", 0);
|
||||||
|
goto unsupported_type;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
unsupported_type:;
|
unsupported_type:;
|
||||||
Xorriso_msgs_submit(xorriso, 0, eff_source, 0, "ERRFILE", 0);
|
Xorriso_msgs_submit(xorriso, 0, eff_source, 0, "ERRFILE", 0);
|
||||||
sprintf(xorriso->info_text, "-cut_out: Unsupported file type (%s) with ",
|
if(S_ISDIR(stbuf.st_mode) || S_ISLNK(stbuf.st_mode) ||
|
||||||
|
S_ISFIFO(stbuf.st_mode) || S_ISSOCK(stbuf.st_mode)) {
|
||||||
|
sprintf(xorriso->info_text,
|
||||||
|
"-cut_out: File type (%s) is not suitable for this command: ",
|
||||||
Ftypetxt(stbuf.st_mode, 0));
|
Ftypetxt(stbuf.st_mode, 0));
|
||||||
|
} else {
|
||||||
|
sprintf(xorriso->info_text,
|
||||||
|
"-cut_out: File (%s) does not support random read access: ",
|
||||||
|
Ftypetxt(stbuf.st_mode, 0));
|
||||||
|
}
|
||||||
Text_shellsafe(eff_source, xorriso->info_text, 1);
|
Text_shellsafe(eff_source, xorriso->info_text, 1);
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||||
|
{ret= 0; goto ex;}
|
||||||
|
}
|
||||||
|
if(src_size < startbyte) {
|
||||||
|
Xorriso_msgs_submit(xorriso, 0, eff_source, 0, "ERRFILE", 0);
|
||||||
|
sprintf(xorriso->info_text,
|
||||||
|
"-cut_out: Byte offset %.f larger than addressable file size %.f : ",
|
||||||
|
(double) startbyte, (double) src_size);
|
||||||
|
Text_shellsafe(eff_source, xorriso->info_text, 1);
|
||||||
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||||
{ret= 0; goto ex;}
|
{ret= 0; goto ex;}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
bit3= return root directory as "/" and not as ""
|
bit3= return root directory as "/" and not as ""
|
||||||
bit4= (with bit2) determine type of disk file eff_path
|
bit4= (with bit2) determine type of disk file eff_path
|
||||||
and return 0 if not existing
|
and return 0 if not existing
|
||||||
bit5= (with bit3) this is not a parameter
|
bit5= (with bit4) this is not a parameter
|
||||||
bit6= insist in having an ISO image, even with bits1+2
|
bit6= insist in having an ISO image, even with bits1+2
|
||||||
@return -1 = faulty path format, 0 = not found ,
|
@return -1 = faulty path format, 0 = not found ,
|
||||||
1 = found simple node , 2 = found directory
|
1 = found simple node , 2 = found directory
|
||||||
|
@ -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.5.5, Sep 13, 2021"
|
.TH XORRISO 1 "Version 1.5.5, Apr 26, 2022"
|
||||||
.\" 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:
|
||||||
@ -1393,14 +1393,16 @@ iso_rr_paths are derived by exchanging disk_prefix by iso_rr_prefix before
|
|||||||
pattern expansion happens. The current \-cdi directory has no influence.
|
pattern expansion happens. The current \-cdi directory has no influence.
|
||||||
.TP
|
.TP
|
||||||
\fB\-cut_out\fR disk_path byte_offset byte_count iso_rr_path
|
\fB\-cut_out\fR disk_path byte_offset byte_count iso_rr_path
|
||||||
Map a byte interval of a regular disk file into a regular file in the ISO
|
Map a byte interval of a regular disk file or of a device file into a regular
|
||||||
image.
|
file in the ISO image. The file depicted by disk_path has to support random
|
||||||
This may be necessary if the disk file is larger than a single medium, or if
|
read access.
|
||||||
it exceeds the traditional limit of 2 GiB \- 1 for old operating systems,
|
|
||||||
or the limit of 4 GiB \- 1 for newer ones. Only the newest Linux kernels
|
|
||||||
seem to read properly files >= 4 GiB \- 1.
|
|
||||||
.br
|
.br
|
||||||
A clumsy remedy for this limit is to backup file pieces and to concatenate
|
Cutting out a byte interval may be necessary if the disk file is larger than
|
||||||
|
a single medium, or if it exceeds the traditional limit of 2 GiB \- 1 for old
|
||||||
|
operating systems, or the limit of 4 GiB \- 1 for newer ones. Contemporary
|
||||||
|
Linux kernels are able to read properly files >= 4 GiB \- 1.
|
||||||
|
.br
|
||||||
|
A clumsy remedy for such limits is to backup file pieces and to concatenate
|
||||||
them at restore time. A well tested chopping size is 2047m.
|
them at restore time. A well tested chopping size is 2047m.
|
||||||
It is permissible to request a higher byte_count than available. The
|
It is permissible to request a higher byte_count than available. The
|
||||||
resulting file will be truncated to the correct size of a final piece.
|
resulting file will be truncated to the correct size of a final piece.
|
||||||
@ -1425,7 +1427,14 @@ reside in the same ISO directory with no other files, and if the names look
|
|||||||
like above, then their ISO directory will be recognized and handled like a
|
like above, then their ISO directory will be recognized and handled like a
|
||||||
regular file. This affects commands \-compare*, \-update*, and overwrite
|
regular file. This affects commands \-compare*, \-update*, and overwrite
|
||||||
situations.
|
situations.
|
||||||
|
.br
|
||||||
See command \-split_size for details.
|
See command \-split_size for details.
|
||||||
|
.br
|
||||||
|
Another use case is copying the content of a device file as interval or as
|
||||||
|
a whole into the emerging ISO filesystem. The fact that the byte_count is
|
||||||
|
allowed to be unreasonably high enables copying of a whole device:
|
||||||
|
.br
|
||||||
|
\-cut_out /dev/sdd3 0 1000g /content_of_sdd3
|
||||||
.TP
|
.TP
|
||||||
\fB\-cpr\fR disk_path [***] iso_rr_path
|
\fB\-cpr\fR disk_path [***] iso_rr_path
|
||||||
Insert the given files or directory trees from filesystem
|
Insert the given files or directory trees from filesystem
|
||||||
@ -2908,7 +2917,7 @@ Both words then stem from a reserved subset of UCS\-2.
|
|||||||
.br
|
.br
|
||||||
"rec_mtime" records with non\-RockRidge directory entries the disk file's
|
"rec_mtime" records with non\-RockRidge directory entries the disk file's
|
||||||
mtime and not the creation time of the image. This applies to the ECMA\-119
|
mtime and not the creation time of the image. This applies to the ECMA\-119
|
||||||
tree (plain ISO 9660), to Joliet, and to ISO 9660:1999. "rec_time" is
|
tree (plain ISO 9660), to Joliet, and to ISO 9660:1999. "rec_mtime" is
|
||||||
default. If disabled, it gets automatically re\-enabled by \-as mkisofs emulation
|
default. If disabled, it gets automatically re\-enabled by \-as mkisofs emulation
|
||||||
when a pathspec is encountered.
|
when a pathspec is encountered.
|
||||||
.br
|
.br
|
||||||
@ -6551,7 +6560,7 @@ Thomas Schmitt <scdbackup@gmx.net>
|
|||||||
.br
|
.br
|
||||||
for libburnia\-project.org
|
for libburnia\-project.org
|
||||||
.SH COPYRIGHT
|
.SH COPYRIGHT
|
||||||
Copyright (c) 2007 \- 2021 Thomas Schmitt
|
Copyright (c) 2007 \- 2022 Thomas Schmitt
|
||||||
.br
|
.br
|
||||||
Permission is granted to distribute this text freely. It shall only be
|
Permission is granted to distribute this text freely. It shall only be
|
||||||
modified in sync with the technical properties of \fBxorriso\fR.
|
modified in sync with the technical properties of \fBxorriso\fR.
|
||||||
|
@ -4,7 +4,7 @@ xorriso.texi.
|
|||||||
xorriso - creates, loads, manipulates and writes ISO 9660 filesystem
|
xorriso - creates, loads, manipulates and writes ISO 9660 filesystem
|
||||||
images with Rock Ridge extensions.
|
images with Rock Ridge extensions.
|
||||||
|
|
||||||
Copyright (C) 2007 - 2021 Thomas Schmitt
|
Copyright (C) 2007 - 2022 Thomas Schmitt
|
||||||
|
|
||||||
Permission is granted to distribute this text freely.
|
Permission is granted to distribute this text freely.
|
||||||
INFO-DIR-SECTION Archiving
|
INFO-DIR-SECTION Archiving
|
||||||
@ -1246,13 +1246,15 @@ filesystem.
|
|||||||
disk_prefix by iso_rr_prefix before pattern expansion happens. The
|
disk_prefix by iso_rr_prefix before pattern expansion happens. The
|
||||||
current -cdi directory has no influence.
|
current -cdi directory has no influence.
|
||||||
-cut_out disk_path byte_offset byte_count iso_rr_path
|
-cut_out disk_path byte_offset byte_count iso_rr_path
|
||||||
Map a byte interval of a regular disk file into a regular file in
|
Map a byte interval of a regular disk file or of a device file into
|
||||||
the ISO image. This may be necessary if the disk file is larger
|
a regular file in the ISO image. The file depicted by disk_path
|
||||||
than a single medium, or if it exceeds the traditional limit of 2
|
has to support random read access.
|
||||||
GiB - 1 for old operating systems, or the limit of 4 GiB - 1 for
|
Cutting out a byte interval may be necessary if the disk file is
|
||||||
newer ones. Only the newest Linux kernels seem to read properly
|
larger than a single medium, or if it exceeds the traditional limit
|
||||||
files >= 4 GiB - 1.
|
of 2 GiB - 1 for old operating systems, or the limit of 4 GiB - 1
|
||||||
A clumsy remedy for this limit is to backup file pieces and to
|
for newer ones. Contemporary Linux kernels are able to read
|
||||||
|
properly files >= 4 GiB - 1.
|
||||||
|
A clumsy remedy for such limits is to backup file pieces and to
|
||||||
concatenate them at restore time. A well tested chopping size is
|
concatenate them at restore time. A well tested chopping size is
|
||||||
2047m. It is permissible to request a higher byte_count than
|
2047m. It is permissible to request a higher byte_count than
|
||||||
available. The resulting file will be truncated to the correct
|
available. The resulting file will be truncated to the correct
|
||||||
@ -1268,8 +1270,13 @@ filesystem.
|
|||||||
of a file reside in the same ISO directory with no other files, and
|
of a file reside in the same ISO directory with no other files, and
|
||||||
if the names look like above, then their ISO directory will be
|
if the names look like above, then their ISO directory will be
|
||||||
recognized and handled like a regular file. This affects commands
|
recognized and handled like a regular file. This affects commands
|
||||||
-compare*, -update*, and overwrite situations. See command
|
-compare*, -update*, and overwrite situations.
|
||||||
-split_size for details.
|
See command -split_size for details.
|
||||||
|
Another use case is copying the content of a device file as
|
||||||
|
interval or as a whole into the emerging ISO filesystem. The fact
|
||||||
|
that the byte_count is allowed to be unreasonably high enables
|
||||||
|
copying of a whole device:
|
||||||
|
-cut_out /dev/sdd3 0 1000g /content_of_sdd3
|
||||||
-cpr disk_path [***] iso_rr_path
|
-cpr disk_path [***] iso_rr_path
|
||||||
Insert the given files or directory trees from filesystem into the
|
Insert the given files or directory trees from filesystem into the
|
||||||
ISO image.
|
ISO image.
|
||||||
@ -2485,7 +2492,7 @@ according to the setting of command -acl.
|
|||||||
"rec_mtime" records with non-RockRidge directory entries the disk
|
"rec_mtime" records with non-RockRidge directory entries the disk
|
||||||
file's mtime and not the creation time of the image. This applies
|
file's mtime and not the creation time of the image. This applies
|
||||||
to the ECMA-119 tree (plain ISO 9660), to Joliet, and to ISO
|
to the ECMA-119 tree (plain ISO 9660), to Joliet, and to ISO
|
||||||
9660:1999. "rec_time" is default. If disabled, it gets
|
9660:1999. "rec_mtime" is default. If disabled, it gets
|
||||||
automatically re-enabled by -as mkisofs emulation when a pathspec
|
automatically re-enabled by -as mkisofs emulation when a pathspec
|
||||||
is encountered.
|
is encountered.
|
||||||
"new_rr" uses Rock Ridge version 1.12 (suitable for GNU/Linux but
|
"new_rr" uses Rock Ridge version 1.12 (suitable for GNU/Linux but
|
||||||
@ -5548,7 +5555,7 @@ for libburnia-project.org
|
|||||||
15.2 Copyright
|
15.2 Copyright
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Copyright (c) 2007 - 2021 Thomas Schmitt
|
Copyright (c) 2007 - 2022 Thomas Schmitt
|
||||||
Permission is granted to distribute this text freely. It shall only be
|
Permission is granted to distribute this text freely. It shall only be
|
||||||
modified in sync with the technical properties of 'xorriso'. If you
|
modified in sync with the technical properties of 'xorriso'. If you
|
||||||
make use of the license to derive modified versions of 'xorriso' then
|
make use of the license to derive modified versions of 'xorriso' then
|
||||||
@ -5609,7 +5616,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -chmod_r sets permissions in ISO image: Manip. (line 66)
|
* -chmod_r sets permissions in ISO image: Manip. (line 66)
|
||||||
* -chown sets ownership in ISO image: Manip. (line 43)
|
* -chown sets ownership in ISO image: Manip. (line 43)
|
||||||
* -chown_r sets ownership in ISO image: Manip. (line 47)
|
* -chown_r sets ownership in ISO image: Manip. (line 47)
|
||||||
* -clone copies ISO directory tree: Insert. (line 185)
|
* -clone copies ISO directory tree: Insert. (line 192)
|
||||||
* -close controls media closing: SetWrite. (line 484)
|
* -close controls media closing: SetWrite. (line 484)
|
||||||
* -close_damaged closes damaged track and session: Writing. (line 205)
|
* -close_damaged closes damaged track and session: Writing. (line 205)
|
||||||
* -close_filter_list bans filter registration: Filter. (line 50)
|
* -close_filter_list bans filter registration: Filter. (line 50)
|
||||||
@ -5622,12 +5629,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -concat copies ISO file content: Restore. (line 146)
|
* -concat copies ISO file content: Restore. (line 146)
|
||||||
* -copyright_file sets copyright file name: SetWrite. (line 245)
|
* -copyright_file sets copyright file name: SetWrite. (line 245)
|
||||||
* -cpax copies files to disk: Restore. (line 128)
|
* -cpax copies files to disk: Restore. (line 128)
|
||||||
* -cpr inserts like with cp -r: Insert. (line 164)
|
* -cpr inserts like with cp -r: Insert. (line 171)
|
||||||
* -cpx copies files to disk: Restore. (line 117)
|
* -cpx copies files to disk: Restore. (line 117)
|
||||||
* -cp_clone copies ISO directory tree: Insert. (line 196)
|
* -cp_clone copies ISO directory tree: Insert. (line 203)
|
||||||
* -cp_rx copies file trees to disk: Restore. (line 131)
|
* -cp_rx copies file trees to disk: Restore. (line 131)
|
||||||
* -cp_rx copies file trees to disk <1>: Restore. (line 139)
|
* -cp_rx copies file trees to disk <1>: Restore. (line 139)
|
||||||
* -cut_out inserts piece of data file: Insert. (line 139)
|
* -cut_out inserts piece of data file or device: Insert. (line 139)
|
||||||
* -data_cache_size adjusts read cache size: Loading. (line 362)
|
* -data_cache_size adjusts read cache size: Loading. (line 362)
|
||||||
* -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)
|
||||||
@ -5694,7 +5701,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -list_formats lists available formats: Writing. (line 128)
|
* -list_formats lists available formats: Writing. (line 128)
|
||||||
* -list_profiles lists supported media: Writing. (line 163)
|
* -list_profiles lists supported media: Writing. (line 163)
|
||||||
* -list_speeds lists available write speeds: Writing. (line 139)
|
* -list_speeds lists available write speeds: Writing. (line 139)
|
||||||
* -lns creates ISO symbolic link: Insert. (line 181)
|
* -lns creates ISO symbolic link: Insert. (line 188)
|
||||||
* -load addresses a particular session as input: Loading. (line 54)
|
* -load addresses a particular session as input: Loading. (line 54)
|
||||||
* -local_charset sets terminal character set: Charset. (line 57)
|
* -local_charset sets terminal character set: Charset. (line 57)
|
||||||
* -logfile logs output channels to file: Frontend. (line 19)
|
* -logfile logs output channels to file: Frontend. (line 19)
|
||||||
@ -5711,7 +5718,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -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 184)
|
* -md5 controls handling of MD5 sums: Loading. (line 184)
|
||||||
* -mkdir creates ISO directory: Insert. (line 177)
|
* -mkdir creates ISO directory: Insert. (line 184)
|
||||||
* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 419)
|
* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 419)
|
||||||
* -mount issues mount command for ISO session: Restore. (line 202)
|
* -mount issues mount command for ISO session: Restore. (line 202)
|
||||||
* -mount_cmd composes mount command line: Inquiry. (line 49)
|
* -mount_cmd composes mount command line: Inquiry. (line 49)
|
||||||
@ -5876,9 +5883,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* Dialog, EOF resistant, -named_pipe_loop: Frontend. (line 119)
|
* Dialog, EOF resistant, -named_pipe_loop: Frontend. (line 119)
|
||||||
* Dialog, line editing, -use_readline: DialogCtl. (line 26)
|
* Dialog, line editing, -use_readline: DialogCtl. (line 26)
|
||||||
* Dialog, terminal geometry, -page: DialogCtl. (line 18)
|
* Dialog, terminal geometry, -page: DialogCtl. (line 18)
|
||||||
* Directories, copy, -cp_clone: Insert. (line 196)
|
* Directories, copy, -cp_clone: Insert. (line 203)
|
||||||
* Directory, copy, -clone: Insert. (line 185)
|
* Directory, copy, -clone: Insert. (line 192)
|
||||||
* Directory, create, -mkdir: Insert. (line 177)
|
* Directory, create, -mkdir: Insert. (line 184)
|
||||||
* 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: AqDrive. (line 43)
|
* Drive, accessability, -drive_class: AqDrive. (line 43)
|
||||||
@ -5977,9 +5984,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* Insert, paths from disk file, -map_l: Insert. (line 96)
|
* Insert, paths from disk file, -map_l: Insert. (line 96)
|
||||||
* Insert, paths from disk file, -path_list: Insert. (line 81)
|
* Insert, paths from disk file, -path_list: Insert. (line 81)
|
||||||
* Insert, paths from disk file, -quoted_path_list: Insert. (line 85)
|
* Insert, paths from disk file, -quoted_path_list: Insert. (line 85)
|
||||||
* Insert, paths, -cpr: Insert. (line 164)
|
* Insert, paths, -cpr: Insert. (line 171)
|
||||||
* Insert, pathspecs, -add: Insert. (line 44)
|
* Insert, pathspecs, -add: Insert. (line 44)
|
||||||
* Insert, piece of data file, -cut_out: Insert. (line 139)
|
* Insert, piece of data file or device, -cut_out: Insert. (line 139)
|
||||||
* Interval reader for system area and partitions: Bootable. (line 32)
|
* Interval reader for system area and partitions: Bootable. (line 32)
|
||||||
* ISO 9660, _definition: Model. (line 6)
|
* ISO 9660, _definition: Model. (line 6)
|
||||||
* iso_rr_path, _definition: Insert. (line 7)
|
* iso_rr_path, _definition: Insert. (line 7)
|
||||||
@ -6098,7 +6105,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26)
|
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26)
|
||||||
* SUN Disk Label, production: Bootable. (line 383)
|
* SUN Disk Label, production: Bootable. (line 383)
|
||||||
* SUN SPARC boot images, activation: Bootable. (line 464)
|
* SUN SPARC boot images, activation: Bootable. (line 464)
|
||||||
* Symbolic link, create, -lns: Insert. (line 181)
|
* Symbolic link, create, -lns: Insert. (line 188)
|
||||||
* System area, _definition: Bootable. (line 200)
|
* System area, _definition: Bootable. (line 200)
|
||||||
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 308)
|
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 308)
|
||||||
* Table-of-content, show, -toc: Inquiry. (line 27)
|
* Table-of-content, show, -toc: Inquiry. (line 27)
|
||||||
@ -6160,47 +6167,47 @@ Node: ArgSort27718
|
|||||||
Node: AqDrive29212
|
Node: AqDrive29212
|
||||||
Node: Loading36369
|
Node: Loading36369
|
||||||
Node: Insert58208
|
Node: Insert58208
|
||||||
Node: SetInsert69711
|
Node: SetInsert70117
|
||||||
Node: Manip79675
|
Node: Manip80081
|
||||||
Node: CmdFind89775
|
Node: CmdFind90181
|
||||||
Node: Filter108704
|
Node: Filter109110
|
||||||
Node: Writing113326
|
Node: Writing113732
|
||||||
Node: SetWrite125581
|
Node: SetWrite125987
|
||||||
Node: Bootable155432
|
Node: Bootable155839
|
||||||
Node: Jigdo183313
|
Node: Jigdo183720
|
||||||
Node: Charset188316
|
Node: Charset188723
|
||||||
Node: Exception191645
|
Node: Exception192052
|
||||||
Node: DialogCtl197774
|
Node: DialogCtl198181
|
||||||
Node: Inquiry200376
|
Node: Inquiry200783
|
||||||
Node: Navigate209258
|
Node: Navigate209665
|
||||||
Node: Verify217965
|
Node: Verify218372
|
||||||
Node: Restore229114
|
Node: Restore229521
|
||||||
Node: Emulation241230
|
Node: Emulation241637
|
||||||
Node: Scripting251686
|
Node: Scripting252093
|
||||||
Node: Frontend259469
|
Node: Frontend259876
|
||||||
Node: Examples269095
|
Node: Examples269502
|
||||||
Node: ExDevices270273
|
Node: ExDevices270680
|
||||||
Node: ExCreate270934
|
Node: ExCreate271341
|
||||||
Node: ExDialog272234
|
Node: ExDialog272641
|
||||||
Node: ExGrowing273505
|
Node: ExGrowing273912
|
||||||
Node: ExModifying274314
|
Node: ExModifying274721
|
||||||
Node: ExBootable274824
|
Node: ExBootable275231
|
||||||
Node: ExCharset275379
|
Node: ExCharset275786
|
||||||
Node: ExPseudo276275
|
Node: ExPseudo276682
|
||||||
Node: ExCdrecord277202
|
Node: ExCdrecord277609
|
||||||
Node: ExMkisofs277522
|
Node: ExMkisofs277929
|
||||||
Node: ExGrowisofs279419
|
Node: ExGrowisofs279826
|
||||||
Node: ExException280572
|
Node: ExException280979
|
||||||
Node: ExTime281030
|
Node: ExTime281437
|
||||||
Node: ExIncBackup281488
|
Node: ExIncBackup281895
|
||||||
Node: ExRestore285514
|
Node: ExRestore285921
|
||||||
Node: ExRecovery286460
|
Node: ExRecovery286867
|
||||||
Node: Files287032
|
Node: Files287439
|
||||||
Node: Environ288366
|
Node: Environ288773
|
||||||
Node: Seealso289114
|
Node: Seealso289521
|
||||||
Node: Bugreport289831
|
Node: Bugreport290238
|
||||||
Node: Legal290422
|
Node: Legal290829
|
||||||
Node: CommandIdx291434
|
Node: CommandIdx291841
|
||||||
Node: ConceptIdx309259
|
Node: ConceptIdx309666
|
||||||
|
|
||||||
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.5.5, Sep 13, 2021"
|
@c man .TH XORRISO 1 "Version 1.5.5, Apr 26, 2022"
|
||||||
@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:
|
||||||
@ -69,7 +69,7 @@
|
|||||||
xorriso - creates, loads, manipulates and writes ISO 9660 filesystem images
|
xorriso - creates, loads, manipulates and writes ISO 9660 filesystem images
|
||||||
with Rock Ridge extensions.
|
with Rock Ridge extensions.
|
||||||
|
|
||||||
Copyright @copyright{} 2007 - 2021 Thomas Schmitt
|
Copyright @copyright{} 2007 - 2022 Thomas Schmitt
|
||||||
|
|
||||||
@quotation
|
@quotation
|
||||||
Permission is granted to distribute this text freely.
|
Permission is granted to distribute this text freely.
|
||||||
@ -1701,16 +1701,18 @@ iso_rr_paths are derived by exchanging disk_prefix by iso_rr_prefix before
|
|||||||
pattern expansion happens. The current -cdi directory has no influence.
|
pattern expansion happens. The current -cdi directory has no influence.
|
||||||
@c man .TP
|
@c man .TP
|
||||||
@item -cut_out disk_path byte_offset byte_count iso_rr_path
|
@item -cut_out disk_path byte_offset byte_count iso_rr_path
|
||||||
@kindex -cut_out inserts piece of data file
|
@kindex -cut_out inserts piece of data file or device
|
||||||
@cindex Insert, piece of data file, -cut_out
|
@cindex Insert, piece of data file or device, -cut_out
|
||||||
Map a byte interval of a regular disk file into a regular file in the ISO
|
Map a byte interval of a regular disk file or of a device file into a regular
|
||||||
image.
|
file in the ISO image. The file depicted by disk_path has to support random
|
||||||
This may be necessary if the disk file is larger than a single medium, or if
|
read access.
|
||||||
it exceeds the traditional limit of 2 GiB - 1 for old operating systems,
|
|
||||||
or the limit of 4 GiB - 1 for newer ones. Only the newest Linux kernels
|
|
||||||
seem to read properly files >= 4 GiB - 1.
|
|
||||||
@*
|
@*
|
||||||
A clumsy remedy for this limit is to backup file pieces and to concatenate
|
Cutting out a byte interval may be necessary if the disk file is larger than
|
||||||
|
a single medium, or if it exceeds the traditional limit of 2 GiB - 1 for old
|
||||||
|
operating systems, or the limit of 4 GiB - 1 for newer ones. Contemporary
|
||||||
|
Linux kernels are able to read properly files >= 4 GiB - 1.
|
||||||
|
@*
|
||||||
|
A clumsy remedy for such limits is to backup file pieces and to concatenate
|
||||||
them at restore time. A well tested chopping size is 2047m.
|
them at restore time. A well tested chopping size is 2047m.
|
||||||
It is permissible to request a higher byte_count than available. The
|
It is permissible to request a higher byte_count than available. The
|
||||||
resulting file will be truncated to the correct size of a final piece.
|
resulting file will be truncated to the correct size of a final piece.
|
||||||
@ -1735,7 +1737,14 @@ reside in the same ISO directory with no other files, and if the names look
|
|||||||
like above, then their ISO directory will be recognized and handled like a
|
like above, then their ISO directory will be recognized and handled like a
|
||||||
regular file. This affects commands -compare*, -update*, and overwrite
|
regular file. This affects commands -compare*, -update*, and overwrite
|
||||||
situations.
|
situations.
|
||||||
|
@*
|
||||||
See command -split_size for details.
|
See command -split_size for details.
|
||||||
|
@*
|
||||||
|
Another use case is copying the content of a device file as interval or as
|
||||||
|
a whole into the emerging ISO filesystem. The fact that the byte_count is
|
||||||
|
allowed to be unreasonably high enables copying of a whole device:
|
||||||
|
@*
|
||||||
|
-cut_out /dev/sdd3 0 1000g /content_of_sdd3
|
||||||
@c man .TP
|
@c man .TP
|
||||||
@item -cpr disk_path [***] iso_rr_path
|
@item -cpr disk_path [***] iso_rr_path
|
||||||
@kindex -cpr inserts like with cp -r
|
@kindex -cpr inserts like with cp -r
|
||||||
@ -3393,7 +3402,7 @@ Both words then stem from a reserved subset of UCS-2.
|
|||||||
@*
|
@*
|
||||||
"rec_mtime" records with non-RockRidge directory entries the disk file's
|
"rec_mtime" records with non-RockRidge directory entries the disk file's
|
||||||
mtime and not the creation time of the image. This applies to the ECMA-119
|
mtime and not the creation time of the image. This applies to the ECMA-119
|
||||||
tree (plain ISO 9660), to Joliet, and to ISO 9660:1999. "rec_time" is
|
tree (plain ISO 9660), to Joliet, and to ISO 9660:1999. "rec_mtime" is
|
||||||
default. If disabled, it gets automatically re-enabled by -as mkisofs emulation
|
default. If disabled, it gets automatically re-enabled by -as mkisofs emulation
|
||||||
when a pathspec is encountered.
|
when a pathspec is encountered.
|
||||||
@*
|
@*
|
||||||
@ -7620,7 +7629,7 @@ Thomas Schmitt <scdbackup@@gmx.net>
|
|||||||
for libburnia-project.org
|
for libburnia-project.org
|
||||||
@c man .SH COPYRIGHT
|
@c man .SH COPYRIGHT
|
||||||
@section Copyright
|
@section Copyright
|
||||||
Copyright (c) 2007 - 2021 Thomas Schmitt
|
Copyright (c) 2007 - 2022 Thomas Schmitt
|
||||||
@*
|
@*
|
||||||
Permission is granted to distribute this text freely. It shall only be
|
Permission is granted to distribute this text freely. It shall only be
|
||||||
modified in sync with the technical properties of @command{xorriso}.
|
modified in sync with the technical properties of @command{xorriso}.
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2022.04.22.113324"
|
#define Xorriso_timestamP "2022.04.26.101633"
|
||||||
|
Loading…
Reference in New Issue
Block a user