BLKID

Section: System Administration (8)
Updated: March 2013
Index Return to Main Contents
 

名前

blkid - ブロックデバイスの属性を検索/表示する。  

書式

blkid
--label label | --uuid uuid

blkid
[--no-encoding --garbage-collect --list-one --cache-file file] [--output format] [--match-tag tag] [--match-token NAME=value] [device ...]

blkid
--probe [--offset offset] [--output format] [--size size] [--match-tag tag] [--match-types list] [--usages list] [--no-part-details] device ...

blkid
--info [--output format] [--match-tag tag] device ...

 

説明

blkid プログラムは libblkid(3) とともに動作するコマンドラインインタフェースである。 このプログラムは、ブロックデバイスが保持するコンテンツ種別 (ファイルシステムやスワップなど)を判定する。 また、コンテンツメタデータ (LABEL や UUID フィールドなど) から 属性 (トークン、NAME=value ペア) を判定する。

lsblk(8) コマンドによるブロックデバイスの取得、lsblk --fs によるファイルシステムの概要の取得、 findmnt(8) による既にマウントされたファイルシステムの検索が推奨される。

lsblk(8) は、より詳細な情報を提供し、出力形式をよりうまく制御でき、 スクリプトで簡単に使用できる。 また、実際の情報を取得するのに root 権限は必要ない。 blkid はデバイスから直接情報を読み取り、root 以外のユーザーには検証されていない キャッシュされた情報を返す。 blkid は主にシステムサービスのために設計されており、libblkid の機能のテストのためのものである。

device が指定された場合、このデバイスのトークンのみが表示される。 複数の device 引き数をコマンドラインで指定できる。 デバイスが指定されない場合、 /proc/partitions にあるデバイスが認識されている場合は、 デバイスの全てのパーティションまたはパーティション化されてない区画の 情報が表示される。

blkid は主に 2 つの形式の操作がある。 指定した NAME=value ペアを持つデバイスの検索、 または指定した 1 つ以上のデバイスの NAME=value ペアを表示である。

セキュリティ上の理由から、 blkid は (複数の衝突するファイルシステムが検出されたときなど) 検出された結果がはっきりしない 全てのデバイスを黙って無視する。 この場合、低レベルの検出モード (-p) では、より多くの情報を提供し、 多くの返り値を返す。 デバイスから詳細な概要を取得し、不要な情報 (マジック文字列) を削除するには、 wipefs(8) を使うことが推奨される。

 

オプション

sizeoffset 引き数には倍数のサフィックス KiB (=1024), MiB (=1024*1024), GiB, TiB, PiB, EiB, ZiB, YiB を付けることができる ("iB" はオプションであり、例えば "K" は "KiB" と同じ意味である)。 また、フィックス KB (=1000), MB (=1000*1000), GB, TB, PB, EB, ZB, YB を付けることもできる。
-c, --cache-file cachefile
デフォルトのキャッシュファイルではなく、 cachefile を読み込む (より詳細は、「設定ファイル」のセクションを参照すること)。 何もキャッシュしていない状態で開始したい場合 (すなわち、以前はスキャンを行ったが 今回は利用する必要のないデバイスを表示しない場合) は、 /dev/null を指定すること。
-d, --no-encoding
非表示文字をエンコードしない。 デフォルトでは、非表示文字は ^ と M- の形式でエンコードされる。 --output udev の出力形式では、無効化できない別のエンコーディングを使う点に 注意すること。
-D, --no-part-details
低レベル検出モードでパーティションテーブルからの情報 (PART_ENTRY_* タグ) を表示しない。
-g, --garbage-collect
既に存在しないデバイスを blkid キャッシュから削除するために、 ガベージコレクションを実施する。
-h, --help
使用法のメッセージを表示して、終了する。
-i, --info
I/O 制限 (別名 I/O トポロジー) の情報を表示する。 'export' 出力形式は自動的に有効にされる。 このオプションは --probe オプションと一緒に指定できる。
-k, --list-filesystems
既存の全てのファイルシステムと RAID を表示して、終了する。
-l, --list-one
--match-token オプションで指定された検索パラメータにマッチする 唯一のデバイスを検索する。 指定された検索パラメータにマッチする複数のデバイスがある場合、 もっとも高い優先度のデバイスが返されるか、 指定された優先度で見つかった最初のデバイスが返される。 優先度の高い順のデバイスタイプは以下の通り: デバイスマッパー, EVMS, LVM, MD, 最後が通常のブロックデバイス。 このオプションが指定されてない場合、 blkid は検索パラメータにマッチする全てのデバイスを表示する。
-L, --label label
このファイルシステム label を使うデバイスを検索する。 これは、 --list-one --output device --match-token LABEL=label と等しい。 この検索方法では、(/etc/blkid.conf の設定に依存する) /dev/disk/by-label udev シンボリックリンクを使うことができる。 このシンボリックリンクを直接使わないこと。 検証せずにシンボリックリンクを使うことは信頼できない。 --label オプションは、udev があるシステムでも、ないシステムでも動作する。

