Skip to content

iso9660

ISO 9660 / ECMA-119 optical-disc filesystem (.iso images), with Rock Ridge.

Implements filesystem.Filesystem. No cgo, no root.

Status

Read Write Format Label Symlinks On-disk format
ISO 9660 / ECMA-119 + Rock Ridge (names/perms/symlinks) + Joliet (UCS-2 names)

Supported

  • Primary Volume Descriptor scan (CD001), logical block size, root record
  • Directory-record parsing + per-sector padding-aware directory walk
  • Contiguous single-extent file reads (multi-sector)
  • Rock Ridge (SP/NM/PX/SL): real case-preserved long names, POSIX modes, symlink targets (ReadLink), and CE continuation areas
  • Joliet (UCS-2 long names via the supplementary volume descriptor), used when Rock Ridge is absent
  • Path resolution by real (Rock Ridge / Joliet) name, with a case-insensitive fallback for base ISO names

Not implemented

  • Write/format — ISO 9660 is a read-only format; mutators return ErrReadOnly
  • Rock Ridge deep-directory relocation (CL/PL/RE)
  • Multi-extent files

Install

go get github.com/go-filesystems/iso9660

Note

See the module's README for full, up-to-date details.