Original answer
You can use xorriso
from the repository universe
.
sudo apt update
sudo apt install xorriso
xorriso -indev file.iso # iso file
xorriso -indev /dev/sr0 # optical disk (CD or DVD)
to see some details of the iso system, for example with an Ubuntu iso file:
$ xorriso -indev ubuntu-22.04.1-desktop-amd64.iso
GNU xorriso 1.5.3 : RockRidge filesystem manipulator, libburnia project.
xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE : 963 nodes read in 1 seconds
libisofs: NOTE : Found hidden El-Torito image for EFI.
libisofs: NOTE : EFI image start and size: 1866280 * 2048 , 8496 * 512
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded
Drive current: -indev 'ubuntu-22.04.1-desktop-amd64.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record : El Torito , MBR protective-msdos-label grub2-mbr cyl-align-off GPT
Media summary: 1 session, 1868570 data blocks, 3650m data, 2321g free
Volume id : 'Ubuntu 22.04.1 LTS amd64'
and for example with the first of two Windows 8 optical disks delivered with a now old Toshiba laptop:
sudo umount /dev/sr0 # unmount the automounted disk
$ xorriso -indev /dev/sr0
GNU xorriso 1.5.3 : RockRidge filesystem manipulator, libburnia project.
xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE : 1 nodes read in 1 seconds
libisofs: WARNING : Found hidden El-Torito image. Its size could not be figured out, so image modify or boot image patching may lead to bad results.
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded
Drive current: -indev '/dev/sr0'
Media current: DVD-ROM
Media status : is written , is closed
Boot record : El Torito
Media summary: 1 session, 3950832 data blocks, 7716m data, 0 free
Volume id : 'TI30990500A_1'
Find more details in man xorriso
Edit: Forwarded answer from the author of xorriso
I asked the author of of xorriso
, Thomas Schmitt, and received the following answer via email:
Hi,
today i cannot get past the captcha of askubuntu.
So either point the readers of question 1441688 to bug-xorriso@gnu.org
for discussions or post my following answer:
The current stable version xorriso-1.5.4 can report the presence of
Rock Ridge (an addon to the ISO 9660 directory tree), Joliet (an alternative
ISO 9660 directory tree for MS-Windows with 16 bit characters for file names),
or ISO 9660-1999 (another alternative directory tree with few benefit).
$ xorriso -indev debian-11.5.0-amd64-netinst.iso -toc
...
ISO offers : Rock_Ridge Joliet
ISO loaded : Rock_Ridge
...
If it had a ISO 9660-1999 tree, then the "ISO offers" line would also show
the word "ISO_9660_1999". If there is neither Rock Ridge, nor Joliet, nor
ISO 9660-1999, then the word "Only_ECMA_119" is shown.
The "ISO loaded" line shows which tree gets read and subsequentely used by
xorriso operations. (This can be chosen by xorriso command -read_fs.)
The development version xorriso-1.5.5 has a new command
-assess_indev_features
which inspects the loaded ISO in more detail and reports the "level of
interchange" (1= all ECMA-119 names comply with DOS 8.3 style, 2= all data
files are smaller than 4 GiB, 3= data files of 4 GiB or larger exist).
$ xorriso -indev debian-11.5.0-amd64-netinst.iso -assess_indev_features plain
...
Indev feature: size=195584
Indev feature: iso_level=1
Indev feature: rockridge=1
Indev feature: joliet=1
Indev feature: iso1999=0
Indev feature: eltorito=1
Indev feature: tree_loaded=0
Indev feature: tree_loaded_text=ISO9660
Indev feature: rr_loaded=1
Indev feature: aaip=0
Indev feature: untranslated_name_len=0
Indev feature: allow_dir_id_ext=1
Indev feature: omit_version_numbers=0
Indev feature: allow_deep_paths=0
Indev feature: allow_longer_paths=0
Indev feature: max_37_char_filenames=0
Indev feature: no_force_dots=2
Indev feature: allow_lowercase=0
Indev feature: allow_full_ascii=1
Indev feature: relaxed_vol_atts=1
Indev feature: joliet_longer_paths=0
Indev feature: joliet_long_names=1
Indev feature: joliet_utf16=0
Indev feature: rrip_version_1_10=1
Indev feature: rrip_1_10_px_ino=0
Indev feature: aaip_susp_1_10=0
Indev feature: record_md5_session=0
Indev feature: record_md5_files=0
It can tell the native xorriso commands to achieve the seen properties when
writing a new ISO:
$ xorriso -indev debian-11.5.0-amd64-netinst.iso -assess_indev_features cmd
...
-compliance iso_9660_level=1
-rockridge on
-joliet on
-compliance iso_9660_1999_off
-compliance untranslated_name_len=0
-compliance allow_dir_id_ext
-compliance omit_version_off:only_iso_version_off
-compliance deep_paths_off
-compliance long_paths_off
-compliance long_names_off
-compliance no_force_dots_off:no_j_force_dots
-compliance lowercase_off
-compliance full_ascii
-compliance joliet_long_paths_off
-compliance joliet_long_names
-compliance joliet_utf16_off
-compliance old_rr
-compliance aaip_susp_1_10_off
and it can tell the mkisofs options to achieve the seen properties:
$ xorriso -indev debian-11.5.0-amd64-netinst.iso -assess_indev_features as_mkisofs
-iso-level 1
-R
-J
-d
-U
-joliet-long
Download offer of the development snapshot
https://www.gnu.org/software/xorriso/xorriso-1.5.5.tar.gz
Compilation instructions are in
https://www.gnu.org/software/xorriso/README_xorriso_devel
"Compilation, First Glimpse, Installation"
I pronounce "xorriso" the german way, like an english speaker would read
"ksorr-ee-zo". But actually the natural english pronounciation "ksorr-i-so"
is the correct one. It stands for X/Open, Rock Ridge, ISO 9660.
Have a nice day
Thomas