不幸なことに、元々の e2fsprogs の blkid(8) は -L オプションを、-o list の別名として使う。 移植性を良くするには、スクリプト中では、-L オプションではなく、 -l -o device -t LABEL=label-o list を使うこと。

-n, --match-types list
(カンマ区切りの) list で指定したスーパーブロックタイプ (名) に検出機能を制限する。 リストのアイテムは、"no" を前置して指定したタイプを無視させることができる。 例:


  blkid --probe --match-types vfat,ext3,ext4 /dev/sda1

で vfat, ext3, ext4 ファイルシステムを検出できる。


  blkid --probe --match-types nominix /dev/sda1

で minix ファイルシステム以外の全てのサポートされているフォーマットを 検出できる。 このオプションは、--probe と一緒に指定された場合にのみ、有効になる。

-o, --output format
指定した出力形式を使う。 変数とデバイスの順番は固定されていない点に注意すること。 オプション -s も参照すること。 format 引き数は以下の通り:
full
全てのタグを表示する (デフォルト)。
value
指定した値のタグを表示する。
list
デバイスをユーザーに使いやすい形式で表示する。 この形式は、低レベルの検出 (--probe または--info) ではサポートされない。

この出力形式は推奨されずlsblk(8) コマンドを使うべきである。

device
デバイス名のみを表示する。 この出力形式は --label--uuid オプションで常に有効にされる。
udev
udev 環境で簡単にインポートできる key="value" ペアを表示する。 キーにはプレフィックス ID_FS_ または ID_PART_ が付く。 値は udev 環境で安全なように修正される場合がある。 値は、プレーンの ASCII、16 進数エスケープ、有効な UTF-8、 (空白を含む) 任意の文字がある。空白はアンダースコア '_' に置換される。 キーに安全でない文字が含まれる場合、16 進数エスケープが行われ、 ポストフィックス _ENC が付く。

1 つ以上のスーパーブロックが検出された場合、udev の出力として、 ID_FS_AMBIVALENT タグが返される。 また、パーティションに空のパーティションが含まれる場合は、 ID_PART_ENTRY_* タグが常に返される。

この出力形式は推奨されない

export
環境にインポートしやすい key=value ペアを表示する。 この出力形式は、I/O 制限 (--info オプション) が要求された場合、 自動的に有効化される。

非表示文字は ^ と M- 形式でエンコードされ、 潜在的に安全でない文字はエスケープされる。

-O, --offset offset
指定された offset で検出を行う (--probe と一緒に指定された場合にのみ有効になる)。 このオプションは、--info オプションと一緒に指定できる。
-p, --probe
(キャッシュをバイバスして) 低レベルのスーパーブロック検出モードに切り替える。

低レベルの検出モードでは、パーティションテーブルタイプ (PTTYPE タグ) と パーティション (PART_ENTRY_* タグ) の情報も返される。 低レベルの検出モードで出力されるタグ名は、 libblkid が内部で使っている名前に基づいており、 --probe なしで実行した場合の名前とは異なる (例えば PART_ENTRY_UUID= と PARTUUID= のようになる)。 --no-part-details も参照すること。

