ddがキャッシュしない、またはキャッシュから読み取らないように強制

ddがキャッシュしない、またはキャッシュから読み取らないように強制

私はddのbusyboxバージョンを使用して組み込みシステムを開発しています。一部の外部ユーティリティでドライブの消去をテストしようとしていますが、ddが消去した後にディスクから読み取らずにキャッシュされたデータを表示します。

最初のddを実行し、データを見て、システムを再起動してキャッシュをフラッシュして消去し、ddを再実行したときに結果がすべて0であったため、ddに絞り込みました。

ただし、工場出荷時の設定でddを実行し、ドライブを消去してから再起動せずにddを実行すると、再起動するまでゼロはすべて表示されません。

ddがnocacheフラグと一緒にiflag optをサポートしているというGNUのマニュアルページを読んでいますが、busyboxはそのオプションをサポートしていないので不可能です。

私の質問は、ddにキャッシュの代わりにディスクから再度読み込むように強制する方法です。

ベストアンサー1

@sendmoreinfoの答えに基づいて:

dd if=/dev/device iflag=direct bs=1M

読み取りキャッシュには影響しません。

おすすめ記事