xorriso - creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions. |
xorriso [settings|actions] |
xorriso is a program which maps file objects from POSIX compliant filesystems into Rock Ridge enhanced ISO 9660 filesystems and allows session-wise manipulation of such filesystems. It can load the management information of existing ISO images and it writes the session results to optical media or to filesystem objects. A special property of xorriso is that it needs neither an external ISO 9660 formatter program nor an external burn program for CD or DVD but rather incorporates the libraries of libburnia-project.org . |
|
Operates on an existing ISO image or creates a new
one. |
|
Session model Maybe you first want to have a look at section EXAMPLES near the end of this text before reading the next few hundred lines of background information. |
|
Unlike other filesystems, ISO 9660 is not intended for
read-write operation but rather for being generated in a
single sweep and being written to media as a
session. The written image in its session can then be mounted by the operating system for being used read-only. Linux is able to mount ISO images from block devices, which may represent optical media, other media or via a loop device even from regular disk files. This session usage model has been extended on CD media by
the concept of multi-session , which allows to add
information to the CD and gives the mount programs of the
operating systems the addresses of the entry points of each
session. The mount programs recognize block devices which
represent CD media and will by default mount the image in
the last session. xorriso provides both ways of growing as well as an own method named modifying which produces a completely new ISO image from the old one and the modifications. See paragraph Creating, Growing, Modifying below. xorriso adopts the concept of multi-session by loading an
eventual image directory tree, allowing to manipulate it by
several actions, and to write the new image to the target
media. After -commit a new session begins with the freshly written one as input. A new input drive can only be chosen as long as the loaded ISO image was not altered. Pending alteration can be revoked by command -rollback. Writing a session to the target is supposed to be very
expensive in terms of time and of consumed space on
appendable or write-once media. Therefore all intended
manipulations of a particular ISO image should be done in a
single session. |
|
There are two families of media in the MMC
standard: These media can assume several states in which they offer
different capabilities. |
|
A new empty ISO image gets created if there is no
input drive with a valid ISO 9660 image plus Rock Ridge
extensions when the first time an output drive is defined.
This is achieved by option -dev on blank media or by option
-outdev on media in any state. If there is a input drive with a valid ISO image, then this image gets loaded as foundation for manipulations and extension. The constellation of input and output drive determines which of two write methods will be used. They have quite different capabilities and constraints. The method of growing adds new data to the
existing media. These data comprise of eventual new file
content and they override the existing ISO 9660 + Rock Ridge
directory tree. It is possible to hide files from previous
sessions but they still exist on media and with many types
of optical media it is quite easy to recover them by
mounting older sessions. The write method of modifying produces compact
filesystem images with no outdated files or directory trees.
Modifying can write its images to target media which are
completely unsuitable for multi-session operations. E.g.
DVD-RW which were treated with -blank deformat_quickest,
named pipes, character devices, sockets. On the other hand
modified sessions cannot be written to appendable media but
to blank media only. |
|
Input drive, i.e. source of an existing or empty ISO
image, can be any random access readable libburn drive:
optical media with readable data, blank optical media,
regular files, block devices. Output drive, i.e. target for writing, can be any libburn
drive. Some drive types do not support the method of growing
but only the method of modifying. They all are suitable for
newly created images. MMC compliant (i.e. optical) drives on Linux usually get
addressed by the path of their block device or of their
generic character device. E.g. Filesystem objects of nearly any type can be addressed by
prefix "stdio:" and their path in the filesystem.
E.g.: A very special kind of pseudo drive are open file
descriptors. They are depicted by "stdio:/dev/fd/"
and descriptor number (see man 2 open). Be aware that especially the superuser can write into any
accessible file or device by using its path with the
"stdio:" prefix. Addresses without prefix
"stdio:" will only work if they lead to a MMC
drive. |
|
Rock Ridge is the name of a set of additional informations which enhance an ISO 9660 filesystem so that it can represent a POSIX compliant filesystem with ownership, access permissions, symbolic links, and other attributes. This is what xorriso uses for a decent representation of the disk files within the ISO image. Rock Ridge information is produced with any xorriso image and xorriso will load for manipulation only Rock Ridge enhanced images. xorriso is not named "porriso" because POSIX only guarantees 14 characters of filename length. It is the X/Open System Interface standard XSI which demands a file name length of up to 255 characters and paths of up to 1024 characters. Rock Ridge fulfills this demand. |
|
Commands are either actions or settings. They consist of a command word, followed by zero or more parameter words. If the list of parameter words is of variable length (indicated by "[...]" or "[***]") then it has to be terminated by either the word "--" or the end of argument list or an end of an input line. It is not an error if "--" appears after the parameters of a command with a fixed list length. Pattern expansion is a property of some particular
commands and not a general feature. It gets controlled by
commands -iso_rr_pattern and -disk_pattern. Commands which
eventually use pattern expansion all have variable argument
lists which are marked in this man page by "[***]"
rather than "[...]". Command and parameter words are either read from program
arguments, where one argument is one word, or from input
lines where words are recognized similar to the quotation
rules of a shell parser. When the program begins then it first looks for argument -no_rc. If this is not present then it looks for its startup files and eventually reads their content as command input lines. Then it interprets the program arguments as commands and parameters and finally it enters dialog mode if command -dialog "on" was executed up to then. The program ends either by command -end, or by the end of program arguments if not dialog was enabled up to that moment, or by a problem event which triggers the threshold of command -abort_on. |
|
Dialog mode prompts for an input line, parses it into words, and performs them as commands with their parameters. It provides assisting services to make dialog more comfortable. Readline is an enhancement for the input line. You may
know it already from the bash shell. Whether it is available
in xorriso depends on the availability of package
readline-dev at the time when xorriso was built from its
sourcecode. Option -page activates a builtin result text pager which
may be convenient in dialog. After an action has put out the
given number of terminal lines, the pager prompts the user
for a line of input. Some actions apply paging to their info output, too. |
All command words are shown with a leading dash although
this dash is not mandatory for the option to be recognized.
There may be future emulation modes, where dashes may become
mandatory in order to distinguish options from file
addresses. |
|
−dev address |
Set input and output drive to the same address and load
an eventual ISO image. If there is no ISO image then create
a blank one. Set the image expansion method to growing. |
−indev address |
Set input drive and load an eventual ISO image. If the new input drive differs from -outdev then switch from growing to modifying. The same rules and restrictions apply as with -dev. |
−outdev address |
Set output drive and if it differs from the input drive
then switch from growing to modifying. Unlike -dev and
-indev this action does not load a new ISO image. So it can
be performed even if there are pending changes. |
−load entity id |
Load a particular (possibly outdated) ISO image from a
-dev or -indev which hosts more than one session. Usually
all available sessions are shown with option -toc. |
−rom_toc_scan "on"|"off" |
Read-only drives do not tell the actual media type but
show any media as ROM (e.g. as DVD-ROM). The session history
of MMC multi-session media might be truncated to first and
last session or even be completely false. (The eventual
emulated history of overwriteable media is not affected by
this.) |
−ban_stdio_write |
Allow for writing only the usage of MMC optical drives. Disallow to write the result into files of nearly arbitrary type. Once set, this command cannot be revoked. |
|
The following commands expect file addresses of two
kinds: Note that in the ISO image you are as powerful as the superuser. Access permissions of the existing files in the image do not apply to your write operations. They are intended to be in effect with the read-only mounted image. If the iso_rr_path of a newly inserted file leads to an
existing file object in the ISO image, then the following
collision handling happens: The commands in this section alter the ISO image and not the local filesystem. |
|
Set the pattern expansion mode for the iso_rr_path
arguments of several commands which support this
feature. |
−disk_pattern "on"|"ls"|"off" |
Set the pattern expansion mode for the disk_path
arguments of several commands which support this
feature. |
−add pathspec [...] | disk_path [***] |
Insert the given files or directory trees from filesystem
into the ISO image. |
−add_plainly mode |
If set to mode "unknown" then any command word
that does not begin with "-" and is not recognized
as known command will be subject to a virtual -add command.
I.e. it will be used as pathspec or as disk_path and added
to the image. Eventually -disk_pattern expansion applies to
disk_paths. |
−path_list disk_path |
Like -add but read the parameter words from file disk_path or standard input if disk_path is "-". The list must contain exactly one pathspec resp. disk_path pattern per line. |
−map disk_path iso_rr_path |
Insert file object disk_path into the ISO image as iso_rr_path. If disk_path is a directory then its whole sub tree is inserted into the ISO image. |
−map_single disk_path iso_rr_path |
Like -map, but if disk_path is a directory then its sub tree is not inserted. |
−update disk_path iso_rr_path |
Compare file object disk_path with file object
iso_rr_path. If they do not match, then perform the
necessary image manipulations to make iso_rr_path a matching
copy of disk_path. This comparison will imply lengthy
content reading before a decision is made. On the other hand
it strives for the smallest possible amount of add-on data
which is needed to achieve the matching copy. |
−update_r disk_path iso_rr_path |
Like -update but working recursively. I.e. all file
objects below both addresses get compared whether they have
counterparts below the other address and whether both
counterparts match. If there is a mismatch then the
necessary update manipulation is done. |
−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 the ISO image. This may be necessary if the disk
file is larger than a single media, 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. |
−cpr disk_path [***] iso_rr_path |
Insert the given files or directory trees from filesystem
into the ISO image. |
−rm iso_rr_path [***] |
Delete the given files from the ISO image. |
−rm_r iso_rr_path [***] |
Delete the given files or directory trees from the ISO image. See also the note with option -rm. |
−mv iso_rr_path [***] iso_rr_path |
Rename the given file objects in the ISO tree to the last
argument in the list. Use the same rules as with shell
command mv. |
−chown uid iso_rr_path [***] |
Set ownership of file objects in the ISO image. uid may either be a decimal number or the name of a user known to the operating system. |
−chown_r uid iso_rr_path [***] |
Like -chown but affecting all files below eventual directories. |
−chgrp gid iso_rr_path [***] |
Set group attribute of file objects in the ISO image. gid may either be a decimal number or the name of a group known to the operating system. |
−chgrp_r gid iso_rr_path [***] |
Like -chgrp but affecting all files below eventual directories. |
−chmod mode iso_rr_path [***] |
Equivalent to shell command chmod in the ISO image. mode
is either an octal number beginning with "0" or a
comma separated list of statements of the form
[ugoa]*[+-=][rwxst]* . |
−chmod_r mode iso_rr_path [***] |
Like -chmod but affecting all files below eventual directories. |
−alter_date type timestring iso_rr_path [***] |
Alter the date entries of a file in the ISO image. type
is one of "a", "m", "b" for
access time, modification time, both times. |
−alter_date_r type timestring iso_rr_path [***] |
Like -alter_date but affecting all files below eventual directories. |
−find iso_rr_path [-name pattern] [-type t] [-exec action [params]] -- |
A very restricted substitute for shell command find in
the ISO image. It performs an action on matching file
objects at or below iso_rr_path. |
−mkdir iso_rr_path [...] |
Create empty directories if they do not exist yet. Existence as directory generates a WARNING event, existence as other file causes a FAILURE event. |
−rmdir iso_rr_path [***] |
Delete empty directories. |
−− |
Mark end of particular action argument list. |
−rollback |
Discard the manipulated ISO image and reload it from -indev. |
−rollback_end |
Discard the manipulated ISO image. End program without loading a new image. |
|
(see also paragraph about settings below) |
−commit |
Perform the write operation. Afterwards eventually make the -outdev the new -dev and load the image from there. Switch from eventual modifiying mode to growing mode. (A subsequent -outdev will activate modification mode.) -commit is performed automatically at end of program if there are uncommitted manipulations pending. So, to perform a final write operation with no new -dev and no new loading of image, rather execute option -end. To suppress a final write, execute -rollback -end. To eject outdev after write without new loading of image, use -commit_eject. Writing can last quite a while. It is not unnormal with several types of media that there is no progress visible for the first few minutes or that the drive gnaws on the media for a few minutes after all data have been transmitted. xorriso and the drives are in a client-server relationship. The drives have much freedom about what to do with the media. Some combinations of drives and media simply do not work, despite the promises by their vendors. If writing fails - or even the drive gets stuck and you need to reboot - then try other media or another drive. The reason for such failure is hardly ever in the code of the various burn programs but you may well try some of those listed below under SEE ALSO. |
−eject "in"|"out"|"all" |
Eject the media in -indev, resp. -outdev, resp. both drives. Note: It is not possible yet to effectively eject disk files. |
−commit_eject "in"|"out"|"all"|"none" |
Combined -commit and -eject. When writing has finished do not make -outdev the new -dev, and load no ISO image. Rather eject -indev and/or -outdev. Eventually give up any non-ejected drive. |
−blank mode |
Make media ready for writing from scratch (if not -dummy
is activated). |
−format mode |
Convert unformatted DVD-RW into overwriteable ones,
"de-ice" DVD+RW, format newly purchased BD-RE,
re-format DVD-RAM or BD-RE. |
−list_formats |
Put out a list of format descriptors as reported by the
output drive for the current media. The list gives the index
number after "Format idx", a MMC format code, the
announced size in blocks (like "2236704s") and the
same size in MiB. |
|
−not_mgt code[:code[...]] |
Control the behavior of the exclusion lists. |
−not_paths disk_path [***] |
Add the given paths to the list of excluded absolute disk
paths. If a given path is relative, then the current -cdx is
prepended to form an absolute path. Eventual pattern
matching happens at definition time and not when exclusion
checks are made. |
−not_leaf pattern |
Add a single shell parser style pattern to the list of exclusions for disk leafnames. These patterns are evaluated when the exclusion checks are made. |
−follow occasion[:occasion[...]] |
Enable or disable resolution of symbolic links and
mountpoints under disk_paths. This applies to actions -add,
-du*x, -ls*x, -findx, and to -disk_pattern expansion. Not an occasion but an optional setting is: |
−pathspecs "on"|"off" |
Control parameter interpretation with xorriso actions
-add and -path_list. |
−overwrite "on"|"nondir"|"off" |
Allow or disallow to overwrite existing files in the ISO
image by files with the same user defined name. |
−split_size number["k"|"m"] |
Set the threshold for automatic splitting of regular
files. Such splitting maps a large disk file onto a ISO
directory with several part files in it. This is necessary
if the size of the disk file exceeds 4 GiB - 1. Older
operating systems can handle files only if they are smaller
than 2 GiB. See also option -cut_out for more information
about file parts. |
|
Rock Ridge info will be generated by the program unconditionally. |
−joliet "on"|"off" |
If enabled by "on", generate Joliet info additional to Rock Ridge info. |
−volid text |
Specifies the volume ID. xorriso accepts any text up to
32 characters, but according to rarely obeyed specs stricter
rules apply: |
−uid uid |
User id to be used for all files when the new ISO tree gets written to media. |
−gid gid |
Group id to be used for all files when the new ISO tree gets written to media. |
−speed number[k|m|c|d] |
Set the burn speed. Default is 0 = maximum speed. Speed
can be given in media dependent numbers or as a desired
throughput per second in MMC compliant kB (= 1000) or MB (=
1000 kB). Media x-speed factor can be set explicity by
"c" for CD and "d" for DVD. Example
speeds: |
−stream_recording "on"|"off" |
Setting "on" tries to circumvent the management of defects on DVD-RAM and DVD+RW. Defect management keeps partly damaged media usable. But it reduces write speed to half nominal speed even if the media is in perfect shape. For the case of flawless media, one may use -stream_recording "on" to get full speed. |
−dummy "on"|"off" |
If "on" then simulate burning or refuse with FAILURE event if no simulation is possible, do neither blank nor format. |
-fs number["k"|"m"] |
Set the size of the fifo buffer which smoothens the data stream from ISO image generation to media burning. Default is 4 MiB, minimum 64 kiB, maximum 1 GiB. The number may be followed by letter "k" or "m" which means unit is kiB (= 1024) or MiB (= 1024 kiB). |
−close "on"|"off" |
If "on" then mark the written media as not
appendable any more (if possible at all with the given type
of target media). |
−padding number["k"|"m"] |
Append the given number of extra bytes to the image
stream. This is a traditional remedy for a traditional bug
in block device read drivers. Needed only for CD recordings
in TAO mode. Since one can hardly predict on what media an
image might end up, xorriso adds the traditional 300k of
padding by default to all images. |
−boot_image "any"|"isolinux" "discard"|"keep"|"patch" |
Defines the handling of an eventual boot image
(El-Torito) which has been read from an existing ISO image.
All types ("any") can be discarded or kept
unaltered. The latter makes only sense if the format of the
boot image is relocatable without content changes. |
|
Since the tasks of xorriso are manifold and prone to
external influence, there may arise the need for xorriso to
report and handle problem events. |
−abort_on severity |
Set the severity threshold for events to abort the
program. |
−return_with severity exit_value |
Set the threshold and exit_value to be returned at
program end if no abort has happened. This is to allow
xorriso to go on after problems but to get a failure
indicating exit value from the program, nevertheless. Useful
is a value lower than the -abort_on threshold, down to
"WARNING". |
−report_about severity |
Set the threshold for events to be reported. |
−error_behavior occasion behavior |
Control the program behavior at problem event
occasions. |
|
−dialog "on"|"off" |
Enable or disable to enter dialog mode after all arguments are processed. In dialog mode input lines get prompted via readline or from stdin. |
−page length width |
Describe terminal to the text pager. See also above,
paragraph Result pager. |
−use_readline "on"|"off" |
If "on" then use readline for dialog. Else use
plain stdin. |
−reassure "on"|"tree"|"off" |
If "on" then ask the user for "y" or
"n": |
|
−toc |
Show media specific table of content. This is the media
session history, not the ISO image directory tree. |
−devices |
Show list of available MMC drives with the addresses of
their libburn standard device files. |
−print_size |
Print the foreseeable consumption of 2048 byte blocks by next -commit. This can last a while as a -commit gets prepared and only in last moment is revoked by this option. |
−tell_media_space |
Print available space on output media and the free space after subtracting already foreseeable consumption by next -commit. |
|
−cd iso_rr_path |
Change the current working directory in the emerging ISO
image as it is at the moment. This is prepended to
iso_rr_paths which do not begin with ’/’. |
−cdx disk_path |
Change the current working directory on filesystem. To be prepended to disk_paths which do not begin with ’/’. |
−pwd |
Tell the current working directory in the ISO image. |
−pwdx |
Tell the current working directory on local filesystem. |
−ls iso_rr_pattern [***] |
List files in the ISO image which match shell patterns
(i.e. with wildcards ’*’ ’?’
’[a-z]’). If a pattern does not begin with
’/’ then it is compared with addresses relative
to -cd, the current working directory in the ISO image. |
−lsd iso_rr_pattern [***] |
Like -ls but listing directories as themselves and not by their content. This resembles shell command ls -d. |
−lsl iso_rr_pattern [***] |
Like -ls but also list some of the file attributes. Output format resembles shell command ls -ln. |
−lsdl iso_rr_pattern [***] |
Like -lsd but also list some of the file attributes. Output format resembles shell command ls -dln. |
−lsx disk_pattern [***] |
List files on local filesystem which match shell
patterns. Patterns which do not begin with ’/’
are used relative to -cdx, the current working directory in
the local filesystem. |
−lsdx disk_pattern [***] |
Like -lsx but listing directories as themselves and not by their content. This resembles shell command ls -d. |
−lslx disk_pattern [***] |
Like -lsx but also listing some of the file attributes. Output format resembles shell command ls -ln. |
−lsdlx disk_pattern [***] |
Like -lsdx but also listing some of the file attributes. Output format resembles shell command ls -dln. |
−du iso_rr_pattern [***] |
Recursively list size of directories and files in the ISO image which match one of the patterns. similar to shell command du -k. |
−dus iso_rr_pattern [***] |
List size of directories and files in the ISO image which match one of the patterns. Similar to shell command du -sk. |
−dux disk_pattern [***] |
Recursively list size of directories and files in the local filesystem which match one of the patterns, similar to shell command du -k. |
−dusx disk_pattern [***] |
List size of directories and files in the local filesystem which match one of the patterns. Similar to shell command du -sk. |
−findx disk_path [-name pattern] [-type t] [-exec action [params]] -- |
Like -find but operating on local filesystem and not on
the ISO image. This is subject to the settings of
-follow. |
−compare disk_path iso_rr_path |
Compare attributes and eventual data file content of a
fileobject in the local filesystem with a file object in the
ISO image. The iso_rr_path may well point to an image file
object which is not yet committed, i.e. of which the data
content still resides in the local filesystem. Such data
content is prone to externally caused changes. |
−compare_r disk_path iso_rr_path |
Like -compare but working recursively. I.e. all file objects below both addresses get compared whether they have counterparts below the other address and whether both counterparts match. |
osirrox restore options: |
Normally xorriso only writes to disk files which were given as stdio: pseudo-drives or as log files. But its alter ego, osirrox, is able to extract file objects from ISO images and to create, overwrite, or delete file objects on disk. |
−osirrox ["on"|"device_files"|"off"][:"concat_split_on"|"concat_split_off"] |
Setting "off" disables disk filesystem
manipulations. This is the default unless the program was
started with leafname "osirrox". Elsewise the
capability to restore files can be enabled explicitly by
-osirrox "on". |
−cpx iso_rr_path [***] disk_path |
Extract single leaf file objects from the ISO image and
store them under the address given by disk_path. If more
then one iso_rr_path is given then disk_path must be a
directory or non-existent. In the latter case it gets
created. The extracted files get installed in it with the
same leafnames. |
|
Writing of ISO 9660 on CD is traditionally done by program mkisofs as ISO 9660 image producer and cdrecord as burn program. xorriso does not strive for their comprehensive emulation. Nevertheless it is ready to perform some of its core tasks under control of commands which in said programs trigger comparable actions. The scope is for now only a single first data track to be written to blank or overwriteable media. If possible the media will get closed afterwards. Multi-session is yet only possible via xorriso’s own commands. |
|
Performs its variable length option list as sparse emulation of the program depicted by the personality word. This is only allowed if no image changes are pending. The input drive is given up. Personality "mkisofs" accepts the
options listed with: Personality "cdrecord" accepts the
options listed with: |
|
−no_rc |
Only if used as first command line argument this option prevents reading and interpretation of eventual startup files. See section FILES below. |
−options_from_file fileaddress |
Reads lines from fileaddress and executes them as dialog lines. |
−help |
Print helptext. |
−version |
Print program name and version. |
−history textline |
Copy textline into libreadline history. |
−status [mode|filter] |
Print the current settings of xorriso. Modes: |
−status_history_max number |
Set maximum number of history lines to be reported with -status "long_history". |
−temp_mem_limit number["k"|"m"] |
Set the maximum size of temporary memory to be used for
image dependent buffering. Currently this applies to pattern
expansion only. |
−print text |
Print a text to result channel. |
−prompt text |
Show text at beginning of output line and wait for the user to hit the Enter key resp. to send a line via stdin. |
−errfile_log mode path|channel |
If problem events are related to input files from the
filesystem, then their disk_paths can be logged to a file or
to output channels R or I. |
−session_log path |
If path is not empty it gives the address of a plain text
file where a log record gets appended after each session.
This log can be used to determine the start_lba of a session
for mount option sbsector= from date or volume id. |
−end |
End program immediately |
# any text |
In dialog or file execution mode only and only as first non-whitespace in line: Do not execute the line but eventually store it in history. |
|
−pkt_output "on"|"off" |
Consolidate text output on stdout and classify each line
by a channel indicator: |
−logfile channel fileaddress |
Copy output of a channel to the given file. |
−mark text |
If text is not empty it will get put out each time an action has been completed. |
−prog text |
Use text as this program’s name in subsequent messages |
−prog_help text |
Use text as this program’s name and perform -help. |
Overview of examples: |
As superuser learn about available drives |
As superuser learn about available drives |
Consider to give rw permissions to those users or groups
which shall be able to use the drives with xorriso. |
Blank media and compose a new ISO image as batch run |
Aquire drive /dev/sr2, blank media resp. invalidate
existing ISO image. Add the files from hard disk directories
/home/me/sounds and /pictures. Omit some unwanted stuff by
removing it from the image directory tree. Re-add some
wanted stuff. |
A dialog session doing about the same |
-pathspecs is already given as start argument. The other
activities are done as dialog input. The pager gets set to
20 lines of 80 characters. |
Manipulating an existing ISO image on the same media |
Load image from drive. Remove (i.e. hide) directory
/sounds and its subordinates. Rename directory
/pictures/confidential to /pictures/restricted. Change
access permissions of directory /pictures/restricted. Add
new directory trees /sounds and /movies. Burn to the same
media and eject. |
Copy modified ISO image from one media to another |
Load image from input drive. Do the same manipulations as
in the previous example. Aquire output drive and blank it.
Burn the modified image as first and only session to the
output drive. |
Write a ISO image into a pipe (single-session only) |
$ xorriso -outdev - \ |
Perform a single session run as of cdrtools traditions |
This shall illustrate how xorriso can act in either role.
Between both processes there can be performed arbitrary
transportation or filtering. |
Adjust thresholds for verbosity, exit value and program abort |
Be quite verbous, exit 32 if severity "FAILURE"
was encountered, do not abort prematurely but forcibly go on
until the end of commands. |
Examples of input timestrings |
As printed by program date: ’Thu Nov 8 14:51:13
CET 2007’ |
Incremental backup of a few directory trees |
This does the following to directories
/open_source_project and /personal_mail in the ISO image:
create them if not existing yet, compare them with their
disk counterparts, add disk file objects which are missing
yet, overwrite those which are different on disk, and delete
those which have vanished on disk. But do not add or
overwrite files matching *.o, *.swp. |
Startup files: |
If not -no_rc is given as the first argument then xorriso
attempts on startup to read and execute lines from the
following files: |
For mounting xorriso generated ISO 9660 images |
mount(8) |
Libreadline, a comfortable input line facility |
readline(3) |
Other programs which produce ISO 9660 images |
mkisofs(8), genisoimage(8) |
Other programs which burn sessions to optical media |
growisofs(1), cdrecord(1), wodim(1), cdrskin(1) |
Thomas Schmitt <scdbackup@gmx.net> |
xorriso is in part based on work by Vreixo Formoso who
provides libisofs together with Mario Danic who also leads
the libburnia team. Thanks to Andy Polyakov who invented
emulated growing, to Derek Foreman and Ben Jansens who once
founded libburn. |