Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UDFread

Build Version Size

UDFread

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.

Commands

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.

Install a release package

Download the package matching the host architecture from the latest GitHub release and install it with apt:

sudo apt install ./udfread_VERSION_amd64.deb

The package has no runtime dependency on a separately installed libudfread package.

Build on Debian or Ubuntu

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 install

To build a specific upstream release instead, remove any previously downloaded source and provide the desired tag:

make distclean
make LIBUDFREAD_REF=1.2.0

An existing source checkout can also be supplied directly:

make LIBUDFREAD_SOURCE=/path/to/libudfread LIBUDFREAD_REF=1.2.0

The default installation path is /usr/local/bin/udfread. To use another prefix:

make clean
make
sudo make install PREFIX=/usr

Use make clean to remove build products while retaining the downloaded upstream source, or make distclean to remove both.

Stars 🌟

Stargazers

Releases

Used by

Contributors

Languages