Sortix volatile manual
This manual documents Sortix volatile, a development build that has not been officially released. You can instead view this document in the latest official manual.
XORRISO(1) | General Commands Manual | XORRISO(1) |
NAME
xorriso - creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions.SYNOPSIS
xorriso [settings|actions]DESCRIPTION
xorriso is a program which copies file objects from POSIX compliant filesystems into Rock Ridge enhanced ISO 9660 filesystems and performs 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.Overview of features:
Operates on an existing ISO image or creates a new one.General information paragraphs:
Session modelSession model:
Unlike other filesystems, ISO 9660 (aka ECMA-119) is not intended for read-write operation but rather for being generated in a single sweep and being written to media as a session.Media types and states:
There are two families of media in the MMC standard:Media current: is unsuitable , is POW formatted
Creating, Growing, Modifying, Blind Growing:
A new empty ISO image gets created if there is no input drive with a valid ISO 9660 image when the first time an output drive is defined. This is achieved by command -dev on blank media or by command -outdev on media in any state.mkisofs -M $indev -C $msc1,$msc2 -o $outdev
-load sbsector $msc1 -grow_blindly $msc2
Libburn drives:
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.-dev /dev/sr0
-dev /dev/hdc
-dev /dev/sg2
-dev /dev/cd0
-dev /dev/rcd0d
-dev /dev/rdsk/c4t0d0s2
-device_links
-dev stdio:/dev/sdc
-dev /tmp/pseudo_drive
Rock Ridge, POSIX, X/Open, El Torito, ACL, xattr:
Rock Ridge is the name of a set of additional information which enhance an ISO 9660 filesystem so that it can represent a POSIX compliant filesystem with ownership, access permissions, symbolic links, and other attributes.Command processing:
Commands are either actions which happen immediately or settings which influence following actions. So their sequence does matter, unless they are given as program arguments and command -x is among them.Dialog, Readline, Result pager:
Dialog mode prompts for a quoted input line, parses it into words, and performs them as commands with their parameters. It provides assisting services to make dialog more comfortable.OPTIONS
All command words are shown with a leading dash although this dash is not mandatory for the command to be recognized. Nevertheless within command -as the dashes of the emulated commands are mandatory.- Execution order of program arguments:
- -x
-
Enable automatic sorting of program arguments into a sequence that (most likely) is sensible. This command may be given at any position among the commands which are handed over as program arguments.
- -list_arg_sorting
-
List all xorriso commands in the order which applies if command -x is in effect.
- Acquiring source and target drive:
- -dev address
-
Set input and output drive to the same address and load an ISO image if it is present. 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 ISO image if present. If the new input drive differs from -outdev then switch from growing to modifying or to blind growing. It depends on the setting of -grow_blindly which of both gets activated. 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 or to blind growing. Unlike -dev and -indev this action does not load a new ISO image. So it can be performed even if there are pending changes.
- -drive_class "harmless"|"banned"|"caution"|"clear_list" disk_pattern
-
Add a drive path pattern to one of the safety lists or make those lists empty. There are three lists defined which get tested in the following sequence:
- -drive_access "exclusive"|"shared":"unrestricted"|"readonly"
-
Control whether device file locking mechanisms shall be used when acquiring a drive, and whether status or content of the medium in the drive may be altered. Useful and most harmless are the setting "shared:readonly" and the default setting "exclusive:unrestricted".
- -scsi_dev_family "default"|"sr"|"scd"|"sg"
-
GNU/Linux specific:
- -grow_blindly "off"|predicted_nwa
-
If predicted_nwa is a non-negative number then perform blind growing rather than modifying if -indev and -outdev are set to different drives. "off" or "-1" switch to modifying, which is the default.
- Influencing the behavior of image loading:
- -read_speed code|number[k|m|c|d|b]
-
Set the speed for reading. Default is "none", which avoids to send a speed setting command to the drive before reading begins.
706k = 706kB/s = 4c = 4xCD
5540k = 5540kB/s = 4d = 4xDVD
-read_speed 6xBD
-read_speed soft_force:4xBD -read_speed soft_corr:100000
- -load entity id
-
Load a particular (possibly outdated) ISO session from -dev or -indev. Usually all available sessions are shown with command -toc.
- -displacement [-]lba
-
Compensate a displacement of the image versus the start address for which the image was prepared. This affects only loading of ISO images and reading of their files. The multi-session method of growing is not allowed as long as -displacement is non-zero. I.e. -indev and -outdev must be different. The displacement gets reset to 0 before the drive gets re-acquired after writing.
-displacement -123456
-load sbsector 160000 -displacement 160000
- -read_fs "any"|"norock"|"nojoliet"|"ecma119"
-
Specify which kind of filesystem tree to load if present. If the wish cannot be fulfilled, then ECMA-119 names are loaded and converted according to -ecma119_map.
- -assert_volid pattern severity
-
Refuse to load ISO images with volume IDs which do not match the given search pattern. When refusing an image, give up the input drive and issue an event of the given severity (like FAILURE, see -abort_on). An empty search pattern accepts any image.
- -in_charset character_set_name
- Set the character set from which to convert file names when loading an image. See paragraph "Character sets" for more explanations. When loading the written image after -commit the setting of -out_charset will be copied to -in_charset.
- -auto_charset "on"|"off"
-
Enable or disable recording and interpretation of the output character set name in an xattr attribute of the image root directory. If enabled and if a recorded character set name is found, then this name will be used as name of the input character set when reading an image.
- -hardlinks mode[:mode...]
-
Enable or disable loading and recording of hardlink relations.
- -acl "on"|"off"
- Enable or disable processing of ACLs. If enabled, then xorriso will obtain ACLs from disk file objects, store ACLs in the ISO image using the libisofs specific AAIP format, load AAIP data from ISO images, test ACL during file comparison, and restore ACLs to disk files when extracting them from ISO images. See also commands -getfacl, -setfacl.
- -xattr "on"|"user"|"any"|"off"
-
Enable or disable processing of xattr attributes. If enabled, then xorriso will handle xattr similar to ACL. See also commands -getfattr, -setfattr and above paragraph about xattr.
- -md5 "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 only if the tags of superblock and directory tree match properly. The MD5 checksums of data files and whole session get loaded from the image if there are any.
- -for_backup
-
Enable all extra features which help to produce or to restore backups with highest fidelity of file properties. Currently this is a shortcut for:
- -ecma119_map "stripped"|"unmapped"|"lowercase"|"uppercase"
-
Choose the conversion of file names when a session gets loaded, if they stem neither from a Rock Ridge name nor from a Joliet name.
- -joliet_map "stripped"|"unmapped"
-
Choose the conversion of file names when a session gets loaded from a Joliet tree.
- -iso_nowtime "dynamic"|timestring
-
Choose whether to use the current time ("dynamic") or a fixed time point for timestamps of ISO 9660 nodes without a disk source file and as default for superblock timestamps.
- -disk_dev_ino "on"|"ino_only"|"off"
-
Enable or disable processing of recorded file identification numbers (dev_t and ino_t). If enabled they are stored as xattr and can substantially accelerate file comparison. The root node gets a global start timestamp. If during comparison a file with younger timestamps is found in the ISO image, then it is suspected to have inconsistent content.
- -file_name_limit [+]number
-
Set the maximum permissible length for file names in the range of 64 to 255. Path components which are longer than the given number will get truncated and have their last 33 bytes overwritten by a colon ':' and the hex representation of the MD5 of the first 4095 bytes of the whole oversized name. Potential incomplete UTF-8 characters will get their leading bytes replaced by '_'.
- -rom_toc_scan "on"|"force"|"off"[:"emul_off"][:"emul_wide"]
-
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 emulated history of overwritable media is not affected by this.)
- -calm_drive "in"|"out"|"all"|"revoke"|"on"|"off"
-
Reduce drive noise until it is actually used again. Some drives stay alert for substantial time after they have been used for reading. This reduces the startup time for the next drive operation but can be loud and waste energy if no i/o with the drive is expected to happen soon.
- -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.
- -early_stdio_test "on"|"appendable_wo"|"off"
-
If enabled by "on" then regular files and block devices get tested for effective access permissions. This implies to try opening those files for writing, which otherwise will happen only later and only if actual writing is desired.
- -data_cache_size number_of_tiles blocks_per_tile
-
Set the size and granularity of the data cache which is used when ISO images are loaded and when file content is read from ISO images. The cache consists of several tiles, which each consists of several blocks. A larger cache reduces the need for tiles being read multiple times. Larger tiles might additionally improve the data throughput from the drive, but can be wasteful if the data are scattered over the medium.
- Inserting files into ISO image:
- -disk_pattern "on"|"ls"|"off"
-
Set the pattern expansion mode for the disk_path parameters 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. If enabled, -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 or disk_path pattern per line.
- -quoted_path_list disk_path
- Like -path_list but with quoted input reading rules. Lines get split into parameter words for -add. Whitespace outside quotes is discarded.
- -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.
- -map_l disk_prefix iso_rr_prefix disk_path [***]
- Perform -map with each of the disk_path parameters. iso_rr_path will be composed from disk_path by replacing disk_prefix by iso_rr_prefix.
- -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. By default this comparison will imply lengthy content reading before a decision is made. Commands -disk_dev_ino or -md5 may accelerate comparison if they were already in effect when the loaded session was recorded.
- -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.
- -update_l disk_prefix iso_rr_prefix disk_path [***]
- Perform -update_r with each of the disk_path parameters. iso_rr_path will be composed from disk_path by replacing disk_prefix by iso_rr_prefix.
- -update_li iso_rr_prefix disk_prefix iso_rr_path [***]
- Perform -update_r with each of the iso_rr_path parameters. disk_path will be composed from iso_rr_path by replacing iso_rr_prefix by disk_prefix.
- -update_lxi disk_prefix iso_rr_prefix disk_path [***]
-
Perform -update_r with each of the disk_path parameters and with iso_rr_paths in the ISO filesystem which are derived from the disk_path parameters after exchanging disk_prefix by iso_rr_prefix. So, other than -update_l, this detects missing matches of disk_path and deletes the corresponding iso_rr_path.
- -cut_out disk_path byte_offset byte_count iso_rr_path
-
Map a byte interval of a regular disk file or of a device file into a regular file in the ISO image. The file depicted by disk_path has to support random read access.
-cut_out /my/disk/file 0 2047m \
/file/part_1_of_3_at_0_with_2047m_of_5753194821 \
-cut_out /my/disk/file 2047m 2047m \
/file/part_2_of_3_at_2047m_with_2047m_of_5753194821 \
-cut_out /my/disk/file 4094m 2047m \
/file/part_3_of_3_at_4094m_with_2047m_of_5753194821
-cut_out /dev/sdd3 0 1000g /content_of_sdd3
- -cpr disk_path [***] iso_rr_path
-
Insert the given files or directory trees from filesystem into the ISO image.
- -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.
- -lns target_text iso_rr_path
-
Create a symbolic link with address iso_rr_path which points to target_text. iso_rr_path may not exist yet.
- -clone iso_rr_path_original iso_rr_path_copy
-
Create a copy of the ISO file object iso_rr_path_original with the new address iso_rr_path_copy. If the original is a directory then copy all files and directories underneath. If iso_rr_path_original is a boot catalog file, then it gets not copied but is silently ignored.
- -cp_clone iso_rr_path_original [***] iso_rr_path_dest
-
Create copies of one or more ISO file objects as with command -clone. In case of collision merge directories with existing ones, but do not overwrite existing ISO file objects.
- Settings for file insertion:
- -file_size_limit value [value [...]] --
-
Set the maximum permissible size for a single data file. The values get summed up for the actual limit. If the only value is "off" then the file size is not limited by xorriso. Default is a limit of 100 extents, 4g -2k each:
-file_size_limit 400g -200k --
- -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. Pattern matching, if enabled, 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.
- -not_list disk_path
- Read lines from disk_path and use each of them either as -not_paths parameter, if they contain a / character, or as -not_leaf pattern.
- -quoted_not_list disk_path
- Like -not_list but with quoted input reading rules. Each word is handled as one parameter for -not_paths or -not_leaf.
- -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, -concat, and to -disk_pattern expansion.
$ ln -s .. uploop
- -pathspecs "on"|"off"|"as_mkisofs"
-
Control parameter interpretation with xorriso actions -add and -path_list.
- -overwrite "on"|"nondir"|"off"
-
Allow or disallow overwriting of existing files in the ISO image by files with the same 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 -file_size_limit. Older operating systems can handle files in mounted ISO 9660 filesystems only if they are smaller than 2 GiB or in other cases 4 GiB.
part_number,total_parts,byte_offset,byte_count,disk_file_size
part_#_of_#_at_#_with_#_of_#
- File manipulations:
- -iso_rr_pattern "on"|"ls"|"off"
-
Set the pattern expansion mode for the iso_rr_path parameters of several commands which support this feature.
- -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 command -rm.
- -rmdir iso_rr_path [***]
- Delete empty directories.
- -move iso_rr_path iso_rr_path
- Rename the file given by the first (origin) iso_rr_path to the second (destination) iso_rr_path. Deviate from rules of shell command mv by not moving the origin file underneath an existing destination directory. The origin file will rather replace such a directory, if this is allowed by command -overwrite.
- -mv iso_rr_path [***] iso_rr_path
-
Rename the given file objects in the ISO tree to the last parameter 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.
- -setfacl acl_text iso_rr_path [***]
-
Attach the given ACL to the given iso_rr_paths. If the files already have ACLs, then those get deleted before the new ones get into effect. If acl_text is empty, or contains the text "clear" or the text "--remove-all", then the existing ACLs will be removed and no new ones will be attached. Any other content of acl_text will be interpreted as a list of ACL entries. It may be in the long multi-line format as put out by -getfacl but may also be abbreviated as follows:
g:toolies:rw,u:lisa:rw,u:1001:rw,u::wr,g::r,o::r,m::rw
group:toolies:rw-,user::rw-,group::r--,other::r--,mask::rw-
u::rwx,g::rx,o::,d:u::rwx,d:g::rx,d:o::,d:u:lisa:rwx,d:m::rwx
- -setfacl_r acl_text iso_rr_path [***]
- Like -setfacl but affecting all files below eventual directories.
- -setfacl_list disk_path
-
Read the output of -getfacl_r or shell command getfacl -R and apply it to the iso_rr_paths as given in lines beginning with "# file:". This will change ownership, group and ACL of the given files. If disk_path is "-" then lines are read from standard input. Line "@" ends the list, "@@@" aborts without changing the pending iso_rr_path.
- -setfattr [-]name value iso_rr_path [***]
-
Attach the given xattr pair of name and value to the given iso_rr_paths. If the given name is prefixed by "-", then the pair with that name gets removed from the xattr list. If name is "--remove-all" then all user namespace xattr of the given iso_rr_paths get deleted. In case of deletion, value must be an empty text.
- -setfattr_r [-]name value iso_rr_path [***]
- Like -setfattr but affecting all files below eventual directories.
- -setfattr_list disk_path
-
Read the output format of -getfattr_r or shell command getfattr -Rd and apply it to the iso_rr_paths as given in lines beginning with "# file:". All previously existing xattr of the acceptable namespaces will be deleted before the new xattr get attached. The set of acceptable names depends on the setting of command -xattr.
name="value"
- -alter_date type timestring iso_rr_path [***]
-
Alter the date entries of files in the ISO image. type may be one of the following:
MMDDhhmm[[CC]YY][.ss]]
[Day] MMM DD hh:mm:ss [TZON] YYYY
+|-Number["s"|"h"|"d"|"w"|"m"|"y"]
=Number
YYYY.MM.DD[.hh[mm[ss]]]
YYMMDD[.hhmm[ss]]
YYYYMMDDhhmmsscc
-alter_date m-c 2013.11.27.103951 /file1 /file2 --
- -alter_date_r type timestring iso_rr_path [***]
- Like -alter_date but affecting all files below eventual directories.
- -hide hide_state iso_rr_path [***]
-
Prevent the names of the given files from showing up in the directory trees of ISO 9660 and/or Joliet and/or HFS+ when the image gets written. The data content of such hidden files will be included in the resulting image, even if they do not show up in any directory. But you will need own means to find nameless data in the image.
- Tree traversal command -find:
- -find iso_rr_path [test [op] [test ...]] [-exec action [params]] --
-
A restricted substitute for shell command find in the ISO image. It performs an action on matching file objects at or below iso_rr_path.
-size +=4g
-has_hfs_crtp YYDN TEXT
-has_hfs_crtp - -
-find / -disk_name *_secret -exec hide on
-find / -bad_outname joliet -exec print_outname joliet
-find / -name '???' -type d -exec find -name '[abc]*' -exec chmod a-w,a+r --
- Filters for data file content:
- -external_filter name option[:option] program_path [arguments] --
-
Register a content filter by associating a name with a program path, program arguments, and some behavioral options. Once registered it can be applied to multiple data files in the ISO image, regardless whether their content resides in the loaded ISO image or in the local filesystem. External filter processes may produce synthetic file content by reading the original content from stdin and writing to stdout whatever they want. They must deliver the same output on the same input in repeated runs.
"default" means that no other option is intended.
"suffix=..." sets a file name suffix. If it is not empty then it will be appended to the file name or removed from it.
"remove_suffix" will remove a file name suffix rather than appending it.
"if_nonempty" will leave 0-sized files unfiltered.
"if_reduction" will try filtering and revoke it if the content size does not shrink.
"if_block_reduction" will revoke if the number of 2 kB blocks does not shrink.
"used=..." is ignored. Command -status shows it with the number of files which currently have the filter applied.
-external_filter bzip2 suffix=.bz2:if_block_reduction \
/usr/bin/bzip2 --
-external_filter bunzip2 suffix=.bz2:remove_suffix \
/usr/bin/bunzip2 --
- -unregister_filter name
- Remove an -external_filter registration. This is only possible if the filter is not applied to any file in the ISO image.
- -close_filter_list
- Irrevocably ban commands -concat "pipe", -external_filter, and -unregister_filter, but not -set_filter. Use this to prevent external filtering in general or when all intended filters are registered and -concat mode "pipe" shall be disallowed. External filters may also be banned totally at compile time of xorriso. By default they are banned if xorriso runs under setuid permission.
- -set_filter name iso_rr_path [***]
-
Apply an -external_filter or a built-in filter to the given data files in the ISO image. If the filter suffix is not empty , then it will be applied to the file name. Renaming only happens if the filter really gets attached and is not revoked by its options. By default files which already bear the suffix will not get filtered. The others will get the suffix appended to their names. If the filter has option "remove_suffix", then the filter will only be applied if the suffix is present and can be removed. Name oversize or collision caused by suffix change will prevent filtering.
- -set_filter_r name iso_rr_path [***]
- Like -set_filter but affecting all data files below eventual directories.
- Writing the result, drive control:
- -rollback
- Discard the manipulated ISO image and reload it from -indev. (Use -rollback_end if immediate program end is desired.)
- -changes_pending "no"|"yes"|"mkisofs_printed"|"show_status"
-
Write runs are performed only if a change of the image has been made since the image was loaded or created blank. Vice versa the program will start a write run for pending changes when it ends normally (i.e. not by abort and not by command -rollback_end).
- -commit
-
Perform the write operation. Afterwards, if -outdev is readable, make it the new -dev and load the image from there. Switch to growing mode. (A subsequent -outdev will activate modification mode or blind growing.) -commit is performed automatically at end of program if there are uncommitted manipulations pending.
- -eject "in"|"out"|"all"
- Eject the medium in -indev, -outdev, or both drives, respectively. 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. Give up any non-ejected drive.
- -blank mode
-
Make media ready for writing from scratch (if not -dummy is activated).
as_needed, fast, all, deformat, deformat_quickest
- -format mode
-
Convert unformatted DVD-RW into overwritable ones, "de-ice" DVD+RW, format newly purchased BD-RE or BD-R, re-format DVD-RAM or BD-RE.
as_needed, full, fast, by_index_<num>, fast_by_index_<num>,
by_size_<num>, fast_by_size_<num>, without_spare
DVD-RW was deformatted by -blank,
DVD+RW has read failures (re-format before next write),
DVD-RAM or BD-RE shall change their amount of defect reserve.
- -list_formats
-
Put out a list of format descriptors as reported by the output drive for the current medium. 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.
- -list_speeds
-
Put out a list of speed values as reported by the drives with the loaded media. The list tells read speeds of the input drive and of the output drive. Further it tells write speeds of the output drive.
- -list_profiles "in"|"out"|"all"
- Put out a list of media types supported by -indev, -outdev, or both, respectively. The currently recognized type is marked by text "(current)".
- -truncate_overwritable entity id adjust
-
On overwritable medium copy the volume descriptors of an existing session to the overall descriptors at LBA 0 ff. This makes all sessions inaccessible which are younger than the activated one. A reason to do this would be read errors in the younger sessions and the wish to re-write or skip them.
-truncate_overwritable session 4 new
-truncate_overwritable session 4 old
-truncate_overwritable session 4 +500m
- -close_damaged "as_needed"|"force"
-
Try to close the upcoming track and session if the drive reported the medium as damaged. This may apply to CD-R, CD-RW, DVD-R, DVD-RW, DVD+R, DVD+R DL, or BD-R media. It is indicated by warning messages when the drive gets acquired, and by a remark "but next track is damaged" with the line "Media status :" of command -toc.
- Settings for result writing:
- -joliet "on"|"off"
- If enabled by "on", generate Joliet tree additional to ISO 9660 + Rock Ridge tree.
- -hfsplus "on"|"off"
-
If enabled by "on", generate a HFS+ filesystem inside the ISO 9660 image and mark it by Apple Partition Map (APM) entries in the System Area, the first 32 KiB of the image.
- -rockridge "on"|"off"
- Mode "off" disables production of Rock Ridge information for the ISO 9660 file objects. The multi-session capabilities of xorriso depend much on the naming fidelity of Rock Ridge. So it is strongly discouraged to deviate from default setting "on".
- -compliance rule[:rule...]
-
Adjust the compliance to specifications of ISO 9660/ECMA-119 and its contemporary extensions. In some cases it is worth to deviate a bit in order to circumvent bugs of the intended reader system or to get unofficial extra features.
"clear:iso_9660_level=3:only_iso_version:deep_paths:long_paths:
no_j_force_dots:always_gmt:rec_mtime:old_rr:max_ce_entries=31:
max_ce_drop=xattr_acl"
- -rr_reloc_dir name
-
Specify the name of the relocation directory in which deep directory subtrees shall be placed if -compliance is set to "deep_paths_off" or "long_paths_off". A deep directory is one that has a chain of 8 parent directories (including root) above itself, or one that contains a file with an ECMA-119 path of more than 255 characters.
- -volid text
-
Specify the volume ID, which most operating systems will consider to be the volume name of the image or medium.
"IMAGE_23"
"Windows name"
- -volset_id text
- Set the volume set ID string to be written with the next -commit. Permissible are up to 128 characters. This setting gets overridden by image loading.
- -publisher text
- Set the publisher ID string to be written with the next -commit. This may identify the person or organisation who specified what shall be recorded. Permissible are up to 128 characters. This setting gets overridden by image loading.
- -application_id text
-
Set the application ID string to be written with the next -commit. This may identify the specification of how the data are recorded. Permissible are up to 128 characters. This setting gets overridden by image loading.
- -system_id text
- Set the system ID string to be written with the next -commit. This may identify the system which can recognize and act upon the content of the System Area in image blocks 0 to 15. Permissible are up to 32 characters. This setting gets overridden by image loading.
- -volume_date type timestring
-
Set one of the four overall timestamps for subsequent image writing. Available types are:
search --fs-uuid --set YYYY-MM-DD-hh-mm-ss-cc
- -copyright_file text
- Set the copyright file name to be written with the next -commit. This should be the ISO 9660 path of a file in the image which contains a copyright statement. Permissible are up to 37 characters. This setting gets overridden by image loading.
- -abstract_file text
- Set the abstract file name to be written with the next -commit. This should be the ISO 9660 path of a file in the image which contains an abstract statement about the image content. Permissible are up to 37 characters. This setting gets overridden by image loading.
- -biblio_file text
- Set the biblio file name to be written with the next -commit. This should be the ISO 9660 path of a file in the image which contains bibliographic records. Permissible are up to 37 characters. This setting gets overridden by image loading.
- -preparer_id text
-
Set the preparer ID string to be written with the next -commit. This may identify the person or other entity which controls the preparation of the data which shall be recorded. Normally this should be the ID of xorriso and not of the person or program which operates xorriso. Please avoid to change it. Permissible are up to 128 characters.
- -application_use character|0xXY|disk_path
-
Specify the content of the Application Use field which can take at most 512 bytes.
- -out_charset character_set_name
- Set the character set to which file names get converted when writing an image. See paragraph "Character sets" for more explanations. When loading the written image after -commit the setting of -out_charset will be copied to -in_charset.
- -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.
- -zisofs parameter[:parameters]
-
Set global parameters for zisofs compression. This data format is recognized and transparently uncompressed by some Linux kernels. It is to be applied via command -set_filter with built-in filter "--zisofs".
"level="[0-9] zlib compression: 0=none, 1=fast,..., 9=slow
"block_size="32k|64k|128k sets the size of version 1 compression blocks.
"by_magic=on" enables an expensive test at image generation time which checks files from disk whether they already are zisofs compressed, e.g. by program mkzftree. "by_magic=v2" enables processing of already zisofs2 compressed files additionally to those of zisofs version 1. "by_magic=off" disables both.
"version_2="off|as_needed|on controls compression by experimental version zisofs2 which can encode files of size 4 GiB or larger. The Linux kernel (as of 5.9) does not yet know this format and will complain like
isofs: Unknown ZF compression algorithm: PZ
"susp_z2="off|on controls production of SUSP entries "Z2" instead of "ZF" with zisofs2 compressed files. Unaware Linux kernels are supposed to silently ignore "Z2" entries.
"block_size_v2="32k|64k|128k|256k|512k|1m sets the size of compression blocks for zisofs2.
"bpt_target="-1|>0 sets a number of block pointers per file, which is considered low enough to justify a reduction of block size. If this number is larger than 0, then block sizes smaller than the settings of block_size= or block_size_v2= are tried whether they yield not more block pointers than the given number. If so, the smallest suitable block size is applied.
"max_bpt="1k...128g sets the limit for the overall allocated block pointer memory. Block pointers occupy virtual memory while a file gets uncompressed and while a file, which shall be compressed, waits for ISO filesystem creation.
"max_bpt_f="1k...128g sets the limit for the memory size of the block pointer list of a single file. max_bpt_f is never larger than max_bpt. If either is set to violate this rule, the other gets set to the same value. If both values are the same before a change by max_bpt= or max_bpt_f=, then both limits stick together unless the limit is decreased by max_bpt_f=.
"bpt_free_ratio="-1|0.0...1.0 sets a threshold for switching to block pointer discarding during compression. If less than the given fraction of the max_bpt_f= memory is free, then block pointers of compression filters get discarded immediately after being added. Value -1 disables this feature.
"default" is the same as "level=6:block_size=32k:by_magic=off: version_2=off:block_size_v2=128k:susp_z2=off:max_bpt=256m:max_bpt_f=256m: bpt_free_ratio=-1".
- -speed code|number[k|m|c|d|b]
-
Set the burn speed. Default is "max" (or "0") = maximum speed as announced by the drive. Further special speed codes are:
706k = 706kB/s = 4c = 4xCD
5540k = 5540kB/s = 4d = 4xDVD
- -stream_recording "on"|"off"|"full"|"data"|number
-
Setting "on" tries to circumvent the management of defects on DVD-RAM, BD-RE, or BD-R. Defect management keeps partly damaged media usable. But it reduces write speed to half nominal speed even if the medium is in perfect shape. For the case of flawless media, one may use -stream_recording "on" to get full speed.
- -dvd_obs "default"|"32k"|"64k"|"obs_pad"|"bdr_obs_exempt"
-
GNU/Linux specific: Set the number of bytes to be transmitted with each write operation to DVD or BD media. A number of 64 KB may improve throughput with bus systems which show latency problems. The default depends on media type, on command -stream_recording , and on compile time options.
- -modesty_on_drive parameter[:parameters]
-
Control whether the drive buffer shall be kept from getting completely filled. Parameter "on" (or "1") keeps the program from trying to write to the burner drive while its buffer is in danger to be filled over a given limit. If this limit is exceeded then the program will wait until the filling reaches a given low percentage value.
-modesty_on_drive off:min_percent=90:max_percent=95:
timeout_sec=120:min_usec=5000:max_usec=25000
- -use_immed_bit "on"|"off"|"default"
-
Control whether several long lasting SCSI commands shall be executed with the Immed bit, which makes the commands end early while the drive operation is still going on. xorriso then inquires progress indication until the drive reports to be ready again. If this feature is turned off, then blanking and formatting will show no progress indication.
- -stdio_sync "on"|"off"|"end"|number
- Set the number of bytes after which to force output to stdio: pseudo drives. This forcing keeps the memory from being clogged with lots of pending data for slow devices. Default "on" is the same as "16m". Forced output can be disabled by "off", or be delayed by "end" until all data are produced. If a number is chosen, then it must be at least 64k.
- -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"|"as_needed"
-
If -close is set to "on" then mark the written medium as not appendable any more. This will have no effect on overwritable media types. Setting "on" is the contrary of cdrecord option -multi, and is one aspect of growisofs option -dvd-compat.
- -write_type "auto"|"tao"|"sao/dao"
- Set the write type for the next burn run. "auto" will select SAO with blank CD media, DAO with blank DVD-R[W] if -close is "on", and elsewise CD TAO or the equivalent write type of the particular DVD/BD media. Choosing TAO or SAO/DAO explicitly might cause the burn run to fail if the desired write type is not possible with the given media state.
- -padding number["k"|"m"]|"included"|"appended"
-
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.
- Bootable ISO images:
-append_partition 2 0xef /tmp/efi.img
-boot_image any efi_path=--interval:appended_partition_2:all::
"--interval:"Flags":"Interval":"Zeroizers":"Source
"local_fs:0-32767:zero_mbrpt,zero_gpt,440-443:/tmp/template.iso"
"imported_iso:45056d-47103d::"
- -boot_image "any"|"isolinux"|"grub"
-
"discard"|"keep"|"patch"|"replay"|"show_status"|
bootspec|"next"
-boot_image any system_area=/dev/zero
-boot_image isolinux dir=/boot/isolinux
-boot_image isolinux bin_path=/boot/isolinux/isolinux.bin
-boot_image isolinux cat_path=/boot/isolinux/boot.cat
-boot_image isolinux load_size=2048
-boot_image any boot_info_table=on
- -append_partition partition_number type_code disk_path
-
Cause a prepared filesystem image to be appended to the ISO image and to be described by a partition table entry in a boot block at the start of the emerging ISO image. The partition entry will bear the size of the submitted file rounded up to the next multiple of 2048 bytes or to the next multiple of the cylinder size.
- Jigdo Template Extraction:
- -jigdo parameter_name value
-
Clear Jigdo Template Extraction parameter list or add a parameter to that list. The alias names are the corresponding genisoimage options. They are accepted as parameter names as well. Especially they are recognized by the -as mkisofs emulation command.
- Character sets:
- -charset character_set_name
- Set the character set from which to convert file names when loading an image and to which to convert when writing an image.
- -local_charset character_set_name
- Override the system assumption of the local character set name. If this appears necessary, one should consider to set -backslash_codes to "on" in order to avoid dangerous binary codes being sent to the terminal.
- Exception processing:
- -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.
- -signal_handling mode
-
Control the installation of a signal handler which shall react on external signals (e.g. from program "kill" or from keys Ctrl+C) or on signals caused by severe program errors.
- -error_behavior occasion behavior
-
Control the program behavior at problem event occasions. For now this applies to occasions "image_loading" which is given while an image tree is read from the input device, and to "file_extraction" which is given with osirrox commands like -extract.
- Dialog mode control:
- -dialog "on"|"off"|"single_line"
-
Enable or disable to enter dialog mode after all program 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":
- Drive and media related inquiry actions:
- -devices
-
Show list of available MMC drives with the addresses of their libburn standard device files.
- -device_links
-
Like -devices, but presenting the drives with addresses of symbolic links which point to the actual device files.
- -toc
-
- -toc_of "in"|"out"|"all"[":short"]
-
Like command -toc but explicitly choosing which drive's table-of-content to show. "in" shows -indev or -dev, "out" shows -outdev or -dev, "all" shows the same as -toc.
- -assess_indev_features "plain"|"cmd"|"as_mkisofs"|"replay"
-
Inspect the filesystem on -indev for the presence of Rock Ridge, Joliet, or ISO 9660:1999, and for traces of other write options which seem to have been used when the filesystem was created.
0 = ISO 9660 , 1 = Joliet , 2 = ISO 9660:1999
- -mount_cmd drive entity id path
-
Emit an appropriate command line for mounting the ISO session indicated by drive, entity and id. The result will be different on GNU/Linux and on FreeBSD or NetBSD.
- -mount_opts option[:option...]
- Set options which influence -mount and -mount_cmd. Currently there is only option "exclusive" which is default and its counterpart "shared". The latter causes xorriso not to give up the affected drive with command -mount. On GNU/Linux it adds mount option "loop" which may enable mounting of several sessions of the same block device at the same time. One should not write to a mounted optical medium, of course. Take care to umount all sessions before ejecting.
- -session_string drive entity id format
-
Print to the result channel a text which gets composed according to format and the parameters of the addressed session.
- -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 command. The result depends on several settings and also on the kind of output device. If no -jigdo options are set and not command -as "mkisofs" was used, then -padding (300 kB by default) is not counted as part of the image size.
- -tell_media_space
-
Print available space on the output medium and the free space after subtracting already foreseeable consumption by next -commit.
- -pvd_info
- Print various ID strings and timestamps which can be found in loaded ISO images. Some of the IDs may be changed by commands like -volid or -publisher. For these IDs -pvd_info reports what would be written with the next -commit. The timestamps get not automatically propagated from loaded image to newly written image. The ones for new images may be set by command -volume_date. See there for the meaning of the particular timestamps.
- -report_el_torito mode
-
- -report_system_area mode
-
With mode plain print a report about the information found in the System Area of the loaded ISO image. The report consists of zero to many lines with a header text, a colon, and information text.
- Navigation in ISO image and disk filesystem:
- -cd iso_rr_path
-
Change the current working directory in the ISO image. This is prepended to iso_rr_paths which do not begin with '/'.
- -cdx disk_path
- Change the current working directory in the local filesystem. To be prepended to disk_paths which do not begin with '/'.
- -pwd
-
- -pwdx
-
- -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.
- -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. The output format resembles shell command ls -ln.
- -lsdl iso_rr_pattern [***]
- Like -lsd but also list some of the file attributes. The output format resembles shell command ls -dln.
- -lsx disk_pattern [***]
-
List files in the local filesystem which match shell patterns. Patterns which do not begin with '/' are used relative to -cdx.
- -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.
- -getfacl iso_rr_pattern [***]
- Print the access permissions of the given files in the ISO image using the format of shell command getfacl. If a file has no ACL then it gets fabricated from the -chmod settings. A file may have a real ACL if it was introduced into the ISO image while command -acl was set to "on".
- -getfacl_r iso_rr_pattern [***]
- Like -gefacl but listing recursively the whole file trees underneath eventual directories.
- -getfattr iso_rr_pattern [***]
- Print the xattr of the given files in the ISO image. If a file has no such xattr then noting is printed for it. The choice of namespaces depends on the setting of command -xattr: "on" or "user" restricts it to namespace "user", "any" only omits namespace "isofs".
- -getfattr_r iso_rr_pattern [***]
- Like -gefattr but listing recursively the whole file trees underneath of directories.
- -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.
- -compare_l disk_prefix iso_rr_prefix disk_path [***]
- Perform -compare_r with each of the disk_path parameters. iso_rr_path will be composed from disk_path by replacing disk_prefix by iso_rr_prefix.
- -show_stream iso_rr_path [***]
-
Display the content stream chain of data files in the ISO image. The chain consists of the iso_rr_name and one or more streams, separated by " < " marks. A stream description consists of one or more texts, separated by ":" characters. The first text tells the stream type, the following ones, if ever, describe its individual properties. Frequently used types are:
disk:'disk_path' for local filesystem objects.
image:'iso_rr_path' for ISO image file objects.
cout:'disk_path offset count' for -cut_out files.
extf:'filter_name' for external filters.
--zisofs:algorithm:block_size for zisofs compression filters.
--zisofs-decode:algorithm:block_size for zisofs uncompression filters.
--gzip for internal gzip compression filters.
--gunzip for internal gzip uncompression filters.
'/abc/xyz.gz' < extf:'gzip' < disk:'/home/me/x'
- -show_stream_r iso_rr_path [***]
- Like -show_stream but working recursively.
- Evaluation of readability and recovery:
- -check_media [option [option ...]] --
-
Try to read data blocks from the indev drive, optionally copy them to a disk file, and finally report about the encountered quality. Several options may be used to modify the default behavior.
- -check_media_defaults [option [option ...]] --
-
Preset options for runs of -check_media, -extract_cut and best_effort file extraction. Options given with -check_media will override the preset options. -extract_cut will override some options automatically.
xorriso -indev /dev/sr0 -check_media data_to=- -- | md5sum
xorriso -outdev /dev/sr0 -check_media data_to=- use=outdev \
what=disc min_lba=0 max_lba=999999 -- | sha256sum
- -check_md5 severity iso_rr_path [***]
-
Compare the data content of the given files in the loaded image with their recorded MD5 checksums, if there are any. In case of any mismatch an event of the given severity is issued. It may then be handled by appropriate settings of commands -abort_on or -return_with which both can cause non-zero exit values of the program run. Severity ALL suppresses that event.
- -check_md5_r severity iso_rr_path [***]
- Like -check_md5 but checking all data files underneath the given paths. Only mismatching data files will be reported.
- osirrox ISO-to-disk restore commands:
- -osirrox setting[:option:...]
-
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. It can be irrevocably disabled by -osirrox banned.
- -extract iso_rr_path disk_path
-
Copy the file objects at and underneath iso_rr_path to their corresponding addresses at and underneath disk_path. This is the inverse of -map or -update_r.
- -extract_single iso_rr_path disk_path
- Like -extract, but if iso_rr_path is a directory then its sub tree gets not restored.
- -extract_l iso_rr_prefix disk_prefix iso_rr_path [***]
- Perform -extract with each of the iso_rr_path parameters. disk_path will be composed from iso_rr_path by replacing iso_rr_prefix by disk_prefix.
- -extract_cut iso_rr_path byte_offset byte_count disk_path
-
Copy a byte interval from a data file out of an ISO image into a newly created disk file. The main purpose for this is to offer a way of handling large files if they are not supported by mount -t iso9660 or if the target disk filesystem cannot store large files.
- -cpx iso_rr_path [***] disk_path
-
Copy single leaf file objects from the ISO image to 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 and the extracted files get installed in it with the same leafnames.
- -cpax iso_rr_path [***] disk_path
- Like -cpx but restoring mtime, atime as in ISO image and trying to set ownership and group as in ISO image.
- -cp_rx iso_rr_path [***] disk_path
-
Like -cpx but also extracting whole directory trees from the ISO image.
- -cp_rax iso_rr_path [***] disk_path
- Like -cp_rx but restoring mtime, atime as in ISO image and trying to set ownership and group as in ISO image.
- -paste_in iso_rr_path disk_path byte_offset byte_count
-
Read the content of a ISO data file and write it into a data file or device file on disk beginning at the byte_offset. Write at most byte_count bytes. The file depicted by disk_path has to support random write access.
- -concat mode [target | lim prog [args [...]] lim] iso_rr_path [***]
-
Copy the data content of one or more data files of the ISO image into a disk file object, into a file descriptor, or start a program and copy the data into its standard input. The latter is subject to the security restrictions for external filters.
-concat append /home/me/accumulated_text /my/iso/text --
-iso_rr_pattern on \
-concat pipe + /usr/bin/wc + "/my/iso/files*" --
- -extract_boot_images disk_path
-
Copy boot equipment to disk, which is not necessarily represented as data files in the ISO filesystem. The data get written into various files in a disk directory, which may already exist or of which the parent must exist so that it can get created.
- -mount drive entity id path
- Produce the same line as -mount_cmd and then execute it as external program run after giving up the depicted drive. See also -mount_opts. This demands -osirrox to be enabled and normally will succeed only for the superuser. For safety reasons the mount program is only executed if it is reachable as /bin/mount or /sbin/mount.
- Command compatibility emulations:
- -as personality option [options] --
-
-as mkisofs -help --
-as cdrecord -help --
- -read_mkisofsrc
-
Try one by one to open for reading:
./.mkisofsrc , $MKISOFSRC , $HOME/.mkisofsrc , $(dirname $0)/.mkisofsrc
- -pacifier behavior_code
-
Control behavior of UPDATE pacifiers during write operations. The following behavior codes are defined:
- -scdbackup_tag list_path record_name
-
Set the parameter "name" for a scdbackup checksum record. It will be appended in an scdbackup checksum tag to the -md5 session tag if the image starts at LBA 0. This is the case if it gets written as first session onto a sequential medium, or piped into a program, named pipe or character device.
- Scripting, dialog and program control features:
- -no_rc
-
- -options_from_file fileaddress
-
Read quoted input from fileaddress and execute it like dialog lines. Empty lines and lines which begin by # are ignored. Normally one line should hold one xorriso command and all its parameters. Nevertheless lines may be concatenated by a trailing backslash.
- -help
-
- -version
- Print program name and version, component versions, license.
- -list_extras code
-
Tell whether certain extra features were enabled at compile time. Code "all" lists all features and a headline. Other codes pick a single feature. Code "codes" lists them. They share names with related commands (see also there):
- -history textline
- Copy textline into libreadline history.
- -status mode|filter
-
Print the current settings of xorriso. Modes:
short... print only important or altered settings
long ... print all settings including defaults
long_history like long plus history lines
- -status_history_max number
- Set maximum number of history lines to be reported with -status "long_history".
- -list_delimiter word
-
Set the list delimiter to be used instead of "--". It has to be a single word, must not be empty, not longer than 80 characters, and must not contain quotation marks.
- -sh_style_result "on"|"off"
-
Make the result output of some filesystem inspection commands look more like the output of equivalent shell commands. The most important effect is to prevent the wrapping of file addresses into quotation marks with commands
-pwd -pwdx -ls -lsd -lsl -lsdl -lsx -lsdx -lslx -lsdlx
-du -dus -dux -dusx -findx -find
- -backslash_codes "on"|"off"|mode[:mode]
-
Enable or disable the interpretation of symbolic representations of special characters with quoted input, or with program arguments, or with program text output. If enabled the following translations apply:
\a=bell(007) \b=backspace(010) \e=Escape(033) \f=formfeed(014)
\n=linefeed(012) \r=carriage_return(015) \t=tab(011)
\v=vtab(013) \\=backslash(134) \[0-7][0-7][0-7]=octal_code
\x[0-9a-f][0-9a-f]=hex_code \cC=control-C
"in_double_quotes" translates only inside " quotation.
"in_quotes" translates inside " and ' quotation.
"with_quoted_input" translates inside and outside quotes.
"with_program_arguments" translates program arguments.
- -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, LBA sorting, restoring of hard links.
- -print text
- Print a text line to the result channel which is by default stdout.
- -print_info text
- Print a text line to the info channel which is by default stderr.
- -print_mark text
- Print a text line to the mark channel which is by default directed to both, result and info channel. An empty text will cause no output at all.
- -prompt text
- Show text at beginning of output line and wait for the user to hit the Enter key or to send a line via stdin.
- -sleep seconds
- Wait for the given number of seconds before performing the next command. Expect coarse granularity no better than 1/100 seconds.
- -errfile_log mode path|channel
-
- -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 options -o sbsector= (on GNU/Linux) or -s (on FreeBSD) from date or volume ID.
- -scsi_log "on"|"off"
-
Mode "on" enables very verbose logging of SCSI commands and drive replies. Logging messages get printed to stderr, not to any of the xorriso output channels.
- -end
-
- -rollback_end
- Discard pending changes. End program immediately.
- # any text
- Only in dialog or file execution mode, and only as first non-whitespace in line: Do not execute the line but store it in readline history.
- Support for frontend programs via stdin and stdout:
- -pkt_output "on"|"off"
-
Consolidate text output on stdout and classify each line by a channel indicator:
'R:' for result lines,
'I:' for notes and error messages,
'M:' for -mark texts.
I:1: enter option and parameters :
- -logfile channel fileaddress
- Copy output of a channel to the given file. Channel may be one of: "." for all channels, "I" for info messages, "R" for result lines, "M" for -mark texts.
- -mark text
- If text is not empty it will get put out on "M" channel each time xorriso is ready for the next dialog line or before xorriso performs a command that was entered to the pager prompt.
- -msg_op opcode parameter_text
-
This command shall facilitate extraction of particular information from the message output of other commands. It gives access to the C API function Xorriso_parse_line() and to the message sieve that is provided by the C API. Please refer to their descriptions in file xorriso.h. Further it helps to interpret the severity codes of info messages.
- -named_pipe_loop mode[:mode] disk_path_stdin disk_path_stdout disk_path_stderr
-
Temporarily replace standard input, standard output and standard error by named pipes. Enter dialog mode without readline.
- -launch_frontend program [arguments ...] --
-
Start the program that is given as first parameter. Submit the other parameters as program arguments. Enable xorriso dialog mode.
xorriso -launch_frontend "$(which xorriso-tcltk)" -stdio --
-mark 0 -pkt_output on -msg_op start_sieve - -reassure off
...some...commands... -mark <incremented_number>
-report_about UPDATE -abort_on NEVER
-iso_rr_pattern off -disk_pattern off
- -prog text
- Use text as name of this program in subsequent messages
- -prog_help text
-
Use text as name of this program and perform -help.
EXAMPLES
Overview of examples:
As superuser learn about available drivesAs superuser learn about available drives
On Linux, FreeBSD or NetBSD consider to give rw-permissions to those users or groups which shall be able to use the drives with xorriso. On Solaris use pfexec. Consider to restrict privileges of xorriso to "base,sys_devices" and to give r-permission to user or group.Blank medium and compose a new ISO image as batch run
Acquire drive /dev/sr2, make medium ready for writing a new image, fill the image with the files from hard disk directories /home/me/sounds and /home/me/pictures.-blank as_needed \
-map /home/me/sounds /sounds \
-map /home/me/pictures /pictures
-blank as_needed \
-map /home/me/sounds /sounds \
-map /home/me/pictures /pictures \
-rm_r \
/sounds/indecent \
'/pictures/*private*' \
/pictures/confidential \
-- \
-cd / \
-add pictures/confidential/work* --
A dialog session doing about the same
Some settings are already given as start argument. The other activities are done as dialog input. The pager gets set to 20 lines of 80 characters.Manipulate an existing ISO image on the same medium
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 medium, check whether the tree can be loaded, and eject.-rm_r /sounds -- \
-mv \
/pictures/confidential \
/pictures/restricted \
-- \
-chmod go-rwx /pictures/restricted -- \
-map /home/me/prepared_for_dvd/sounds_dummy /sounds \
-map /home/me/prepared_for_dvd/movies /movies \
-commit -eject all
Copy modified ISO image from one medium to another
Load image from input drive. Do the same manipulations as in the previous example. Acquire output drive and blank it. Burn the modified image as first and only session to the output drive.-rm_r /sounds -- \
...
-outdev /dev/sr0 -blank as_needed \
-commit -eject all
Bring a prepared ISOLINUX tree onto medium and make it bootable
The user has already created a suitable file tree on disk and copied the ISOLINUX files into subdirectory ./boot/isolinux of that tree. Now xorriso can burn an El Torito bootable medium:-map /home/me/ISOLINUX_prepared_tree / \
-boot_image isolinux dir=/boot/isolinux
Change existing file name tree from ISO-8859-1 to UTF-8
This example assumes that the existing ISO image was written with character set ISO-8859-1 but that the readers expected UTF-8. Now a new session gets added with converted file names. Command -changes_pending "yes" enables writing despite the lack of any manipulation command.-out_charset UTF-8 -backslash_codes on -dev /dev/sr0 \
-changes_pending yes -commit -eject all
Operate on storage facilities other than optical drives
Full read-write operation is possible with regular files and block devices:-drive_class banned /dev/sda*
-drive_class harmless /dev/sdb
...
| gzip >image.iso.gz
Burn an existing ISO image file to medium
Actually this works with any kind of data, not only ISO images:Perform multi-session runs as of cdrtools traditions
Between both processes there can be performed arbitrary transportation or filtering.xorriso -as cdrecord -v dev=/dev/sr0 blank=fast -multi -eject -
xorriso -as cdrecord -v dev=/dev/sr0 -waiti -multi -eject -
Let xorriso work underneath growisofs
growisofs expects an ISO formatter program which understands options -C and -M. If xorriso gets started by name "xorrisofs" then it is suitable for that.Adjust thresholds for verbosity, exit value and program abort
Be quite verbose, exit 32 if severity "FAILURE" was encountered, do not abort prematurely but forcibly go on until the end of commands.-report_about UPDATE \
-return_with FAILURE 32 \
-abort_on NEVER \
...
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 changes the directory trees /projects and /personal_mail in the ISO image so that they become exact copies of their disk counterparts. ISO file objects get created, deleted or get their attributes adjusted accordingly.-abort_on FATAL \
-for_backup -disk_dev_ino on \
-assert_volid 'PROJECTS_MAIL_*' FATAL \
-dev /dev/sr0 \
-volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \
-not_leaf '*.o' -not_leaf '*.swp' \
-update_r /home/thomas/projects /projects \
-update_r /home/thomas/personal_mail /personal_mail \
-commit -toc -check_md5 FAILURE -- -eject all
-hardlinks perform_update \
-find / -type f -pending_data -exec set_filter --zisofs -- \
-mount_cmd "indev" "auto" "auto" /mnt
# osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt
-update_r /home/thomas/projects /current/projects \
-update_r /home/thomas/personal_mail /current/personal_mail \
-clone /current /"$(date '+%Y_%m_%d_%H%M%S')" \
Restore directory trees from a particular ISO session to disk
This is an alternative to mounting the medium and using normal file operations.-load volid 'PROJECTS_MAIL_2008_06_19*' \
-indev /dev/sr0 \
-osirrox on:auto_chmod_on \
-chmod u+rwx / -- \
-extract /projects /home/thomas/restored/projects \
-extract /personal_mail /home/thomas/restored/personal_mail \
-rollback_end
Try to retrieve blocks from a damaged medium
$ xorriso -abort_on NEVER -indev /dev/sr0 \-check_media time_limit=1800 report=blocks_files \
data_to="$HOME"/dvd_copy sector_map="$HOME"/dvd_copy.map --
FILES
Program alias names:
Normal installation of xorriso creates three links or copies which by their program name pre-select certain settings: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:/etc/default/xorriso
/etc/opt/xorriso/rc
/etc/xorriso/xorriso.conf
$HOME/.xorrisorc
Runtime control files:
The default setting of -check_media abort_file= is:/var/opt/xorriso/do_abort_check_media
ENVIRONMENT
The following environment variables influence the program behavior:SEE ALSO
- For the mkisofs emulation of xorriso
- xorrisofs(1)
- For the cdrecord emulation of xorriso
- xorrecord(1)
- For mounting xorriso generated ISO 9660 images (-t iso9660)
- mount(8)
- Libreadline, a comfortable input line facility
- readline(3)
- Other programs which produce ISO 9660 images
- mkisofs(8), genisoimage(1)
- Other programs which burn sessions to optical media
- growisofs(1), cdrecord(1), wodim(1), cdrskin(1)
- ACL and xattr
- getfacl(1), setfacl(1), getfattr(1), setfattr(1)
- MD5 checksums
- md5sum(1)
- On FreeBSD the commands for xattr and MD5 differ
- getextattr(8), setextattr(8), md5(1)
BUGS
To report bugs, request help, or suggest enhancements for xorriso, please send electronic mail to the public list <bug-xorriso@gnu.org>. If more privacy is desired, mail to <scdbackup@gmx.net>.AUTHOR
Thomas Schmitt <scdbackup@gmx.net>COPYRIGHT
Copyright (c) 2007 - 2023 Thomas SchmittCREDITS
xorriso is in part based on work by Vreixo Formoso who provides libisofs together with Mario Danic who also leads the libburnia team. Vladimir Serbinenko contributed the HFS+ filesystem code and related knowledge. Thanks to Andy Polyakov who invented emulated growing, to Derek Foreman and Ben Jansens who once founded libburn.Version 1.5.6, Jun 07, 2023 |