複数の非常に大きなハードドライブをスクラブする必要があります。ただし、デスクトップではこれを行うことはできません。移動中にラップトップでこれを行う必要があります。ハードドライブを一度に処理するには1日以上かかりますが、ラップトップを長くscrub(1)
固定することはできません。
scrub(1)
どの種類のオフセットコマンドライン引数もデフォルトでサポートされていません。
これを行う方法scrub(1)
(任意のバイト書き込み)がありますが、回復可能な方法はありますか?デフォルトでは、コマンドは中断時にオフセットを印刷し、再開するにはオフセットパラメータを許可する必要があります。
答え1
dd
進捗レポートは(に信号を送信して)生成されるように強制でき、SIGUSR1
セクションの書き込みを開始するように指示できます(seek
を使用して
その後、/dev/urandomなどのランダムバイトソースが必要です。
答え2
ddrescue
以下を使用できますcryptsetup
。
truncate -s $(blockdev --getsize64 /dev/sdx) sdx-zero
cryptsetup open --type plain --cipher aes-xts-plain64 sdx-zero sdx-random
ddrescue /dev/mapper/sdx-random /dev/sdx sdx-scrub.map
復元して保存するには、sdx-scrub.map
同じコマンドをもう一度繰り返します。
この方法は、毎回同じパスワードを使用しても機能します。
cmp /dev/mapper/sdx-random /dev/sdx && echo OK || echo FAIL
しかし、回復可能にするにはcmp -i SKIP -n LIMIT
。
検証を実行すると、プロセス時間が2倍長くなります。検証がなければシュレディンガースクラブになります。
上記の例では、/dev/sdx
クリーニングするドライブです。
sdx-zero
0のみを含み、サイズが0のスパースファイルです/dev/sdx
。まれなファイルを正しくサポートするファイルシステムでサポートする必要があり、ext4/xfs/btrfsは機能しますが、tmpfs/fat/ntfsは機能しません。
cryptsetup
0はランダムデータで暗号化されているため、/dev/mapper/sdx-random
ナビゲーション可能なブロックデバイスもランダムデータで埋められます(/dev/urandom
ナビゲーション不可能なデバイスとは対照的に)。
ddrescue
それから任意のデータを読み書きsdx-random
し/dev/sdx
、進行状況を追跡しながら整理しますsdx-scrub.map
。また、進行状況バーとエラー(存在する場合)も表示されます。
毎回パスワードを入力したくない場合は、キーファイルを生成することもできます。
printf "%s" $(uuidgen) > sdx-scrub.key
キーファイルを一度だけ生成し、呼び出し間でアーカイブしてからコマンド--key-file sdx-scrub.key
に追加するだけです。cryptsetup
また、見ることができますhttps://unix.stackexchange.com/a/352378/30851