blkid(8): Superficial comparision of versions from e2fsprogs and util-linux 2012-05-17

Both e2fsprogs and util-linux ship a tool blkid: a frontend to the libblkid library. I was interested in the differences between these two tools.

From my current understanding, util-linux’s is a fork of an older version from e2fsprogs. The change log of util-linux(-ng) 2.15 (shipped with util-linux-2.21.1.tar.xz) reads:

The libblkid library has been moved from e2fsprogs to util-linux-ng.

If I take the help output of blkid of util-linux 2.21.1 and remove everything that blkid of e2fsprogs 1.42.1 already does, I end up with this:

# /sbin/blkid -h
blkid from util-linux 2.21.1 (libblkid 2.21.0, 30-Mar-2012)
 -d          don't encode non-printing characters
 -k          list all known filesystems/RAIDs and exit
 -t <token>  find device with a specific token (NAME=value pair)
 -U <uuid>   convert UUID to device name

Low-level probing options:
 -p          low-level superblocks probing (bypass cache)
 -i          gather information about I/O limits
 -S <size>   overwrite device size
 -O <offset> probe at the given offset
 -u <list>   filter by "usage" (e.g. -u filesystem,raid)
 -n <list>   filter by filesystem type (e.g. -n vfat,ext3)

In addition, parameter -o <format> supports “udev” and “export” more.

One Comments
Karel Zak May 18th, 2012

The difference is mostly in the librray. The libblkid from e2fsprogs is in maintanenace mode and no more developerd.

The low-level libbblkid code (probing functions) have been completely rewritten and support more filesystems, raids, partition tables detection, it’s able to evaluate some advanced setups (partitioned raids, etc.), uses udev /dev/disk/by-* symlinks for LABEL/UUD evaluation. etc. The difference is HUGE.

Leave a Reply

You must be logged in to post a comment.