Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all 

名前
wipefs - デバイスからシグナチャーを消去する
書式
wipefs [options] device...
wipefs [--backup] -o offset device...
wipefs [--backup] -a device...
説明
wipefs を使えば、指定された device からファイルシステム、raid、 パーティションテーブルなどのシグナチャー
(signatures, マジックストリング) を消去して、シグナチャーを libblkid から見えなくすることができる。
wipefs は、デバイスからファイルシステムそのものを消去するわけではない。 また、シグナチャー以外のいかなる
データも消去しない。
wipefs は、オプションなしで使用すると (訳注: たとえば、wipefs /dev/sda* と実行すると)、 見ることが可能な
すべてのファイルシステムと、その基本的なシグナチャーのオフセットを一覧表示する。 デフォルトで何を出力する
かは、バージョンによって違うことがよくあるので、スクリプトで使うときは、 デフォルトの出力の使用は、なるべ
く避けた方がよい。 いつでも一定の出力が必要な場合には、--output column-list を使用して、表示させたい項目
が何と何かを、必ず明確に指定するべきである。
wipefs は、パーティションテーブルのシグナチャーの消去が済むと、BLKRRPART ioctl を呼んで、変更についてカー
ネルに知らせる。ioctl を呼ぶのは、最後のステップなので、 そのときには、指定されたすべてのデバイスの、指定
されたすべてのシグナチャーは、 すでに消去されているわけである。
ファイルシステムやパーティションテーブルによっては、 複数のマジックストリングをデバイスに保存するものがあ
る (たとえば、FAT, ZFS, GPT など)。wipefs コマンドは (v2.31 以来) マジックストリングを検出したすべてのオ
フセット位置を列挙する。
オプション -a を使用すると、libblkid から見えるすべてのマジックストリングが消去される。その際、wipefs
は、変更 (消去) を行うごとに、デバイスを再度スキャンして、マジックストリングがひとつも見つからなくなるま
で、 それを繰り返す。
気を付けていただきたいが、wipefs は、デフォルトでは、 ディスク全体ではないデバイスにある、ネストしたパー
ティションテーブルを消去しない。 そうするためには、--force オプションが必要である。
オプション
-a, --all
処理可能なシグナチャーをすべて消去する。消去するシグナチャーを何と何にするかは、-t オプションに
よって絞り込むことができる。
[訳注] オプションの名前が --all のせいで紛らわしいが、-t オプションを使って、シグナチャーのタイプ
を限定している場合でも、消去操作には -a (--all) が必要である。-t だけだと、動作が消去では
なく、表示になる。
-b, --backup
ファイル $HOME/wipefs-<devname>-<offset>.bak にシグナチャーのバックアップを作成する。詳しくは、「
用例」をご覧いただきたい。
-f, --force
ファイルシステムがマウントされている場合でも、消去を強行する。 このオプションは、ブロックデバイス
上のパーティションテーブル・シグナチャーを消去するために必要である。
[訳注] 2 番目の文は、訳者には意味不明である。 確かに、ファイルシステムがマウントされている場合
に、 ファイルシステムのシグナチャーを消すには、-f が必要だろう。 また、おそらく、ネストし
たパーティションテーブルのシグナチャーを消去するためにも、 -f が必要なのだろう。しかし、そ
ういうことでないならば、ルート権限さえ持っていれば、 ブロックデバイス上のパーティション
テーブルのシグナチャーを消すのに、 普通 -f は要らないはずである。 それとも、あるデバイスの
パーティションに自分が目下実行しているシステムが含まれているとき、 そのディスクのパーティ
ションテーブルのシグナチャーを消去するということだろうか。 それは、やらない方がよい乱暴な
ことだと思うのだが。
-h, --help
ヘルプテキストを表示して終了する。
-J, --json
出力に JSON フォーマットを使用する。
-i, --noheadings
ヘッダ行を表示しない。
-O, --output list
出力にどの項目 (column) を表示するかを指定する。 サポートされている全項目のリストを得るに
は、--help を使用すればよい。
-n, --no-act
write() 呼び出し以外のすべてを行うようにする。
-o, --offset offset
デバイスから消去すべきシグナチャーの位置を (バイト単位で) 指定する。offset には接頭辞 "0x" を付け
てもよく、その場合は、数値が 16 進数と見なされることになる。複数の -o オプションを指定することもで
きる。 (訳注: -t と違って、こちらは -a オプションと一緒に使う必要はない。 と言うより、両方指定する
と、エラーになる。)
引き数 offset には、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 も同様に使える。
-p, --parsable
人間に見やすい (printable) フォーマットではなく、プログラムが解析しやすい (parsable) フォーマット
で出力する。文字列中の問題を起こしかねないすべての文字は、 対応する '\x' を頭に点けた 16 進数にエ
ンコードされる。
-q, --quiet
シグナチャーの消去に成功した場合は、いかなるメッセージも表示しない。
-t, --types list
表示、または消去するシグナチャーを絞り込む。 複数のタイプを指定するには、コンマで区切ったリストに
すればよい。 リスト、または個々のタイプの前に、'no' という接頭辞を付けることができ、 その場合
は、作業の対象にすべきではないタイプを指定することになる。 もっと詳しく知りたければ、mount(8) のマ
ニュアルをご覧になるとよい。
[訳注] list に使えるのは、基本的には mount(8) の -t に指定するファイルシステムのタイプと同じもの
だが、gpt や swap を指定することもできる。すなわち、wipefs /dev/sda* の出力の TYPE の項目
に表示されるものが使えるわけである。
-V, --version
バージョン情報を表示して終了する。
用例
wipefs /dev/sda*
sda と sda 上のすべてのパーティションの情報を表示する。
wipefs --all --backup /dev/sdb
デバイス /dev/sdb からすべてのシグナチャーを消去し、 シグナチャーそれぞれに対し
て、~/wipefs-sdb-<offset>.bak というバックアップファイルを作成する。
dd if=~/wipefs-sdb-0x00000438.bak of=/dev/sdb seek=$((0x00000438)) bs=1 conv=notrunc
バックアップファイル ~/wipefs-sdb-0x00000438.bak から ext2 のシグナチャーを復元する。
[訳注] 3 番目の例は、ちょっと変わったことをしていると言えるかもしれない。 ここでは、/dev/sdb にファイル
システムのシグナチャーを復元している。 とすると、/dev/sdb1 のようなパーティションにではな
く、/dev/sdb というディスクに直接 ext2 のファイルシステムを作成していたことになりそうだ。/dev/sdb
が、たとえば USB メモリなら、そういうこともあるだろうけれど。
作者
Karel Zak <kzak@redhat.com>
環境変数
LIBBLKID_DEBUG=all
libblkid デバッグ出力を有効にする。
関連項目
blkid(8), findfs(8)
入手方法
この wipfs コマンドは、util-linux パッケージの一部であり、次の URL から入手でき
る。https://www.kernel.org/pub/linux/utils/util-linux/
util-linux December 2014 WIPEFS(8)