क्या एक कच्चे छवि फ़ाइल में कई विभाजन को इस तरह से डीडी करने का एक तरीका है कि वह बूट हो?


2

मैंने अपनी USB परियोजना के साथ अब तक बहुत प्रगति की है, हालांकि मैं सोच रहा था कि क्या पुनर्वितरण के लिए एक रॉ छवि फ़ाइल में कई विभाजन डीडी के लिए एक रास्ता होगा। निम्नलिखित आज्ञाएं हैं जिनका उपयोग मैं usb से usb पर एक पूर्ण क्लोन प्राप्त करने के लिए कर रहा हूं:

  DD if=/dev/sd[x] status=progress | gzip > newredhat.raw.gz

हालाँकि, इसके साथ एकमात्र मुद्दा यह है कि यह USB स्टिक की संपूर्णता को कॉपी करता है, (इसका अर्थ है कि यह वॉल्यूम को 28gb के रूप में कॉपी करेगा) और कुछ मामलों में छोटे USB स्टिक में जाने की कोशिश करने पर यह काम नहीं करता है। मैंने इसके आसपास काम करने की कोशिश की थी:

dd if=/dev/sdb1 | dd if=/dev/sdb2 | dd if=/dev/sdb3 | gzip > newredhat.raw.gz

जो मेरे आश्चर्य का काम किया, हालांकि मुझे विश्वास नहीं है कि यह फ़ाइल को उस तरह से सहेज रहा है जिस तरह से मैं कल्पना करता हूं कि यह है। क्या कोई ऐसा तरीका है जिससे मैं संपूर्ण डिस्क ड्राइव (एसडीबी) की नकल करने से बच सकता हूं और केवल नेस्टर्बरी विभाजन एसडीबी 1, एसडीबी 2 और एसडीबी 3 की नकल कर सकता हूं, इस तरह से कि मैं उन्हें एक इमेज फाइल में सेव करूं, और उस फाइल को एक नए में zcat करूं फिर इसे चलाने के लिए चर आकार का USB?

किसी भी और सभी अग्रिम में मदद के लिए धन्यवाद!


1
मैं इसके बजाय फ़ाइल-आधारित बैकअप की सलाह दूंगा। आप ddविभाजन तालिका (आमतौर पर डिस्क के पहले 1 एमबी) और tarअलग-अलग विभाजन सामग्री। नकारात्मक पक्ष, जाहिर है, बैकअप को एक फ़ाइल में संग्रहीत करना असंभव है।
जुग

ठीक है, मैंने उस दृष्टिकोण के बारे में सोचा, लेकिन यह एक फ़ाइल संरचना को संरक्षित नहीं करता है, क्योंकि अंततः पूरे पैकेज को एक gz में नीचे छोड़ दिया जाता है, और संपीड़न अनुपात वास्तव में काफी शानदार है .. मैंने 32gb को 8gb की तरह देखा है! इसके अलावा, मुझे पता है कि इसे पूरा करने का एक तरीका होना चाहिए, मुझे दूसरी विधि को खोजने के लिए भी संघर्ष करना पड़ा लेकिन मैंने आखिरकार हाहा कर दिया!
रिकहोप्रोग्राम्स

dd if=… | dd if=… | dd if=… | …कुछ समझ नहीं आया। केवल अंतिम ddही कुछ उपयोगी कर सकता है।
कामिल मैकियोरोस्की

पहले 2 (sdb1 और sdb2) क्रमशः 200m और 1.1g हैं, इसलिए यदि कमांड काम नहीं कर रहा है, तो मैं 3.6gb फ़ाइल के साथ समाप्त क्यों कर रहा हूं? क्या कुछ प्रतिकृति चल रही है?
रिकहोप्रोग्राम्स

का उत्पादन पोस्ट करें gdisk -l /dev/sdbसंपादित करें आईएनजी द्वारा इस जानकारी को अपने प्रश्न में जोड़ें ।
कामिल मैकियोरोस्की

जवाबों:


1

यदि आप केवल अंत में रिक्त स्थान की नकल करने से बचने की कोशिश कर रहे हैं तो निम्नलिखित काम करना चाहिए।

  • डिवाइस पर fdisk चलाएं।
  • सुनिश्चित करें कि इकाइयां सेक्टरों में सेट हैं (वे हाल ही के संस्करणों में डिफ़ॉल्ट रूप से fdisk हैं)
  • विभाजन तालिका को प्रिंट करने के लिए p दबाएं।
  • अंतिम विभाजन का अंतिम क्षेत्र पढ़ें।
  • 1 जोड़ें
  • मेगाबाइट में बदलने के लिए 2048 तक विभाजित करें
  • निकटतम संपूर्ण संख्या तक गोल करें (कुछ अनावश्यक क्षेत्रों की प्रतिलिपि बनाने के लिए बेहतर है कि उन क्षेत्रों की प्रतिलिपि न करें जो आवश्यक हैं)
  • डीडी अगर = / dev / sd [x] bs = 1M काउंट = <आकार मेगाबाइट में आपने गणना की> स्थिति = प्रगति | gzip> newredhat.raw.gz

मुझे इसे एक शॉट दें और देखें कि क्या यह इरादा के अनुसार काम करता है! विस्तृत प्रतिक्रिया के लिए धन्यवाद!!
रिकहोप्रोग्राम्स

हालांकि यह प्रभावी रूप से फ़ाइल को एक छोटे आकार की बूट करने योग्य छवि में सहेजेगा? यह भी कि क्या मैं अभी बूट करने योग्य मीडिया का पहला 7gb कहना चाहता था?
रिकहोप्रोग्राम्स

dd ... bs=7G count=1?
एलेक्स

लेकिन क्या इसे इस तरह से कॉपी किया जाएगा कि यह बूट करने योग्य कच्ची छवि के रूप में संरक्षित रहे?
रिकहोप्रोग्राम्स

मुझे यकीन नहीं है। यदि आप छवि को अनुकूलित करना चाहते हैं, तो आप क्लोनज़िला का उपयोग कर सकते हैं जो इसकी छवि को केवल वास्तविक डेटा में रखता है। मुझे नहीं पता कि यह आपके समाधान को वितरित करने के लिए आपके लिए काम करेगा, लेकिन वास्तव में आप क्लोनज़िला को अनुकूलित / स्वचालित कर सकते हैं या रिसीवर को क्लोनज़िला का लिंक दे सकते हैं और निर्देश दे सकते हैं कि छवि को कैसे पुनर्स्थापित किया जाए।
एलेक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.