मैं विभिन्न हार्डवेयर वाले कंप्यूटरों के बीच कॉन्फ़िगरेशन कैसे स्थानांतरित करूं?


9

मैं उबंटू डेस्कटॉप के कॉन्फ़िगरेशन को अलग हार्डवेयर के साथ एक नए बॉक्स में माइग्रेट करना चाहता हूं। ऐसा करने का सबसे आसान तरीका क्या है? / etc / इसमें मशीन और हार्डवेयर विशिष्ट सेटिंग्स शामिल हैं ताकि मैं इसे आँख बंद करके कॉपी न कर सकूं। स्थापित पैकेज के लिए एक समान समस्या मौजूद है।

संपादित करें: यह x86 से x86-64 तक एक चाल है।


@ मुझे लगता है कि "अलग हार्डवेयर" एक और सवाल का पात्र है, विशेष रूप से x86 से x86-64 के लिए कदम।
फुनेहे

प्रोसेसर के आर्किटेक्चर के समान होने पर सरल केस के लिए, मूविंग लिनक्स को नए कंप्यूटर में इंस्टॉल करना देखें । @phunehehe: प्रश्न मूल रूप से वास्तुकला अंतर का उल्लेख नहीं करता है।
गिलेस एसओ- बुराई को रोकना '

जवाबों:


7

सबसे पहले, यदि आप 32-बिट बायनेरिज़ को चालू रखने जा रहे हैं, तो आप वास्तव में प्रोसेसर आर्किटेक्चर को नहीं बदल रहे हैं: आप अभी भी एक x86 प्रोसेसर चला रहे होंगे, भले ही वह अन्य चीजों को करने में सक्षम हो। उस स्थिति में, मैं आपके इंस्टॉलेशन या साधारण हार्ड डिस्क को क्लोन करने की सलाह देता हूं, जैसा कि एक नए कंप्यूटर पर मूविंग लिनक्स इंस्टाल में वर्णित है ।

दूसरी ओर, यदि आप 64-बिट सिस्टम (उबंटू शब्दों में: एक amd64आर्किटेक्चर) चाहते हैं, तो आपको पुनः स्थापित करने की आवश्यकता है, क्योंकि आप सिस्टम पर या इसके विपरीत amd64पैकेज स्थापित नहीं कर सकते i386हैं। ( मल्टीकार के साथ आने पर यह बदल जाएगा )।

कई अनुकूलन आपके घर निर्देशिका में रहते हैं, और आप इसे नई मशीन पर कॉपी कर सकते हैं। प्रोसेसर आर्किटेक्चर में बदलाव के कारण सिस्टम सेटिंग्स को इतनी आसानी से कॉपी नहीं किया जा सकता है।

Ubuntu 10.10 और ऊपर, OneConf का प्रयास करें

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

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

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

यदि आप पहले से योजना बनाते हैं, तो संस्करण नियंत्रण ( etckeeper quickstart ) के तहत डालने के लिए आप एटकीपर एटकीपर स्थापित करें का उपयोग कर सकते हैं । आपको एटकीपर का उपयोग करने के लिए संस्करण नियंत्रण के बारे में कुछ भी जानने की आवश्यकता नहीं है, आपको केवल सीखने की शुरुआत करने की आवश्यकता है यदि आप फैंसी चीजों को करने के लिए इसका लाभ उठाना चाहते हैं।/etc


क्या आप प्रोसेसर आर्क के साथ मुद्दों के बारे में बता सकते हैं। मुझे उम्मीद है कि x86-32 से x86-64 में जाने के बाद से कोई समस्या नहीं होनी चाहिए।
tshepang

1
@Tshepang: जब तक आप वास्तुकला नहीं बदल रहे हैं के रूप में, यह सरल पूरे स्थापना (कॉपी करने के लिए है /home, /etc, /var, /usrऔर सभी) और बस संपादन में कुछ फ़ाइलों etcकि जरूरत संपादन। यदि आप किसी भिन्न आर्किटेक्चर पर स्विच कर रहे हैं तो यह एक विकल्प नहीं है, क्योंकि आपको सभी बाइनरी पैकेजों को फिर से स्थापित करने की आवश्यकता है।
गिलेस एसओ- बुराई को रोकना '

1
@ user4745: आदर्श रूप से आप /etcव्यक्तिगत रूप से एक सार्थक संदेश के साथ प्रत्येक परिवर्तन करेंगे (जैसा कि ऑटोकॉमिट हुक पर भरोसा करने के लिए), और sysadmin वरीयताओं या साइट-वाइड कॉन्फ़िगरेशन से एक अलग शाखा पर मशीन-विशिष्ट परिवर्तन करना। लेकिन यहां तक ​​कि बुनियादी उपयोग आपके द्वारा किए गए परिवर्तनों का ट्रैक रखने में मदद करता है /etc, ताकि आप उन्हें नई मशीन पर दोहरा सकें।
गिल्स एसओ- बुराई को रोकना '

1
यह कैसे उपयोग करने के लिए तुलना करता है aptitude-create-state-bundle?
intuited

