UDFread is a small command-line interface for the libudfread library.
It can inspect and selectively read files from UDF images without mounting the image or extracting a complete large file first.
Release binaries statically link the corresponding upstream libudfread
release, so users do not need to install a separate runtime library package.
udfread info IMAGE
udfread ls [-l] [-R] IMAGE [PATH]
udfread stat IMAGE PATH
udfread cat IMAGE PATH
udfread extract IMAGE PATH DESTINATION
udfread range [-o DESTINATION] IMAGE PATH OFFSET [LENGTH]
udfread map IMAGE PATH
udfread blocks IMAGE PATH FILE_BLOCK [COUNT]
range performs a real logical seek through libudfread, so this reads only the
requested part of a file even when the UDF file uses multiple allocation
extents:
udfread range -o wim-header.bin windows.iso /sources/install.wim 0 208
udfread range -o install.xml windows.iso /sources/install.wim "$xml_offset" "$xml_size"Numbers may be decimal or hexadecimal with a 0x prefix.
Download the package matching the host architecture from the latest GitHub
release and install it with apt:
sudo apt install ./udfread_VERSION_amd64.debThe package has no runtime dependency on a separately installed libudfread package.
The build automatically retrieves the newest stable upstream libudfread tag,
builds it as a static library, and links it into udfread:
sudo apt-get update
sudo apt-get install -y build-essential git meson ninja-build pkg-config
make
sudo make installTo build a specific upstream release instead, remove any previously downloaded source and provide the desired tag:
make distclean
make LIBUDFREAD_REF=1.2.0An existing source checkout can also be supplied directly:
make LIBUDFREAD_SOURCE=/path/to/libudfread LIBUDFREAD_REF=1.2.0The default installation path is /usr/local/bin/udfread. To use another
prefix:
make clean
make
sudo make install PREFIX=/usrUse make clean to remove build products while retaining the downloaded
upstream source, or make distclean to remove both.
