/dev/urandom を使用してデバイスを消去する場合は、「同期」を使用します。

/dev/urandom を使用してデバイスを消去する場合は、「同期」を使用します。

syncUSBクリアまたは他のデバイスを使用するときは、コマンドを使用してキャッシュされた書き込みを永続ストレージに同期させる必要がありますか/dev/urandom

これは一般的な慣行ですdd if=/dev/urandom of=/dev/sdx && sync

しかし、これは本当に必要ですか?このsyncコマンドを省略できますか?

参考にしてくださいこの質問はユーティリティconv=syncのオプションを参照するのではなく、dd次のsyncように使用できるスタンドアロンコマンドを参照します。dd同期、ここに引用変換=同期。両方ともhttps://www.kernel.org/doc/man-pages/

ありがとう

答え1

sync関連として特に使用されません/dev/urandom。保留中のすべての書き込みがデバイスに送信されたことを確認するために使用されます。これは、リムーバブルデバイスで作業するときに特に重要です。デバイスsyncを起動して完了するまで待つと、デバイスを安全に取り外すことができます。

デバイスを初期化するときにデバイスを省略してsync接続を切断すると、デバイスの初期化が完了していない可能性があります。

答え2

呼び出しsync()はデバイスに関するものではなく、ファイルシステムに関するものです。

ブロックデバイスに書き込むとsync()バッファがフラッシュされる可能性がありますが、この例で提案されているようにrawデバイスを使用することはsync()意味がありません。

警告:Linuxでは、関連するRAWデバイスを見つけるのが難しい場合があります。関連するRAWデバイスの入手方法については、Linuxのマニュアルを参照してください。

関連情報