-s, --match-tag tag
(指定された) 各デバイスについて、 tag にマッチしたタグのみを表示する。 複数の --match-tag オプションを指定できる。 タグが指定されない場合、(指定された) 全てのデバイスについて、 全てのトークンを表示する。 トークンを何も表示せず、単純にキャッシュをリフレッシュしたい場合、 他のオプションを付けず、 --match-tag none を使うこと。
-S, --size size
デバイス/ファイルのサイズを上書きする (--probe と一緒に指定した場合のみ有効である)。
-t, --match-token NAME=value
NAME で指定された名前で、値が value のトークンを持つブロックデバイスを検索し、 見つかったデバイスを表示する。 NAME で良く使われる値は TYPE, LABEL, UUID である。 コマンドラインでデバイスが指定されない場合、全てのブロック デバイスが検索される。 指定された場合は、そのデバイスのみが検索される。
-u, --usages list
検知機能を指定した (カンマ区切りの) list の「使用法」のタイプに限定する。 サポートされる使用法のタイプは以下の通り: filesystem, raid, crypto, other. リストのアイテムはプレフィックス "no" を指定して、 その使用法を無視させることができる。 例:


  blkid --probe --usages filesystem,other /dev/sda1

では、全てのファイルシステムとその他 (例えば、スワップ) 形式を検知する。


  blkid --probe --usages noraid /dev/sda1

では、RAID 以外の全てのサポートされる形式を検知する。 このオプションは --probe と一緒に指定された場合にのみ有効である。

-U, --uuid uuid
ファイルシステムuuid を使うデバイスを検索する。 より詳細は --label オプションを参照すること。
-V, --version
バージョン番号を表示して、終了する。
 

返り値

指定されたデバイス、または指定されたトークン (オプション --match-token) で 指し示されるデバイスが見つかって、デバイスの情報が収集できた場合、 返り値 0 が返される。 オプション --match-tag は出力タグをフィルタするが、 返り値には影響しない点に注意すること。

指定されたトークンが見つからなかった場合、または (指定された) デバイスが特定できなかった場合、 またはデバイスの識別子やデバイスの内容についての情報が収集できなかった 場合、返り値 2 が返される。

使用法または他のエラーの場合、返り値 4 が返される。

低レベルの検知モード (-p) で、曖昧な検知結果が返された場合、返り値 8 が返される。  

設定ファイル

設定ファイル /etc/blkid.conf の標準的な配置場所は、環境変数 BLKID_CONF で上書きできる。 以下のオプションで libblkid ライブラリを制御できる:
SEND_UEVENT=<yes|not>
/dev/disk/by-{label,uuid,partuuid,partlabel}/ シンボリックリンクがデバイスの LABEL, UUID, PARTUUID, PARTLABEL にマッチしない場合、 uevent を送る。 デフォルトは "yes" である。
CACHE_FILE=<path>
キャッシュファイルの標準の配置場所を上書きする。 この設定は環境変数 BLKID_FILE で上書きできる。 デフォルトは /run/blkid/blkid.tab、 または /run ディレクトリがない場合は /etc/blkid.tab である。
EVALUATE=<methods>
LABEL と UUID の評価方法を定義する。 現在のところ、libblkid ライブラリは、評価方法として "udev" と "scan" をサポートしている。 1 つ以上の評価方法をカンマ区切りのリストで指定できる。 デフォルトは "udev,scan" である。 "udev" は udev /dev/disk/by-* シンボリックリンクを使い、"scan" は /proc/partitions ファイルにある全てのブロックデバイスをスキャンする。
 

著者

blkid は libblkid のために Andreas Dilger によって書かれた。 そして、Theodore Ts'o と Karel Zak によって改良された。  

環境変数

LIBBLKID_DEBUG=all を設定することで、デバッグ出力を有効化できる。
 

関連項目

libblkid(3), findfs(8), lsblk(8), wipefs(8)  

入手方法

blkid コマンドは util-linux パッケージの一部であり、 https://www.kernel.org/pub/linux/utils/util-linux/ から入手できる。


 

Index

名前
書式
説明
オプション
返り値
設定ファイル
著者
環境変数
関連項目
入手方法

This document was created by man2html, using the manual pages.
Time: 16:15:36 GMT, January 25, 2021