LIBBLKID(3) | Library Functions Manual | 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 によってかなり修正された。
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
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)
May 2006 | E2fsprogs version 1.39 |