यदि मैं विभिन्न हार्डवेयर में माइग्रेट कर रहा हूं तो मैं अपने लिनक्स वातावरण की नकल कैसे कर सकता हूं?


10

वर्तमान में मेरे पास ग्रहण, MySQL, पायथन, फ़ायरफ़ॉक्स, आदि के लिए पैकेज, मॉड्यूल, सेटिंग्स आदि हैं, जो कुबंटु पर स्थापित हैं। मैंने अपनी आवश्यकताओं के लिए कुबंटू को भी बेहतर ढंग से कॉन्फ़िगर किया है। मैं अपने वातावरण को दूसरी मशीन पर डुप्लिकेट करना चाहूंगा जिसमें एक अलग प्रोसेसर है (वर्तमान में एक इंटेल Q9450 पर, नया प्रोसेसर एक i7 है)। जैसा कि मैं समझता हूं, मेरे एप्लिकेशन मेरे विशिष्ट प्रोसेसर के साथ उपयोग के लिए संकलित हैं, इसलिए सीधे विभाजन की प्रतिलिपि बनाना प्रश्न से बाहर है।

क्या इस दूसरी मशीन पर मेरे पर्यावरण को डुप्लिकेट करने का कोई तरीका है, फिर से स्थापित करने और सब कुछ फिर से कॉन्फ़िगर करने की कमी?


यह सवाल मेरे लिए अविश्वसनीय है ... मैं एक ही बात पूछ रहा था!
dag729

"जैसा कि मैं समझता हूं, मेरे एप्लिकेशन मेरे विशिष्ट प्रोसेसर के साथ उपयोग के लिए संकलित हैं": आपको यह विचार कहां से मिला? मुझे कोई डिस्ट्रो नहीं पता (सिवाय जेंटू के) जो ऐसा करता है।
सालेके

@ साल्सके: क्या आपने कभी डेबियन के पीपीसी संस्करण पर एक एएमडी ६४ पैकेज स्थापित करने की कोशिश की है? ;)
dag729

1
@ dag729: यदि आप प्रोसेसर आर्किटेक्चर को बदलते हैं , तो आपको नए पैकेजों की आवश्यकता होगी। लेकिन Intel Q9450 और i7 दोनों x86 प्रोसेसर हैं।
२१

1
मुझे लगा कि मेरा i7 x86_64 था। मैं इस मशीन पर 64-बिट एप्लिकेशन चला रहा हूं। क्या मैं गलत हूँ?
जिज्ञासु

जवाबों:


3

जैसा कि मैं समझता हूं, मेरे एप्लिकेशन मेरे विशिष्ट प्रोसेसर के साथ उपयोग के लिए संकलित हैं, इसलिए सीधे विभाजन की प्रतिलिपि बनाना प्रश्न से बाहर है।

क्या आपको इस निष्कर्ष पर ले जाता है? कम से कम x86 के लिए, कुबंटू द्वारा स्थापित पैकेज व्यावहारिक रूप से सभी गैर-प्रागैतिहासिक सीपीयू पर चलने के लिए संकलित हैं। मुझे विश्वास है कि वे 486 की तुलना में कुछ भी नया चलाएंगे, जो संभवतः आपके मामले में समस्या पैदा नहीं करता है :-)।

तो एक सीधे विभाजन की नकल ठीक काम करना चाहिए:

  • विभाजन को कॉपी करें (या cp -aयदि आपके विभाजन लेआउट को बदल दिया गया है, तो फ़ाइलों का उपयोग करके कॉपी करें )
  • नए विभाजन लेआउट के लिए अनुकूलित / आदि / fstab
  • नए विभाजन के लिए बूटलोडर को फिर से कॉन्फ़िगर करें, और बूटलोडर को पुनर्स्थापित करें
  • बूट और आनंद लें

समस्याएं केवल इसके लिए अपेक्षित हैं:

  • स्व-संकलित पैकेज, लेकिन वहां भी, अधिकांश सभी आधुनिक सीपीयू के लिए डिफ़ॉल्ट संकलन द्वारा, जब तक आप संकलक विकल्पों के साथ नहीं खेलते हैं
  • डिवाइस ड्राइवर

अधिकांश आधुनिक कर्नेल ऑटोडेक्टेट बूट पर hw करते हैं, इसलिए आमतौर पर ड्राइवरों को भी ठीक होना चाहिए, लेकिन अगर चीजें विफल हो जाती हैं, तो आप आमतौर पर एकल-उपयोगकर्ता मोड में बूट कर सकते हैं और किसी भी ड्राइवर के मुद्दों को ठीक कर सकते हैं।


यदि यह काम करता है तो मेरा जीवन बहुत आसान हो जाएगा। धन्यवाद! मैं पहले यही कोशिश करूंगा।
उत्सुक

7

आप बिना किसी बदलाव के अपनी होम डायरेक्टरी ले सकते हैं। लगभग हर चीज जो एक होम डायरेक्टरी में जाती है, उसे एनएफएस जैसी किसी चीज़ के ऊपर पहनने योग्य बनाया गया है, इसलिए आप अच्छे हैं।

