Can ‘dd’ burn ISO files without ‘sync’ following?
dd doesn’t “burn” files. dd copy a file, converting and formatting according to the operands.
You can use it without sync. But you should use sync to make sure that the write cache is completely flushed to the USB pen drive.
Do you mean in some cases, some of the iso contents stay in the cache of
dd which will not be pushed in to usb drive?
Caching of data is a kernel process. That means if you copy a file (no matter via a file manager or via dd), the write cache gets filled and in parallel the real writing to the pen drive starts. To make sure that the writing process is finished (cache completely flushed) it makes sense to use sync. You may have noticed thatrwhen you transfer data to an USB pen drive, your desktop environment tells you that the copy is finished. But you are still not able to eject the pen drive safely. Thats because the background kernel process is still flushing the content of the write cache to the pen drive. With the sync operater you will see when the write process is really finished.
Personally, I use “dd_rescue” for this. The command line is a bit simpler, and it does an automatic “sync” before it finishes, so I don’t need an extra “sync”. However, you may need to first install “dd_rescue”.
Yes, take a look on
info dd on how to sync as it writes to the media. In particular flags
direct. Although I pretty much prefer using
cp to do the same as I don’t want to think about block sizes.
Contents of the cache will always be written to the drive. However users may interfere and stop the writing process. Use dd with option
oflag=direct to bypass caching.
dd, just a little longer wait, than
sync, so I guess I unplugged the usb drive too early that caused problem of LiveCD.