Linux
使用 /dev/urandom 擦除設備時使用“同步”
sync
使用擦除 USB 或任何設備時,是否有必要使用命令將記憶體寫入同步到持久儲存/dev/urandom
?這是一種常見的做法,即
dd if=/dev/urandom of=/dev/sdx && sync
.但這真的有必要嗎?可以省略
sync
命令嗎?請注意這個問題不是指實用程序的
conv=sync
選項dd
,它指的sync
是一個獨立的命令,也可以在dd
. 這是對sync的引用,這裡是對conv=sync的引用。兩者都來自https://www.kernel.org/doc/man-pages/。謝謝
sync
未專門使用,因為/dev/urandom
涉及;它用於確保所有掛起的寫入都已發送到設備。這在使用可移動設備時尤其重要:執行sync
並等待它完成,確保可以安全地刪除設備。擦除設備時,如果省略
sync
並斷開設備連接,則可能尚未完成擦除設備…
該
sync()
呼叫與文件系統有關 - 與設備無關。如果您寫入塊設備,
sync()
可能會導致緩衝區刷新,但如果您使用原始設備(如本例中所推薦的那樣),sync()
則沒有任何意義。警告:在 Linux 上,可能很難找到相關的原始設備。查看 Linux 文件以了解如何獲取相關的原始設備。