1
@ संकेत: मुझे इसके बारे में पता नहीं था aptitude-create-state-bundle। धन्यवाद, यह APT- प्रबंधित स्थिति (मैन्युअल तरीके से बेहतर, जो APT स्रोतों या डीबॉन्फ़ सेटिंग्स को पुन: पेश नहीं करता था) को पुन: पेश करने का एक स्वचालित तरीका है। आप के लिए एक उत्तर जोड़ सकते हैं संबंधित सवालों के रूप में अच्छी तरह।
गाइल्स का SO- बुराई पर रोक '18

3

यहां बताया गया है कि आपने जो कुछ भी मैन्युअल रूप से कॉन्फ़िगर किया है उसे छोड़कर सब कुछ कैसे प्राप्त करें:

dpkg --get-selections > packages.txt
debconf-get-selections > debconf.txt

इन फ़ाइलों को किसी भी चीज़ के लिए आवश्यक रूप से संपादित करें जो कि आर्च निर्भर (जैसे, लिनक्स-छवि) है, लेकिन मुझे नहीं लगता कि बहुत कुछ होगा।

इन फ़ाइलों को नए सिस्टम में कॉपी करें फिर चलाएं:

debconf-set-selections < debconf.txt
dpkg --set-selections < packages.txt
apt-get dselect-upgrade

आप भी कॉपी करना चाहेंगे (अधिमानतः rsync के साथ) / घर और किसी भी अन्य डेटा निर्देशिकाओं को नई प्रणाली में।

केवल एक चीज बची रहेगी जो बड़े पैकेजों (जैसे, अपाचे, बाइंड, क्रोनोजर, एट अल।) से फाइल को कॉन्फ़िगर करेगी।


2
डिबैंक का उल्लेख करने के लिए +1, लेकिन dpkg चयन को बहाल करने के लिए -1। यह सभी पैकेजों को नई मशीन पर मैन्युअल रूप से स्थापित किए जाने के रूप में चिह्नित करता है। aptitude search '~i !~M'मैन्युअल रूप से स्थापित पैकेजों की सूची को बचाने के लिए उपयोग करें ; देखने के इस उत्तर में अधिक जानकारी के लिए।
गिल्स एसओ- बुराई को रोकना '

1

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

  • यदि आपके पास मालिकाना ग्राफिक्स ड्राइवर स्थापित हैं, तो मुझे लगता है कि ये एक समस्या हो सकती है।
  • मैंने डेबियन के साथ हार्ड ड्राइव को पुराने एचपी पवेलियन (500 मेगाहर्ट्ज सीपीयू, काफी पुराने) से थोड़ा नए एमएसआई केटी 4 वी बोर्ड में स्थापित किया है। मेरे पास केवल एक ही समस्या थी मेरे नेटवर्क इंटरफ़ेस के नाम गड़बड़ थे। लेकिन इसने मुझे सामान्य उपयोगकर्ता से अधिक प्रभावित किया क्योंकि यह इंस्टॉल राउटर के रूप में उपयोग के लिए स्पष्ट रूप से था।
  • एक और चीज जो प्रभावित हो सकती है वह है lm-Sensors, अगर आप इसका उपयोग करते हैं। यह मदरबोर्ड विशिष्ट है, लेकिन आप इसे ठीक करने के लिए सेंसर का पता लगा सकते हैं।
  • यदि आप उपकरण को बदलते हैं तो लिनक्स अपने मूल विभाजन की अपेक्षा करता है, या यदि कोई उपकरण / विभाजन / / / fstab परिवर्तन की ओर इशारा करता है, अर्थात आप एक पाटा ड्राइव से SATA में जा रहे हैं, तो आपको यह अवश्य अपडेट करना होगा अन्यथा लिनक्स समस्या है।

यदि GPU समान है, तो ड्राइव कंट्रोलर एक ही प्रकार है, और आपके पास अपने नेटवर्क इंटरफेस के नामों पर निर्भर होममेड स्क्रिप्ट का एक गुच्छा नहीं है, मैं प्रमुख मुद्दों को नहीं भूलता।


हार्डवेयर बहुत समान नहीं होगा, बड़ी डिस्क, अलग विभाजन, विभिन्न GPU। मुझे नहीं लगता है कि फ़ाइल पदानुक्रम की नकल करना कठोर हस्तक्षेप के बिना काम करेगा क्योंकि यह x86-> 664 संक्रमण होगा।
user4745

बूट विकल्प ( /etc/default/grubमूल्य के रूप में संग्रहीत GRUB_CMDLINE_LINUX_DEFAULT) को इस सूची में जोड़ा जाना चाहिए।
intuited

0

[ इस उत्कृष्ट उत्तर को जोड़ते हुए ]

मैं देखता हूं कि आप स्थापित पैकेजों के लिए चिंता का उल्लेख करते हैं। इसके द्वारा, मुझे लगता है कि आपका मतलब है कि आप एक मशीन से दूसरी मशीन में डिस्क ट्रांसफर कर रहे हैं। यह मानते हुए कि आपकी दो मशीनें x86 आर्किटेक्चर हैं, एकमात्र समस्या जो मैं सोच सकता हूं वह यह हो सकती है कि क्या आपका इंस्टॉलेशन 64-बिट है और आपकी नई मशीन नहीं है। अगर चीजें आसपास हैं, तो कोई समस्या नहीं होनी चाहिए।


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

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