The following are command line utilities (application software) that run (primarily in *nix OS environments) for dealing with optical media (CD-Rs, DVD+Rs).
- 1 summary
- 2 libcdio
- 3 libBurnia
- 4 cdrdao
- 5 cdrwtool
- 6 CDRtools
- 7 DVD+RW-mediaInfo
- 8 optical disc file systems
- 9 isoinfo
- 10 k3b
- 11 mkisofs
libCDio from GNU
offers (at least one) tool that can query (report) stats status state of optical media (CD-Rs, DVD+Rs)
libcdio-utils: sample applications based on the CDIO libraries
This package contains a collection of small libcdio-based tools: * cd-drive show CD-ROM drive characteristics * cd-info show information about a CD or CD-image * cd-paranoia an audio CD ripper * cd-read read information from a CD or CD-image * cdda-player a simple curses-based audio CD player * iso-info show information about an ISO 9660 image * iso-read read portions of an ISO 9660 image * mmc-tool issue low-level commands to a CD drive
which, in turn 
cd-info may need
--dvd switch for DVD R media, of course. (never cd-rs, I assume)
cdrwtool -d -i
-toc switches (and maybe
cdrdao disk-info and
xorriso -indev /dev/sr0 -pvd_info
"pvd" stands for Primary Volume Descriptor, which reports information (metadata) about the ISO 9660 filesystem volume (contents of the data track). (the beginning/top thereof)
xorriso -indev /dev/sr0 -toc
"toc" is Table of Contents, which is overhead for teh disc, as a whole, (equivalent to a partition table) -- point: information (data) about the sessions (and tracks) on the disc.
Also from the GNU project? official homepage?
for Gentoo "Gentoo Packages /package/dev-libs/libcdio-paranoia"
debian (wheezy (testing branch)) package info page.
some front-end apps are made for reference / testing (of the functionality of the library00
When querying info about DVD media (DVD+R discs or DVD-Rs, as opposed to CD-Rs)
--dvd" switch maybe be necessary.
--iso9660, when added to the command line invocation, will (try to) list the actual contents (directories and files) on the ISO 9660 filesystem volume.
from the GNU project? a library (and related associated suite of apps)
- btw, that official homepage is powered by Trac by Edgewall software. "Trac is an enhanced wiki and issue tracking system for software development projects."
It emulates (on a user-interface, front-end level) cdrecord from cdrtools (see below).
- "Note that xorriso does not write audio CDs and that it does not produce UDF filesystems which are specified for official video DVD or BD."
It is a (front-end / client-side) command-line application
man page (official)
query disc info
Information about the 'Primary Volume Descriptor" of/on the ISO9660 filesystem (the very beginning of that volume):
xorriso -indev /dev/sr0 -pvd_info
xorriso -indev /dev/sr0 -tell-media-space
xorriso -indev /dev/sr0 -toc
Xfburn is a lightweight graphical front-end for this.
It has a minimalist interface (Which offers few options, meaning no complexity) to the user. It is thus named because it is bundled with the XFCE desktop environment.
open source software application "cdrdao" was originally designed to burn CD-Rs in Disc-at-Once mode (and more specifically, audio CDs). However it can be used to burn data tracks (.iso image files) to cd-rs as well, and also burn them to disc in a way that the disc still can be written additionally to in the future (is appendable).
To write any data (audio or data tracks) to a cd-r, invoke the program (if its installed) with "cdrdao" and the "write" operation or command.
Additional optional switches include "--speed" followed by a space and its value which is an integer (number).
To burn the disc so that more can be written to later (appended), include the "--multi" switch.
To see more information (output on status) by cdrdao, include the "-v" (note single dash/minus character this time) (?optional?: followed by an integer) (up to 2 -- nothing beyond 2 makes any difference, right?)
the key argument for invoking cdrdao to write (burn) anything to a cd-r is the name (path to) a table-of-contents file.
Table of Contents file
A T.O.C. (table-of-contents) file is simply a plain-text file consisting of (only?) 3 lines (4, if counting blank empty line breaks that create vertical white space(s) )
The first line will specify what write MODE the disc, as a whole is in
The possible values for this property/parameter are:
- CDDA" <-- confirm
then, a blank (empty) line (vertical space)
The 2nd line (or 3rd, if counting a blank / empty whitespace line break previous) of content in this table-of-contents plain-text file)
consists of the specification for the TRACK to be burned to the disc.
First the word "TRACK" then a space
followed by the mode to write this particular track (that means, the session) is written in. (In the case of data discs, any session of an optical disc (CD-R) can have contain only one track,)
These values include:
"MODE1" or "MODE2_FORM1" (For data)
(don't use "MODE2" (what others) for data discs.
Also note that the specification for the MODE of the track (meaning session, as well , that contains the track ) doesn't necessarily have to match the spec of MODE for the disc as a whole, as indicated in the very first line (top-most line) of this TOC file.
The last line (bottom-most) starts with "DATAFILE", a space, and then the path where the source/input image file (filesystem volume, usually an ISO9660) can be accessed (called by cdrdao).
CD_ROM TRACK MODE1 DATAFILE "GhostBSD3.1-lxde-i386.iso"
OR (alternately, the inverse example choices)
CD_ROM_XA TRACK MODE2_FORM1 DATAFILE ../bridge-lxde-2013.06_i686.iso
I have actually successfully burned (and later read, and booted from) CD-Rs that were burned using TOCs that have (opposite/mis-matching) specifications for the Modes (mode 1 vs. Mode 2 Form 1 (XA)) the disc, as a whole -- vs. the session/track.
CD_ROM_XA TRACK MODE1 DATAFILE "GhostBSD3.1-lxde-i386.iso"
OR (alternately, the inverse example choices)
CD_ROM TRACK MODE2_FORM1 DATAFILE ../bridge-lxde-2013.06_i686.iso
Though, generally a "CD_ROM_XA" (that is , Mode 2XA) disc spec is usually paired with a "TRACK MODE2_FORM1" specification. and, inversely, "CD_ROM" disc mode specification is used in conjunction with "TRACK MODE1" in a given TOC file for cdrdao.
Track modes "MODE2XA" and "MODE2" (do they both exist -- need a space betweeN "mode" and the number/integer?) do not work with .iso files (source data) -- they are for special (Video CD CD+ ) which I have no experience with. I made the mistake of trying to use cdrdao to burn data .iso to cd-r tracks (sessions) using those track specs and the disc was useless (could not be read). This is because those modes make a sector size of something other than 2048 bytes. (2556 or whatever the variants / permutations are).
now, burn the disc
Now that the table of contents file (TOC file) is composed and saved,
actually burn the disc (spin up and activate the laser)
To use one of the above, example T.O.C. files, let's (for the sake of this example) assume that the name of that file is "burn-xa-disc.toc"
cdrdao write -v 2 --speed 2 --multi burn-xa-disc.toc
- What is needed, principally (chiefly) is "cdrdao" (the app/command to invoke) then the mode/command/instruction "write" and the primary/principal (and necessary, for this take) argument is the name (path to) the toc file (that cdrdao will read to know how and what to burn to the disc).
example result output
In this example, my T-O-C file is:
CD_ROM TRACK MODE2_FORM1 DATAFILE "(filename).iso"
# cdrdao write -v 3 --speed 3 --multi --force cdrdao_Mode2_form1.toc Cdrdao version 1.2.3 - (C) Andreas Mueller <firstname.lastname@example.org> Format converter enabled for extensions: mp3 ogg Detected SG driver version: 3.5.27 Detected SG driver version: 3.5.27 /dev/sr0: Optiarc DVD RW AD-7260S Rev: 1.03 Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0000) WARNING: The toc type should be set to CD_ROM_XA if a multi session WARNING: CD is recorded. Starting write at speed 8... Using multi session mode. Pausing 10 seconds - hit CTRL-C to abort. Process can be aborted with QUIT signal (usually CTRL-\). Buffer filled Waiting for reader process Awaken, will start writing Turning BURN-Proof on Enabling JustLink. Session format: 0 Drive accepted write parameter mode page variant 0. Executing power calibration... Power calibration successful. Cue Sheet (variant 0): CTL/ TNO INDEX DATA SCMS MIN SEC FRAME ADR FORM 41 00 00 24 00 00 00 00 41 01 00 20 00 00 00 00 41 01 01 20 00 00 02 00 41 aa 01 24 00 75 44 32 Drive accepted cue sheet variant 0. Writing track 01 (mode MODE2_FORM1/MODE2_FORM1 )... Wrote 152 of 764 MB (Buffers 100% 100%).0%).
Wrote 648 of 764 MB (Buffers 100% 100%).
Wrote 692 of 764 MB (Buffers 100% 100%). Wrote 764 of 764 MB (Buffers 100% 100%). Wrote 340682 blocks. Buffer fill min 93%/max 100%. Flushing cache... Writing finished successfully.
Right? I tried it using toc files that began with "CD_ROM" and "CD_ROM_XA" in/near the top.
I even tried with the "--overburn" option and alas, to no avail:
# cdrdao write -v 2 --speed 1 --multi --overburn openbox3.1-32_mode2xa.toc Cdrdao version 1.2.3 - (C) Andreas Mueller <email@example.com> /dev/sr0: Optiarc DVD RW AD-7260S Rev: 1.03 Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0000) WARNING: Length of toc (81:57:37, 368812 blocks) exceeds capacity of CD-R (00:00:00, -150 blocks). WARNING: Ignored because of option '--overburn'. WARNING: Some drives may fail to record this toc. Starting write at speed 125... Using multi session mode. Pausing 10 seconds - hit CTRL-C to abort. Process can be aborted with QUIT signal (usually CTRL-\). Turning BURN-Proof on Enabling JustLink. Executing power calibration... Power calibration successful. ERROR: Cannot get Track Information Block. [valid=0] Info fld=0, Current SCSI command failed: sense key: 0x05: Illegal Request Additional sense indicates: Logical block address out of range Raw sense data: 0x70 0x00 0x05 0x00 0x00 0x00 0x00 0x0a 0x00 0x00 0x00 0x00 0x21 0x00 0x00 0x00 ERROR: Write data failed. ERROR: Writing failed.
- Note how cdrdao recognises a running time > 74 or 80 minutes (which exceeds a CD's capacity of 650 or 700 MiBs. But it cannot write to any medium that has a greater capacity , unless ...
- maybe (I'll have to experiment with this) -- another spec can be put in the first (top-most) line of the toc file, saying "DVD" or "DVD-R" or something (Book-type ?)
Is it safe to say that cdrdao can ONLY be useful for CD media and NOT any larger optical discs like DVDs?
DVD media querying with cdrdao
- Even the "disk-info" command is of limited usage (relability / accuracy) for DVD+R media (discs). ?Can the same be said for DVD-R (minus-R media)? (What about DVD video discs, particularly mass-manufactured ones with proper pits (From a factory, as opposed to home-burned DVD Rs ? ) (<-- confirm that)
It reports the same erroneous useless capacity/running time no matter what the particular state of the DVD is:
# # SONY DVD+R # cdrdao disk-info Cdrdao version 1.2.3 - (C) Andreas Mueller <firstname.lastname@example.org> /dev/sr0: Optiarc DVD RW AD-7260S Rev: 1.03 Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0000) That data below may not reflect the real status of the inserted medium if a simulation run was performed before. Reload the medium in this case. CD-RW : no Total Capacity : 35:03:64 (157789 blocks, 308/353 MB) CD-R medium : Doremi Media Co., Ltd. Long Strategy Type, e.g. Cyanine Recording Speed : n/a CD-R empty : yes
- Another example further supports/strenghtens confirms this, however, the figures that cdrdao disk-info reports for subsequent fields such as the start points/locations of the previous session as well as the beginning of next (that means blank) session (where additional data can be added to the disc) ARE releavant (if not necessarily completely accurate/precise <-- confirm this).
get disc stats / information
After a disc has been burned, cdrdao can report status information , statistics about the medium.
The two operators/modes/commands here are "disk-info" and "msinfo"
"msinfo" is only useful if the disc is appendable and not finalized so that no additional data can be added to it.
cdrdao disk-info /dev/sr0
cdrdao msinfo /dev/sr0
I am using "/dev/sr0" as the device special file for calling the optical disc drive.
Linux distros may have symbolic links such as "/dev/cdrom" or "/dev/dvd" that point to that.
CDRW Tool is part of the udftools package. It is one app that is part of a collection/group or suite of apps among which are mkudffs intended for authoring udf filesystem volumes and burning them to optical discs, originally re-writable CDs.
I have used it to get stats query status figures on the state condition of an optical disc (including DVDs)
the key switch is "
-i" for get info on the disc.
Also, it is necessary (even if only one optical drive is installed physically and is detected by the OS (kernel)
to use teh "
-d" switch to specify which device for cdrwtool to query/call.
cdrwtool -d /dev/sr0 -i
That command line will only produce STANDARD Output, no standard error (unless there is a problem!)
I would often save the output to a file thusly:
cdrwtool -i -d /dev/sr0 1>> "cdrwtool-i-d.stdout.txt"
% cdrwtool -d /dev/sr0 -i using device /dev/sr0 1028KB internal buffer setting write speed to 12x DISC INFO: erasable : No border = 0 Disc status = 1 number of first track = 1 number of sessions = 2 number of tracks = 2 status of last track = 2 uru = 0 did_v = 1 dbc_v = 0 disc type = 32 disc_id = 5387350 lead_in = 16:12:48 (72948) lead_out = 79:59:74 (359999) OPC entries = 0 TRACK INFO: Track 1 track_number = 1 session_number = 1 damage = 0 copy = 0 track_mode = 4 Rt = 1 blank = 0 packet = 0 fp = 0 data_mode = 15 lra_v = 1 nwa_v = 0 track_start = 0 next_writable = 4294967295 last_recorded = 0 free_blocks = 0 packet_size = 0 track_size = 66046 (132092KB) Track 2 track_number = 2 session_number = 2 damage = 0 copy = 0 track_mode = 4 Rt = 0 blank = 1 packet = 0 fp = 0 data_mode = 1 lra_v = 0 nwa_v = 1 track_start = 77448 next_writable = 77448 last_recorded = 0 free_blocks = 282399 packet_size = 0 track_size = 282399 (564798KB)
CDR tools is a suite of apps
- The figures for (stats) that cdrecord -minfo and cdrecord -toc report (provide) doesn't match equivalents in the output of cdrdao disk-info
cdrecord dev=7,0,0 -v -v -msinfo
produce both standard ERROR output as well as stdOUT output
cdrecord -v -v -minfo 2>> cdrecord-v-v-minfo.stderr.txt 1>> cdrecord-v-v-minfo.stdout.txt
To see track length and remaining time available on disc in terms of red book audio running time (minutes, seconds, frames) use "-toc" switch (short for Table of Contents)
cdrecord -v -toc
Verbosity levels make a difference. There is noticably more information provided by "-v" than no 'v' switch. and two levels (makes a difference?) (nothing beyond 2?)
burn image to disc
(should this section be moved AFTER mkISOfs?)
Pre-made ISO 9660 (and/or UDF) (or any filesystem volume) images (any file, really -- any binary data stream)
can be burned to optical discs using cdrecord.
When burning to DVD(+R, I haven't checked minus-R yet) media, it is not possible to leave disc appendable after burnng.
When burning a CD-R, there are many options. for data, there are Mode 1 (usually preferred for data CD-RS) and Mode 2 (XA (form ? 1?))
the latter is invoked using "-multi"
to burn an .iso image file to a cd-r and it still be appendable after the burn, also add "-data" to the switches on the command line (invocation of cdrecord)
cdrecord -multi -data(filename, source of what to burn to disc)
cdrecord -v -multi -sao -speed 2 Parted\ Magic\ 2013-11-11\ Partition\ Manager\ Disk\ Utilities/pmagic_2013_11_11.iso
Did NOT work. When burning in Mode2xa, and multi, tao is possible, NOT SAO (Session-at-Once).
However, when burning using Mode 1 (data mode), SAO and TAO work (are available / possible).
- Is it true that Track-at-Once mode (T.A.O.) is the default mode when writing (mode 2 (and mode 1??) (any, or specifically "
cdrecord cannot burn in Disc-at-Once mode.
cdrdao is for that purpose.
Also, N.B. when the burning process is about to begin (is invoked/started), it will say "burning in REAL mode" (at __ speed)
By "real" they mean, as opposed to "simulation" mode.
What is simulation mode?
The simulation (mode) performs every role/task that burn mode does, except turning on (activating) burn laser (provides power to and datastream input to the laser).
This was used more in the early days of optical media when there were concerns about a constant reliable datarate (input rate through-put) from the source. There is less concen about a buffer under-run now that JustLink (goes by many names) is available.
This is not available for DVD+R, but only DVD-R and CD-Rs (correct?)
The laser operates, when burning, at a different wavelength and/or wattage than it does when merely reading an optical disc.
jump to "mkisofs" (section/header)
Only will work for DVD media, not CDs! (including CD-ROMs CD-Rs).
One level of verbosity is possible
and makes a difference only to (SCSI dump info) to standard ERROR (right?)
Grow ISO File System is part of a package bearing the name of the app (growisofs).
- Does Debian package it separately in Debian repos?
growisofs -Z -speed=2 /dvd/dvd=bridge-kde-2013.06-x86_64.iso
uses an 'internal dd'
-Z is a switch that is essential (think of it as an operator or mode; as equivalent to "disk-info" or "write" for cdrdao)
the alternative to -Z is '
-M' which means merge with previous session , and this is only used if there is an ISO9660 filesystem on the disc already and the intent is to APPEND an additional iso 9660 filesystem volume (track/session) to the disc.
User:Fleetwood/Growisofs usage -- see an example of how I successfully did this and the result.
After growisofs completes the task of burning a session to a disc (DVD R media only), the disc is still appendable. In other words, the default behavior is to NOT finalize (close) the disc (in other words , the disc is fixated, in an appendable way). This means that additional tracks of data can be appended to the disc at any later time.
However, this works only for ISO9660 filesystems (with optional UDF layer as well) generated by mkisofs/genisoimage. growisofs itself, cannot append "arbitrary" (as the official documentation refers to it) source image files (pre-made filesystem volumes) to the disc in this manner (using the "-M" switch), unfortunately
- other software is necessary to accomplish this). (what?)
will not burn more than what can fit on destination optical disc
I have confirmed that growisofs is smart enough to (check beforehand, even if no "mkisofs --print-size" is not included in its/the command line invocation) not proceed (turn on burn laser) when there is insufficient capacity (free space available) to burn intended (directed) contents to a disc.
# growisofs -speed 3 -M /dev/dvd -A '3.01a16' -sysid 'Manjaro KDE' -udf -joliet-long -long-rr-time -r errctl="WARN|ALL *" -N -publisher 'udf joliet-long -long-rr-time -r -iso-level 2 -N ucs-level 1' -p 'implicit -pad, right? and iso-Level 1 no charset specified use-fileversion errctl="WARN|ALL *" ' -use-fileversion -ucs-level 1 -V 'Meta Health Summit_starting27th' -v -v -log-file=/root/Descargas/growisofs-v-v_2.7GiB-folder-on-Sears.log.txt -graft-points sears500-Temp/'Meta Health Summit_starting 27th'=<b>/mnt/sears/Temp/Meta\ Health\ Summit_starting\ 27th/</b> Executing 'mkisofs -C 16,1271296 -M /dev/fd/3 -A 3.01a16 -sysid Manjaro -udf -joliet-long -long-rr-time -r errctl=WARN|ALL * -N -publisher udf joliet-long -long-rr-time -r -iso-level 2 -N ucs-level 1 -p implicit -pad, right? and iso-Level 1 no charset specified use-fileversion errctl="WARN|ALL *" -use-fileversion -ucs-level 1 -V Meta Health Summit_starting27th -v -v -log-file=/root/Descargas/growisofs-v-v_2.7GiB-folder-on-Sears.log.txt -graft-points sears500-Temp/Meta Health Summit_starting 27th=/mnt/sears/Temp/Meta Health Summit_starting 27th/ | builtin_dd of=/dev/dvd obs=32k seek=79456' Warning: creating filesystem that does not conform to ISO-9660. Setting input-charset to 'UTF-8' from locale. 3.01a16 (i686-pc-linux-gnu) re-directing all messages to /root/Descargas/growisofs-v-v_2.7GiB-folder-on-Sears.log.txt :-( /dev/dvd: 1023808 blocks are free, 1414996 to be written! :-( write failed: No space left on device # du -B2048 -s /mnt/sears/Temp/Meta\ Health\ Summit_starting\ 27th/ 1413706 /mnt/sears/Temp/Meta Health Summit_starting 27th/ # du -B2048 --apparent-size -s /mnt/sears/Temp/Meta\ Health\ Summit_starting\ 27th/ 1413629 /mnt/sears/Temp/Meta Health Summit_starting 27th/
optical disc file systems
An optical disc is a storage medium (singular of latin suffix). You can think of it as equivalent to a hard disk or usb flash drive. I will explain how data is stored on any optical disc using, in part, equivalent, alogies with hdds and flash memory (as follows)...
In the case of hard disc drives and USB flash drives, the storage media (mediums) are an integrated combination of block device and disk/medium, and these are not usually separated or interchangable.
In contrast, a flash memory card is a case in which the medium where the data is stored is interchangable (can be swapped, is removable) from the device that reads it (the drive, the reader, the host).
The optical disc (CD-R, DVD R, (+/-) RW , CD-RW, blu-ray, etc.) , is also a removable type of media.
Like any storage device (or medium), it stores data as a sequence (a series) of bits (at the most basic level) -- a bitstream.
The block or sector size on any optical disc is 2 Kibibytes (2048 bytes). Think of this as a cluster (no.) in terms of being 4 x 512-byte sectors/blocks, if that aids with understanding. Non-optical media usually has block/sectors sizes of 512 bytes (half of a Kibibyte).
A storage device then has a partition table, usually in the very begining writable space. This partition table specifies the boundaries of where filesystem volumes can reside on the storage (block) device.
Any storage device is can be referred to as a block device because its writable space/area is divided into equal-sized blocks or sectors (as described above).
Think of the partition table as equivalent (in the tangible real physical world) as property boundaries that a surveyor ___ (lays out).
It is possible to have a block storage device (a plot of land, let's say, in our analogy) with nothing on it. When property boundaries are demarked, a partition table is made. Still, at this point, there is nothing actually on the land (No structures, no buildlings to HOUSe things (files). In order to store the files, a filesystem volume must exist. The filesystem volume resides within the boundaries of a partition.
- It is possible, in some cases, for a filesystem volume to simply exist on a block storage device (a single optical disc) without any partition table or T.O.C. first on the disc preceeding the beginning of the fileysystem volume's contents. In that case the block storage device will contain only one filesystem volume (like a UDF volume). It is not possible for any additional co-existing filesystem volumes to be accessible on the disk (by normal OS means). Certainly, in order to be able to boot from or access (as secondary storage) more than one filesystem volume on a single given individual block storage device, a partition table must be used that specifies multiple partitions and makes clear where they end and begin. Their boundaries are specified in terms of (Expressed in terms of) numbers of sectors/blocks on the disk.
In the (getting back to optical discs) case of any optical disc (CD-R, DVD+R), there is a table-of-contents which is the equivalent of/to a hdd's partition table. Like a tradtional MS-DOS M.B.R. partition table, it is possible to have up to 4 sessions (or more? Is it limited to? -- at least in the case of ISO 9660, Level 1?).
In order for a disc to be appendable (be able to have more data (addtional sessions (in turn, data tracks, consisting of filesystem volumes) (or audio tracks)) to be written later (added)
The table of contents must be written in a way that (in addition to specifying where the boundaries (in terms of sectors/blocks) the previous session(s) reside on teh disc (begn and end) ) the last session is blank (the remaining writable contents on the disc) and the TOC points to that last empty session
Then, when an additional session (meaning track consisting of a filesystem volume is written) that iso9660 filesystem volume overhead MUST point to properly the previous session('s contents) in order to merge (append, on a filesystem level) otherwise it is an independent filesystem volume and then that means most OSs either won't be able to mount any of the resident filesystem volumes on the disc OR it will mount only succeed in recognising one of them (the last or the first, depending). special methods (software) would then be necessary to extract access any of the other sessions' contents (data volumes).
adapt this to this article (section) relating to optical media: Additionally filesystems usually contain timestamp(s) for each filesystem object. Many filesystems store properties (metadata) about each filesystem object including any combination of: ownership, permissions, encryption, sparseness and other advanced features. alternate data streams / forks. (other types of file system objects (in *nix world) are fifos, sockets, __ __ ?).
This metadata is stored in filesystem volume overhead. In the case of ISO9660, the beginning of the volume contains (consists of) the Primary Volume Descriptor (PVD). Other more advanced filesystems store redundant copies of filesystem overhead elsewhere (further down) in the filesystem volume, like the end or middle. (e.g. duplicate metadata for UDF 2.50 +).
Think of the table of contents on an optical disc as equvalent to a partition table on a tradtionl block storage device (medium) like a hard disc drve or USB flash drive. This usually is located at the very front/top /beginning (of the bit sequence/stream) the first sector(s)/blocks on the disc.
The very beginning of an iso 9660 filesystem volume (of the type that resides in a non-first (non-1) sector on an optical disc
contains a pointer to the previous session's (previous track's) iso9660 filesystem volume -- the sector numbers of the begin and end (well beginnig of previous session and the beginning of blank writable area where second session's contents will be written once burn laser is activated and bitstream is sent through it.
This top beginning of an iso9660 filesystem volume is called teh Primary Volume Descriptor. (there is a SVD where Rockridge extensions and UCS (Joliet) extensions are written). (and udf can be added as well bridge hybrid ISO9660 + UDF).
Optical disc burning software (list of windows apps) creates ISO9660 (and/or UDF ) filesystem volumes.
Software that reports (queries) stats info about an iso9660 volume is
tell isoinfo where the ISO9660 volume is
- Launch/invoke isoinfo with "
-i" switch to tell it what iso filesystem volume to query (examine). this is a necessary switch. It is NOT optional.
If you wish to get information (use isoinfo on) an ISO9660 filesystem volume image that does not reside on an optical disc, point isoinfo the FILE. Otherwise, point isoinfo to the device (optical disc drive) that can read an optical disc. In the later case (a physical optical disc being read by isoinfo), "-i /dev/sr0" can work or, instead of the "-i" switch, it is possible to use (isoinfo can accept) the alternate "
isoinfo -i image.iso
what operation to perform?
Additionally, another switch must appear in the command line (invocation), that specifies which operation must be done by isoinfo:
-l list files like "ls -l" command
-f find files (just list, like "find" command)
-d show overhead information from Primary Volume Descriptor
isoinfo dev=/dev/sr0 -d
isoinfo -i /dev/sr0 -l
when using -l or -f switches (which list contents of filesystem volume (files and folders contained therein))
specify which filesystem extensions are re__ed
When listing contents, the rockridge and/or joliet layers extensons, if present, will be ignored and just ISO9660 filesystem overhead will be __ ed (v.).
optional additional switches include
-R (captal 'R' not lowercase, won't work) show listing with Rockridge (case sensitive and longer path names permissions) -J Joliet (mixed case but not case-sensitive)
When examining a filesystem volume (iso9660) that resides on a non-first (an appended) session of a disc,
use "-N" switch to specify sector/block offset .
K3b (part of KDE suite / DE / platform) has a "Medium Info" command. This gives figures that, (in some cases, maybe?) are different from the figures provided (reported) by the other pieces of application software mentioned elsewhere in this article: (cdrecord -minfo, cdrecord -toc, cdrdao disk-info).
Medium Type: DVD+R Media ID: MBIPG101/R05 Capacity: 510:01:29 min (4.4 GiB) Used Capacity: 313:05:05 min (2.7 GiB) Remaining: 196:56:24 min (1.7 GiB) Rewritable: no Appendable: yes Empty: no Layers: 1 Sessions: 2 Supported writing speeds: 4.0x (5540 KB/s) 6.0x (8310 KB/s) 8.0x (11080 KB/s) 12.0x (16620 KB/s) 16.0x (22160 KB/s) ISO9660 Filesystem Info System Id: Manjaro Volume Id: Econee cPanel backups2013nov Volume Set Id: - Publisher Id: udf joliet-long -long-rr-time -r -iso-level 2 -N ucs-level 1 Preparer Id: implicit -pad, right? no charset specified use-fileversion errctl="WARN|ALL *" Application Id: mkisofs 3.01a16 Volume Size: 1.7 GiB (2,048 B * 881,506 blocks = 1,805,324,288 B) Tracks Type Attributes First-Last Sector Length Session 1 1 (Data) copy/incremental 0 - 523263 523264 (116:16:64) Session 2 2 (Data) copy/incremental 525312 - 1406831 881520 (195:53:45)
One such open-source venerable free app that is particularly powerful and flexible in creating optical disc filesystems is mkisofs ...
mkisofs (make ISO FileSystem (volume image))
is part of the CD-R Tools suite of apps,
It creates ISO9660 filesystem volumes.
- Its cdr-kit fork is named 'genisoimage' (which is vastly inferior to the true mkisofs); it is buggy, and offers fewer capabilities / features).
By default, mkisofs will stop building (generating) the output (filesystem volume / image file) if it encounters certain errors (that it detects) from the source that it is traversing (gathering).
I overcome this with syntax that Mr. Jeorg Schilling ("Schilly" nickname) devised for mkisofs. This same syntax is also used by/in his own archiving program "STAR" (Standard Tape Archiver) (better than GNU's TAR utility/app?).
This is helpful when archiving a remote network share, say over (NFS, CIFS(SaMBa) or sshfs). There may be issues in accessing the specified (intended) source resources (files), for various possible reasons.
For webmasters! (or any system administrators) (sure, they prefer rsync or tar, but) (and sshfs is slow and taxes resources on the server)
mkisofs errctl="WARN|ALL *" --joliet-long -R --long-rr-times -udf -V 'volume label' -publisher 'mkisofs 3.01a17 --joliet-long -R --long-rr-times -udf' -preparer '(name of maker)' -sysid 'archbang Linux 3.23 i686' -A 'author's name' -v -v -log-file 'mkisofs-v-v.log' -o joliet-long-R-long-rr-times-udf_webspace.iso -graft-points webspace=/mnt/sshfs/home
mkisofs -A '3.01a19 x64 Manjaro' -sysid '3.11.4-1-Manjaro0.88' -udf -long-rr-time -p 'l N udf long-rr-time joliet-long -joliet' -r -joliet-long -joliet -l -N errctl="WARN|ALL *" -v -v -v -gui -log-file 'v3gui.log' -o udf-long-rr-times-joliet-long-l-N.iso -graft-points "Cure to Cancer Video Series"=.. FFopen/.mozilla=/home/manjaro/.mozilla FFopen/.macromedia=/home/manjaro/.macromedia FFopen/.cache/mozilla=/home/manjaro/.cache/mozilla FFopen/bash_history_reg-user.txt=/home/manjaro/.bash_history FFopen/bash_history_root-user.txt=/root/.bash_history
Be careful where command line (cmd interpreter / terminal) (shell) is pwd (cwd) if using relative paths (pathspecs)!
I ran that as "su" root (admin) (full priv.gs)
There is a switch called "-hidden" which should not be confused with the -hide switch.
Hidden means that the MS-DOS (Microsoft Windows too) filesystem attribute (flag) of "Hidden" will be applied (to the ISO layer and ?not? the Joliet one? or also the Joliet layer of the filesystem?).
Concrete example (using .mkisofsrc) and a .sh (script) file :
mkisofs \ -ucs-level 2 -J -iso-level 2 -use-fileversion -r -cache-inodes \ -v -v -v \ -x '*720*' \ -hidden '*bash*istor*' \ -hidden '/mnt/e/Users/Public/Karen noler 12 days Raw 2014/Elaine Gibson/Holiday Gift Guide/114161281_vimeo.html' \ -hidden '/mnt/e/Users/Public/Karen noler 12 days Raw 2014/Iris Huebler/24santairis.html' \ -hidden '/mnt/e/Users/Public/Karen noler 12 days Raw 2014/Steph Jackson/ThankyouCC.php_download-page.html' \ -hide-joliet '*bash*history*' \ -o '/mnt/e/Users/Public/drives/Karen noler 12 Days of Raw Xmas 2014/make2cdr/incl.3-part_NatalieHeath-videos-ucs2-iso2-cache-inodes.iso' \ '/mnt/e/Users/Public/Karen noler 12 days Raw 2014/'
.mkisofsrc file (stored in the
$HOME user profile (config settings) folder, a.k.a.: "~") :
APPI=mkisofs 3.01a16 COPY=2011-2014 Karen Knowler ABST=lead magnets BIBL=TheRawFoodCoach.com/12days2014.html PREP=ucs-level 2 J iso-level 2 use-fileversion r (implicit reg./short rockRidge timestamps) cache-inodes PUBL=Karen Knowler "The Raw Food Coach" : 12 Days of Raw Christmas 2014 (12 Secret Santas) : mostly .PDFs SYSI=Slackel KDE 64 red VOLI=Karen Knowler 12 days Raw 2014 VOLS=12 Days of Raw Christmas 2 GORGEOUS GIFTS Have THe Healthiest Christmas EVER! ; Natalie Heath videos Secret Strategies 3part
which distros have it
Make sure that you aren't using the faulty genisoimage (from cdrkit, the buggy fork) but the genuine one from cdrtools (CDDL licensed , not GPL hence the fork and controversey within that pocket of the open-source community).
why does it matter?
official mkisofs from Jeorg Schilling cdrTOOLs offers:
- the ERRCTL (thing, see above)
- long-rr-times (although the LINUX kernel has no support for those long (fine resolution/precision/granularity timestamps)
- udf (since version so-called alpha 3.01a 13? or 14? (Or 12?) represents 3 timestamps (c (changed, not birth/creation) m (Modified) and a (accessed) to a resolution of 1,000 nanoseconds, I think?) whereas earlier versions would just take the atime to the nearest full integer second and apply that to all 3 udf timestamps (c, m, and a) times.
- charset issues with genisoimage (mapping different namespaces character sets / encodings of filesystems (volumes).
Sabayon KDE (Only the KDE edition)
System Rescue CD (Gentoo-based)
The Gentoo LIVE DVD (is huge / unwieldy -- for experimentation / test only -- not real-world practical usage deployment (out in the wild / production usage).)
- Slackware-based (live) distros:
Recovery is Possible (still stuck on 13.7)
(Slax used to have it)
WifiSlax still does
SalixOS (SalixLIVE , at leats KDE edition)
Absolute Linux (install-only)
available in repositories
only in 3rd party (community) non-official repos
(a PPA for Ubuntu) (and Debian?)