LIBBLKID(3)

名前
libblkid - ブロックデバイスの識別ライブラリ

書式
#include <blkid/blkid.h>

cc file.c -lblkid

説明
libblkid ライブラリは、ブロックデバイスのコンテンツ (たとえばファイルシステムタイプ) や ファイルシステムのラベル名・ボリューム名、 ユニークな識別番号・シリアル番号などの付加的な情報を使って、 ブロックデバイス (ディスク) を識別するのに使われる。 一般的な使い方として、 特定のブロックデバイス名を設定ファイルにハードコードする代わりに、 LABEL= と UUID= タグを使うことができる。

ブロックデバイスの情報は、通常キャッシュファイル /etc/blkid.tab に保存され、ユーザに返される前に現在も有効であるかが検証される (ユーザが raw ブロックデバイスを読む権限がある場合は検証されるが、 権限がない場合は検証されない)。 非特権ユーザ (通常は root 以外の全ユーザ、 または "disk" グループに所属しないユーザ) も、 キャッシュファイルを使って、 ラベルと ID でデバイスを見つけることができる。

ユーザが既知の 1 つのデバイスの情報を取得しようとした場合、 (ユーザがブロックデバイスを直接読めない限り) キャッシュを使うか使わないかはパフォーマンスには影響しない。 複数のデバイスを扱う場合、 (たとえ空であっても) キャッシュを使うことを特に推奨する。 これは、複数のデバイスが 1 回でスキャンされ、 可能であればディスク上のキャッシュが更新されるからである。 このキャッシュを使わない理由は稀である。

(モジュラカーネルなど) いくつかのケースでは、 ブロックデバイスにアクセスした後でないと見えないことがあるので、 見えているデバイスのみを列挙するのではなく、 見えていないデバイスも探し出す 何らかの方法があることが重要になる。 このような状況ではキャッシュファイルを使用することが必要とされる。

著者
libblkid は、 Andreas Dilger が Ted Ts'o からの情報提供をうけ、 ext2 ファイルシステムユーティリティのために書いた。 このライブラリはその後 Ted Ts'o によってかなり修正された。

ファイル

/etc/blkid.tab
    認識されたブロックデバイスから抽出したキャッシュデータ。

入手方法
libblkid は、バージョン 1.33 から e2fsprogs パッケージの一部であり、 http://e2fsprogs.sourceforge.net から入手できる。

著作権
libblkid is available under the terms of the GNU Library General Public License (LGPL), version 2 (or at your discretion any later version). A copy of the LGPL should be included with this library in the file COPYING. If not, write to
    Free Software Foundation, Inc.
    59 Temple Place
    Suite 330
    Boston, MA 02111-1307 USA

or visit http://www.gnu.org/licenses/licenses.html#LGPL (http://www.gnu.org/licenses/licenses.html#LGPL)

関連項目
blkid_get_cache(3), blkid_put_cache(3), blkid_get_dev(3), blkid_probe_all(3), blkid_get_devname(3), blkid_get_tag_value(3), blkid.tab(7)