यह इस बात पर निर्भर करता है कि वास्तव में विभाजन किसके लिए है, और प्रतिलिपि का उद्देश्य क्या है। हालांकि, मैं कहूंगा कि सामान्य रूप dd
से फाइलसिस्टम के बैकअप के लिए एक अनुचित उपकरण है । यही कारण है कि यह या तो नहीं था।
यह विभाजन के खाली वर्गों की नकल करने में बहुत समय बर्बाद करेगा।
यदि फ़ाइल सिस्टम वर्तमान में भाग में है, तो यह विसंगतियों को जन्म दे सकता है क्योंकि यह एक ओएस स्तर की इकाई है और अंतर्निहित ब्लॉक डिवाइस के साथ सिंक से बाहर हो सकता है। sync
शुरू में कॉल करना इससे बहुत मदद नहीं करेगा, क्योंकि यह प्रक्रिया तात्कालिक नहीं है।
उपयोग cp -a
या rsync
इसके बजाय। फिर आपको गंतव्य विभाजन बनाने की आवश्यकता है, ज़ाहिर है, इसलिए यह ड्रॉप डेड आसान के रूप में नहीं है, लेकिन यह अधिक सुरक्षित और अधिक लचीला है। यदि आपको एक फ़ाइल सिस्टम छवि बनाने की आवश्यकता है , तो नीचे देखें।
यदि आप रूट फाइलसिस्टम को कॉपी करना चाहते हैं, तो बिल्कुल उपयोग न करें dd
। आपको कुछ rsync -ax
(या cp -ax
व्यक्तिगत टॉपवेल निर्देशिकाओं पर) का उपयोग करना चाहिए , क्योंकि सामान का एक गुच्छा है जो प्रतिलिपि में नहीं होना चाहिए । लिनक्स पर, इसमें शामिल हैं:
/dev
/lost+found
/mnt
/proc
/run
/sys
/tmp
इनमें से कुछ वास्तव में कर्नेल इंटरफेस हैं और डिस्क पर वास्तविक निर्देशिका नहीं हैं। यदि आप उन्हें कॉपी करते हैं, तो आप जानकारी का एक गुच्छा कॉपी कर रहे हैं जो कॉपी में लागू नहीं होगा; यदि आप इसके साथ एक सिस्टम चलाते हैं और इसे चलाते हैं, तो यह व्यर्थ की जगह पर बस जाएगा क्योंकि असली इंटरफ़ेस शीर्ष पर मुहिम शुरू की जाएगी। अन्य में चल रही प्रक्रियाओं द्वारा उपयोग में अस्थायी जानकारी होती है और वे एक समस्या के और अधिक होते हैं, क्योंकि सिस्टम कचरा को छांटने में सक्षम नहीं होगा यदि आप उसे कॉपी करते हैं।
यदि आप रूट फाइल सिस्टम (या किसी भी फाइल सिस्टम) की एक छवि फ़ाइल बनाना चाहते हैं , तो एक खाली छवि फ़ाइल बनाएं - यह इसके लिए एक उपयुक्त उपयोग है dd
:
dd if=/dev/zero of=whatever.img bs=1024 count=1000000
यह एक 1024 एमबी की छवि (1000000 * 1024) है। समायोजित करें count
यदि आप इसे कुछ अन्य आकार चाहते हैं। बनाएँ, जैसे, ext
फ़ाइल में एक फाइल सिस्टम :
mke2fs whatever.img
यह आपको चेतावनी देगा कि यह एक वास्तविक ब्लॉक डिवाइस नहीं है। आगे बढ़ें। अब छवि फ़ाइल माउंट करें:
mount whatever.img /mnt/img
/mnt/img
मौजूद होना चाहिए लेकिन कुछ भी हो सकता है। अब आप rsync
(या cp -a
) में कर सकते हैं /mnt/img
। whatever.img
जब आप इसे अनमाउंट करेंगे तो सामग्री अंदर रहेगी ।
तथापि...
बस स्पष्ट होने के लिए, केवल फाइलसिस्टम छवि विधि का उपयोग करें, केवल यदि आपको किसी भी कारण से एक छवि फ़ाइल की आवश्यकता है, तो केवल वर्णित करें। यदि आपका लक्ष्य विभाजन को किसी अन्य हार्ड ड्राइव में कॉपी करना है , तो आपको एक छवि की आवश्यकता नहीं है : उस ड्राइव पर एक खाली फाइल सिस्टम के साथ एक नया विभाजन बनाएं, इसे माउंट करें, और वहां कॉपी करें। आप इसके बजाय बस एक खाली निर्देशिका में फाइल सिस्टम सामग्री डाल सकते हैं और इसे संग्रहीत कर सकते हैं:
tar -czf myarchive.tar.gz [the directory path]
फिर आप इसे एक मौजूदा (खाली या अन्यथा) विभाजन में टावेल में रखकर और उपयोग करके तैनात कर सकते हैं:
tar -xzf myarchive.tar.gz
खबरदार जो मौजूदा फ़ाइलों को अधिलेखित कर देगा यदि उनके पथ संग्रह में कुछ से मेल खाते हैं। यह अन्यथा मौजूदा निर्देशिका पदानुक्रम को समान छोड़ देगा।