pycdlib-explorer - tool to examine and modify ISOs using
pycdlib
pycdlib-explorer <iso-file>
This is a tool to examine and modify existing ISO files on disk.
Using this tool, the files, directories, and metadata on an ISO can be
examined, new files can be added, and old files can be deleted. Note that
due to the nature of the ISO standard, files cannot be modified in place in
a general way. To accomplish this, remove the file and then re-add it with
new contents.
The commands that modify the ISO only modify the in-memory copy.
No changes are made to the original file until the write command is
issued.
Also note that pycdlib-explorer has no command-line options;
instead, its behavior is controlled entirely at runtime through commands.
The following section describes the available commands in
pycdlib-explorer.
- add_file
<iso_path> <src_filename> [rr_name=<rr_name>]
[joliet_path=<joliet_path>]
- Add the contents of <src_filename> to the ISO at the location
specified in <iso_path>. If the ISO is a Rock Ridge ISO,
<rr_name> must be specified; otherwise, it must not be. If the ISO
is not a Joliet ISO, <joliet_path> must not be specified. If the ISO
is a Joliet ISO, <joliet_path> is optional, but highly recommended
to supply.
- cd <iso_dir>
- Change relative directories to iso_dir for exploration.
- cwd
- Show the current working directory.
- exit
- Exit out of pycdlib-explorer.
- get <iso_file>
<out_file>
- Copy the contents of the relative or absolute ISO path iso_file
into out_file.
- help
- Print the available commands. Use "help <cmd>" for a more
detailed description of the commands, including the command-line arguments
they require.
- ls
- Show the contents of the current working directory. The format of the
output is: TYPE(F=file, D=directory) NAME.
- mkdir <iso_path>
[rr_name=<rr_name>] [joliet_path=<joliet_path>]
- Make a new directory called <iso_path>. If the ISO is a Rock Ridge
ISO, <rr_name> must be specified; otherwise, it must not be. If the
ISO is not a Joliet ISO, <joliet_path> must not be specified. If the
ISO is a Joliet ISO, <joliet_path> is optional, but highly
recommended to supply.
- print_mode
[iso9660|rr|joliet|udf]
- Change which 'mode' of filenames are printed out. There are four main
modes: ISO9660 (iso9660, the default), Rock Ridge (rr), Joliet (joliet),
and UDF (udf). The original iso9660 mode only allows filenames of 8
characters, plus 3 for the extension. The Rock Ridge extensions allow much
longer filenames and much deeper directory structures. The Joliet
extensions also allow longer filenames and deeper directory structures,
but in an entirely different context (though in most circumstances, the
Joliet context will mirror the ISO9660/Rock Ridge context). The UDF Bridge
extensions add an entirely parallel UDF context to the ISO as well. Any
given ISO will always have ISO9660 mode, but may have any combination of
Rock Ridge, Joliet, and UDF (including none of them). Running this command
with no arguments prints out the current mode. Passing 'iso9660' as an
argument sets it to the original ISO9660 mode. Passing 'rr' as an argument
sets it to Rock Ridge mode. Passing 'joliet' as an argument sets it to
Joliet mode. Passing 'udf' as an argument sets it to UDF mode.
- quit
- Exit out of pycdlib-explorer.
- rm_file
<iso_path>
- Remove the file named iso_path from the ISO. Note that this must be
a file; to remove a directory, use rmdir.
- rmdir
<iso_path>
- Remove the directory named iso_path from the ISO. Note that this
must be a directory; to remove a file, use rm_file.
- tree
- List the contents of the ISO in a tree-like format, similar to the bash
tree command.
- write
<out_file>
- Write a valid ISO9660 file out to out_file, taking into account any
changes made while running the program. This is also sometimes referred to
as "mastering" the ISO. Note that the out_file must NOT
be the same file as the input file, or the resulting ISO will not work
properly.
pycdlib-extract-files(1), pycdlib-genisoimage(1)
Chris Lalancette <clalancette@gmail.com>