時々、ddによって同期が中断されることがあります。

時々、ddによって同期が中断されることがあります。

ddthensyncまたはddwith を使用するとconv=fsync同期プロセスが中断されることがありますが、入力と出力のターゲットと構成がまったく同じであるため、そうでない場合があります。

dd if=2016-03-18-raspbian-jessie-lite.img of=/dev/sdg conv=fsyn
sync # freeze here

または

dd if=2016-03-18-raspbian-jessie-lite.img of=/dev/sdg conv=fsync

私はUbuntu、Linux Mint(古い)など、さまざまなディストリビューションでこの一貫性のない動作を経験しました。

答え1

pv image_file | dd of=/dev/slow_usb_stick私はしばしばディスプレイの最初の数百メガバイトが(バッファに)通り過ぎると、伝送速度が著しく遅くなる状況に陥ります。終了時にバッファ全体をフラッシュする必要がありますddsyncスティックを取り除くには、バッファが大きくてデバイスが遅いため、数分待つ必要があります。

だから、おそらく忍耐です。バッファサイズは利用可能なメモリによって異なります。時々、バッファは非常に大きく、sync「固定」することがあり、時にはそうではないかもしれません。これは推測です。


私が観察したもう1つの現象は、syncすべてのバッファ(つまりすべてのデバイス)をフラッシュすることです。 USBスティックを取り外したい時もありましたが(ddプラグを抜いた後)sync、同時にHDDが多い書き込み操作を行うのに忙しかったです。 HDDのデータ転送速度が速すぎてバッファをクリアできません。フリーズはsync当時とは何の関係もありませんでしたdd。したがって、sync他のすべてのデバイスに関係なく、特定のデバイスをターゲティングして終了できるようにしたいです。

編集する:

私の願いが叶いました。 Ubuntu 16.04.2 sync (GNU coreutils) 8.25LTSできる特定のファイルシステムを対象としています。長く生きる!

関連情報