इसके साथ ही, अपने पैकेज चयन को भी सहेजें

sudo dpkg --get-selections '*' >file.txt

और इसे दूसरी मशीन पर पुनर्स्थापित करें

sudo dpkg --set-selections <file.txt

इसी तरह, अपनी डिबॉन्क सेटिंग्स को सेव करें

sudo debconf-get-selections >file2.txt

और साथ बहाल करें

sudo debconf-set-selections <file2.txt

बाकी कॉन्फ़िगरेशन के लिए /etcजो डिबेंक्फ़ द्वारा प्रबंधित नहीं है, यह ट्रैक करना मुश्किल है कि मैन्युअल रूप से क्या बदला गया था, जब तक कि आपने एटकीपर (शायद भविष्य के लिए एक विचार) जैसी किसी चीज़ का उपयोग नहीं किया है । इस कारण से, मैं अपने घर की निर्देशिका में अपने विन्यास के अधिकांश रखने के लिए करते हैं। लेकिन जब से आप जानते हैं कि आप किन कार्यक्रमों में रुचि रखते हैं, तो प्रासंगिक फ़ाइलों को खोजने /etcऔर उन्हें मैन्युअल रूप से जांचना और कॉपी करना आसान होना चाहिए ।


1
हां, यदि आप एक अलग वास्तुकला की ओर पलायन कर रहे हैं, तो यह रास्ता तय करना है। एक साइड नोट के रूप में: बस / / / कहीं सुरक्षित की एक प्रति बनाएँ, फिर आप चुनिंदा फ़ाइलों को पुनर्स्थापित कर सकते हैं जब आपको नई प्रणाली पर उनकी आवश्यकता होती है।
सालेके

1

आप अपने घर का बैकअप ले सकते हैं, और इसे दूसरी मशीन पर पुनर्स्थापित कर सकते हैं। यह आपकी आवश्यकता को पूरी तरह से पूरा नहीं कर सकता है, लेकिन यह सभी कॉन्फ़िगरेशन को पुनर्स्थापित करेगा। आपको अपने आप को पैकेजों को फिर से स्थापित करना होगा, हालाँकि।


1

कस्टम कॉन्फ़िगरेशन का एक विशाल बहुमत / घर / में होगा, बाकी के अधिकांश / etc / के साथ। कुछ / आदि फाइलों में मशीन या हार्डवेयर की विशिष्ट जानकारी (/etc/X11/xorg.conf, / etc / hostname, / etc / fstab मेरे सिर के ऊपर से है), लेकिन इसका बहुत कुछ आपके द्वारा कॉपी किए जाने पर ही हो सकता है एक ही OS संस्करण का उपयोग करने जा रहे हैं।


जिन चीजों को आपने सूचीबद्ध किया है, उनमें से MySQL एकमात्र है जिसके पास / etc / में कॉन्फ़िगरेशन होने की संभावना है या आप कॉपी करना चाहते हैं, बाकी / home / में हैं
जस्टिन स्मिथ

1

प्राप्त करने के लिए, चयन चीज़ सेट करें।

यह जानने के लिए कि कौन से शंकुधारी बदल गए हैं, इसे चलाएं:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  [[ -r $f ]] || continue; m2=$(md5sum "$f") ;
  [[ $m2 != "$m  $f" ]] && echo "$f";
done |xargs -n1 dlocate  |tee ~/edited-conffiles

यदि आपके पास पहले से डोलोकेट स्थापित नहीं है, तो आप इसे dpkg -Sउस हिस्से से बदल सकते हैं या छोड़ सकते हैं ।

सभी शंखों का बैकअप लेने के लिए:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  echo "$f"
done |sudo tar cjf ~/conffiles.tbz2 -T -

1

हम्म। यदि आपको कुछ अड़चन नहीं है, तो आप नए HDD को अपने बॉक्स में प्लग कर सकते हैं, इसे माउंट कर सकते हैं, फिर dd का उपयोग कर सकते हैं। उदाहरण के लिए, यदि आपका वर्तमान रूट / dev / sda3 पर सेट है और आपने नया HDD / dev / sdb2 पर उपयोग किया है

dd if=/dev/sda3 of=/dev/sdb2

आपको इसे रूट के रूप में करना होगा। उसके बाद आप ग्रब स्थापित करना चाहते हैं, इसलिए आपको उबंटू लाइवसीडी डालने और उसका उपयोग करने की आवश्यकता है।

या आप इस लिंक पर एक नज़र डाल सकते हैं: http://www.ehow.com/how_4924091_clone-hard-drive-linux.html - यह लिनक्स हार्ड ड्राइव की क्लोनिंग के माध्यम से एक बहुत अच्छा चलना जैसा लगता है, हालांकि मैंने नहीं किया है अपने आप को उस साइट का परीक्षण किया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.