इसके बजाय इसका उपयोग करें:
sudo dd if=install57.fs of=/dev/sdc conv=fsync
यह fsync()
हर write()
सिस्टम कॉल के बाद कॉल करता है। यह dd
कुछ भी कैश नहीं करने के लिए मजबूर करता है। Fsync के मैनपेज का यह हिस्सा देखें ( man 2 fsync
):
fsync() transfers ("flushes") all modified in-core data of (i.e., modified buffer cache
pages for) the file referred to by the file descriptor fd to the disk device (or other
permanent storage device) where that file resides. The call blocks until the device reports
that the transfer has completed. It also flushes metadata information associated with the
file (see stat(2)).
यह गुठली डिफ़ॉल्ट व्यवहार है। लिनक्स कर्नेल इस तरह से कैश को लिखते और पढ़ते हैं: जब write()
सिस्केल जारी किया जाता है, तो डेटा को तुरंत कैश में लिख दिया जाता है और प्रक्रिया को एक पूरा होने वाला स्टेटस भेजा जाता है। जब बफर की आवश्यकता होती है या जब बस में खाली समय होता है, तो डेटा को कैश से हार्ड डिस्क पर लिखा जाता है।
/dev/sdc
आपके सिस्टम पर एक वास्तविक डिवाइस है और आप किसी फ़ाइल पर नहीं लिख रहे हैं/dev/sdc
? एक हैls --color /dev
-/dev/sdc
यह एक डिवाइस हो पीला होना चाहिए।