मेरे पास 200 जीबी मुक्त डिस्क स्थान है, 16 जीबी रैम (जिनमें से ~ 1 जीबी डेस्कटॉप और कर्नेल द्वारा कब्जा कर लिया गया है) और 6 जीबी स्वैप है।
मेरे पास एक 240 जीबी बाहरी एसएसडी है, जिसमें 70 जीबी 1 और बाकी मुफ्त है, जिसे मुझे अपनी डिस्क पर बैकअप लेने की आवश्यकता है।
आम तौर पर, मैं dd if=/dev/sdb of=Desktop/disk.img
डिस्क को पहले करूँगा , और फिर उसे संपीड़ित करूँगा , लेकिन छवि बनाना पहला विकल्प नहीं है क्योंकि ऐसा करने के लिए मेरे पास कहीं अधिक डिस्क स्थान की आवश्यकता होगी, भले ही संपीड़न कदम के परिणामस्वरूप मुक्त स्थान को स्क्वैश किया जाएगा। अंतिम संग्रह आसानी से मेरी डिस्क पर फिट हो सकता है।
dd
डिफ़ॉल्ट रूप से STDOUT को लिखता है, और gzip
STDIN से पढ़ सकता है, इसलिए सिद्धांत रूप में मैं लिख सकता हूं dd if=/dev/sdb | gzip -9 -
, लेकिन gzip
बाइट को पढ़ने में अधिक समय लगता है , जितना कि dd
वे उत्पादन कर सकते हैं।
से man pipe
:
पाइप के राइट एंड को लिखे गए डेटा को कर्नेल द्वारा बफ़र किया जाता है जब तक इसे पाइप के रीड एंड से पढ़ा नहीं जाता है।
मैं |
एक वास्तविक पाइप की तरह होने के रूप में कल्पना करता हूं - एक आवेदन में डेटा shoving और दूसरा पाइप की कतार से डेटा जितनी जल्दी हो सके।
क्या होगा जब बाईं ओर का प्रोग्राम पाइप के दूसरे पक्ष की तुलना में अधिक तेज़ी से अधिक डेटा लिखता है, यह प्रक्रिया करने की उम्मीद कर सकता है? क्या यह चरम मेमोरी या स्वैप उपयोग का कारण होगा, या कर्नेल डिस्क पर एक फीफो बनाने की कोशिश करेगा, जिससे डिस्क को भरना होगा? या क्या यह SIGPIPE Broken pipe
तभी विफल होगा जब बफर बहुत बड़ा हो?
मूल रूप से, यह दो प्रश्नों को उबालता है:
- एक समय में एक डेटा को पढ़ने के एक पाइप में अधिक डेटा shoving के निहितार्थ और परिणाम क्या हैं?
- डिस्क पर संपूर्ण असम्पीडित डेटास्ट्रीम डाले बिना डिस्क पर डेटास्ट्रीम को संपीड़ित करने का विश्वसनीय तरीका क्या है?
नोट 1: मैं सिर्फ पहले इस्तेमाल किए गए 70 जीबी का ठीक से कॉपी नहीं कर सकता हूं और विखंडन और अन्य चीजों के कारण एक कार्य प्रणाली या फाइल सिस्टम प्राप्त करने की अपेक्षा करता हूं, जिसके लिए पूर्ण सामग्री को बरकरार रखने की आवश्यकता होगी।
lzop
बजाय में देखो gzip
; यह केवल एक अपेक्षाकृत कम संपीड़न अनुपात के साथ बहुत तेजी से संपीड़ित करता है। मुझे यह डिस्क छवियों के लिए आदर्श लगता है जहां संपीड़न गति एक वास्तविक अड़चन हो सकती है।