Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LIBBLKID(3)		      Programmers Manual		   LIBBLKID(3)

NAME
       libblkid	- block	device identification library

SYNOPSIS
       #include	<blkid.h>

       cc file.c -lblkid

DESCRIPTION
       The libblkid library is used to identify	block devices (disks) as to
       their content (e.g., filesystem type) as	well as	extracting additional
       information such	as filesystem labels/volume names, unique
       identifiers/serial numbers. A common use	is to allow use	of LABEL= and
       UUID= tags instead of hard-coding specific block	device names into
       configuration files. See	list of	all available tags in TAGS section.

       The low-level part of the library also allows the extraction of
       information about partitions and	block device topology.

       The high-level part of the library keeps	information about block
       devices in a cache file and is verified to still	be valid before	being
       returned	to the user (if	the user has read permission on	the raw	block
       device, otherwise not). The cache file also allows unprivileged users
       (normally anyone	other than root, or those not in the "disk" group) to
       locate devices by label/id. The standard	location of the	cache file can
       be overridden by	the environment	variable BLKID_FILE.

       In situations where one is getting information about a single known
       device, it does not impact performance whether the cache	is used	or not
       (unless you are not able	to read	the block device directly).

       The high-level part of the library supports two methods to determine
       LABEL/UUID. It reads information	directly from a	block device or	reads
       information from	/dev/disk/by-* udev symlinks. The udev is preferred
       method by default.

       If you are dealing with multiple	devices, use of	the cache is highly
       recommended (even if empty) as devices will be scanned at most one time
       and the on-disk cache will be updated if	possible.

       In some cases (modular kernels),	block devices are not even visible
       until after they	are accessed the first time, so	it is critical that
       there is	some way to locate these devices without enumerating only
       visible devices,	so the use of the cache	file is	required in this
       situation.

CONFIGURATION FILE
       The standard location of	the /etc/blkid.conf config file	can be
       overridden by the environment variable BLKID_CONF. For more details
       about the config	file see blkid(8) man page.

TAGS
       All available tags are listed below. Not	all tags are supported for all
       file systems. To	enable a tag, set one of the following flags with
       blkid_probe_set_superblocks_flags():

       BLKID_SUBLKS_TYPE

	      TYPE - filesystem type

       BLKID_SUBLKS_SECTYPE

	      SEC_TYPE	- secondary filesystem type

       BLKID_SUBLKS_LABEL

	      LABEL - filesystem label

       BLKID_SUBLKS_LABELRAW

	      LABEL_RAW - raw label from FS superblock

       BLKID_SUBLKS_UUID

	      UUID - filesystem UUID (lower case)

	      UUID_SUB	- subvolume uuid (e.g. btrfs)

	      LOGUUID - external log UUID (e.g. xfs)

       BLKID_SUBLKS_UUIDRAW

	      UUID_RAW	- raw UUID from	FS superblock

       BLKID_SUBLKS_USAGE

	      USAGE - usage string: "raid", "filesystem", etc.

       BLKID_SUBLKS_VERSION

	      VERSION - filesystem version

       BLKID_SUBLKS_MAGIC

	      SBMAGIC - super block magic string

	      SBMAGIC_OFFSET -	offset of SBMAGIC

       BLKID_SUBLKS_FSINFO

	      FSSIZE -	size of	filesystem. Note that for XFS this will	return
	       the same	value as lsblk (without	XFS's metadata), but for ext4
	       it will return the size with metadata and for BTRFS will	not
	       count overhead of RAID configuration (redundant data).

	      FSLASTBLOCK - last fsblock/total	number of fsblocks

	      FSBLOCKSIZE - file system block size

       The following tags are always enabled

	      BLOCK_SIZE - minimal block size accessible by file system

	      MOUNT - cluster mount name (ocfs	only)

	      EXT_JOURNAL - external journal UUID

	      SYSTEM_ID - ISO9660 system identifier

	      VOLUME_SET_ID - ISO9660 volume set identifier

	      DATA_PREPARER_ID	- ISO9660 data identifier

	      PUBLISHER_ID - ISO9660 publisher	identifier

	      APPLICATION_ID -	ISO9660	application identifier

	      BOOT_SYSTEM_ID -	ISO9660	boot system identifier

AUTHORS
       libblkid	was written by Andreas Dilger for the ext2 filesystem
       utilities, with input from Ted Ts'o. The	library	was subsequently
       heavily modified	by Ted Ts'o.

       The low-level probing code was rewritten	by Karel Zak.

COPYING
       libblkid	is available under the terms of	the GNU	Library	General	Public
       License (LGPL), version 2 (or at	your discretion	any later version).

SEE ALSO
       blkid(8), findfs(8)

REPORTING BUGS
       For bug reports,	use the	issue tracker at
       https://github.com/util-linux/util-linux/issues.

AVAILABILITY
       The libblkid library is part of the util-linux package since version
       2.15. It	can be downloaded from Linux Kernel Archive
       <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.39.4		  2024-01-31			   LIBBLKID(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=libblkid&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help