| .\" Copyright 2001 Andreas Dilger (adilger@turbolinux.com) |
| .\" |
| .\" This man page was created for libblkid.so.1.0 from e2fsprogs-1.24. |
| .\" |
| .\" This file may be copied under the terms of the GNU Lesser General Public |
| .\" License. |
| .\" |
| .\" Created Wed Sep 14 12:02:12 2001, Andreas Dilger |
| .TH LIBBLKID 3 "May 2009" "util-linux" "Programmer's Manual" |
| .SH NAME |
| libblkid \- block device identification library |
| .SH SYNOPSIS |
| .B #include <blkid.h> |
| .sp |
| .B cc |
| .I file.c |
| .B \-lblkid |
| .SH DESCRIPTION |
| The |
| .B 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. |
| .P |
| The low-level part of the library also allows to extract information about |
| partitions and block device topology. |
| .P |
| 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. |
| .P |
| 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). |
| .P |
| The high-level part of the library supports two methods to evaluate LABEL/UUID. |
| It reads information directly from a block device or read information from |
| /dev/disk/by-* udev symlinks. The udev is preferred method by default. |
| .P |
| 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. |
| .P |
| 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 |
| .B required |
| in this situation. |
| .SH CONFIGURATION FILE |
| The standard location of the |
| .I /etc/blkid.conf |
| config file can be overridden by the environment variable BLKID_CONF. For more |
| details about the config file see |
| .BR blkid (8) |
| man page. |
| .SH AUTHOR |
| .B libblkid |
| was written by Andreas Dilger for the ext2 filesystem utilties, 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. |
| .SH AVAILABILITY |
| .B libblkid |
| is part of the util-linux package since version 2.15 and is available from |
| ftp://ftp.kernel.org/pub/linux/utils/util-linux/. |
| .SH COPYING |
| .B libblkid |
| is available under the terms of the GNU Library General Public License (LGPL), |
| version 2 (or at your discretion any later version). |
| .SH "SEE ALSO" |
| .BR blkid (8) |
| .BR findfs (8) |