उबंटू, एक मौजूदा की तरह एक नई मशीन को कैसे सेटअप किया जाए


27

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

क्या कोई स्क्रिप्ट है जो सभी इंस्टॉल किए गए एप्लिकेशन को सूचीबद्ध करेगी, ताकि मैं बक्से के बीच अंतर कर सकूं और इसलिए गायब वस्तुओं को जोड़ सकूं?

अग्रिम धन्यवाद, क्रिस

जवाबों:


18

Pjz द्वारा बताए गए dpkg ट्रिक्स के रूप में, आप etckeeper ( ट्यूटोरियल ) को भी देख सकते हैं - एक ऐप जो आपके / etc / * को वर्जन कंट्रोल में रखता है, जिससे आपके द्वारा किए गए किसी भी बदलाव को ढूंढना आसान हो जाता है और उन्हें दूसरे को दुहराते हैं। सर्वर।

इसके अलावा, pjz की विधि द्वारा उत्पादित की तुलना में एक छोटी सूची के लिए, आप उपयोग कर सकते हैं

$ deborphan -a --no-show-section > /tmp/mypackagelist

यह आपको उन पैकेजों की एक सूची देगा जो उन सभी अन्य पैकेजों को स्थापित करेंगे जिनकी आपको निर्भरता के रूप में आवश्यकता होती है। उपयोगी हो सकता है यदि आप वास्तव में सूची के माध्यम से देखना चाहते हैं। (dpkg --get-selects एक loooong सूची का उत्पादन करेंगे )। इसके अलावा सूची इतनी छोटी है कि आप नई लिंक जोड़ सकते हैं और '#' के साथ प्रविष्टियां निकाल सकते हैं। फिर अतिरिक्त पैकेज स्थापित करते समय आप कर सकते हैं

$ grep -v '#' /tmp/mypackagelist | xargs apt-get install -y

इस तरह, अगर कुछ पैकेज हैं जिन्हें आप केवल कुछ मशीनों पर इंस्टॉल करना चाहते हैं, तो आपको उन्हें पैकेज सूची से पूरी तरह से हटाना नहीं है।


एटकीपर वास्तव में दिलचस्प (+1) दिखता है।
jkp

17
dpkg --get-selections >/tmp/mypackagelist

चाल चलनी चाहिए। फिर, यह सुनिश्चित करने के बाद कि नई मशीन पर आपकी /etc/apt/sources.list में पुरानी के समान प्रविष्टियों का सेट है, नई मशीन पर mypackagelist की प्रतिलिपि बनाएँ और करें:

cat mypackagelist | xargs apt-get -y install 

और आपको जाना अच्छा होना चाहिए

ध्यान दें कि dpkg --get-selections line आपके / etc / dir को कभी-कभार डालने के लिए अच्छी जानकारी है - इसका मतलब है कि आपको बैक / बिन / और usr / bin / और इस तरह से परेशान करने की ज़रूरत नहीं है क्योंकि आप जानते हैं सिस्टम पर कौन से पैकेज हैं।


हाँ, जेफ, लेकिन विन्यास फाइल के संशोधनों के बारे में कैसे? कैसे dpkg-reconfigure विकल्पों के बारे में? होस्टनाम के बारे में ... उपयोगकर्ता, शेयर, mounts ... ddbellow के बारे में मेरी प्रतिक्रिया देखें
elcuco

2

Ubuntu Forums का एक अच्छा जवाब है

  1. पुरानी मशीन पर: $ dpkg --get-selections> स्थापित-सॉफ्टवेयर
    • यह आपके इंस्टॉल किए गए ऐप्स की सूची प्राप्त करता है
  2. नई मशीन पर: $ dpkg --set-selections
    • यह नई मशीन पर वर्तमान में स्थापित पैकेजों को स्थापित करने के लिए नई मशीन सेट करता है।
    • यह देखना दिलचस्प हो सकता है कि क्या नई मशीन में पुरानी मशीन पर कुछ पैकेज स्थापित नहीं हैं, इसलिए आप नई मशीन पर dpkg --get-selections> कमांड पा सकते हैं, और फिर दोनों से आउटपुट फाइलों की तुलना करने के लिए अलग-अलग उपयोग कर सकते हैं।
  3. अंत में, नई मशीन पर: $ dselect और संकुल स्थापित किए जाएंगे।

मंचों चर्चा से कुछ अतिरिक्त लिंक:

  1. अपनी gpg कुंजियाँ न भूलें (उसी धागे से)
  2. सभी इच्छित पैकेजों को कैसे स्थापित करें और सभी अवांछित पैकेजों की स्थापना रद्द करें

2

बेहतर dpkg कमांड [मूल मशीन] हो सकती है

dpkg --get-selections | grep -v deinstall > packages_list

तब [नई मशीन स्थापित करते समय; package_list को स्थानांतरित करने के बाद]

sudo dpkg --set-selections < packages_list
sudo apt-get -u dselect-upgrade

1

यदि आप सीएलआई प्रशंसक नहीं हैं (हालाँकि आपको वास्तव में होना चाहिए), तो आप स्थापित पैकेज की छवि को बचाने के लिए सिनैप्टिक पैकेज प्रबंधक का उपयोग कर सकते हैं, और नई मशीन को लोड करने के लिए उस फ़ाइल (फिर से सिनैप्टिक के माध्यम से) का उपयोग कर सकते हैं। फ़ाइल / सेव मार्किंग ऑप्शन के तहत एक चेकबॉक्स है जिसे "फुल स्टेट सेव करें" कहा जाता है।


मुझे लगता है कि यह विधि Cory पाई गई
jbdavid

1

आप मशीन का उपयोग करके सिर्फ क्लोन क्यों नहीं कर रहे हैं dd?


1
यह। बस मशीन को क्लोन करें और नाम बदलें, यह अब तक का सबसे तेज़ तरीका है।
pjc50


1

मशीनों को दोहराने के लिए FSArchiver का उपयोग करना पूरी तरह से स्वीकार्य है। अन्यथा, यहां उपयोगी जोड़ियां हैं, जिनमें से पहली छमाही आप अपने बैकअप क्रोन में भी जोड़ सकते हैं:

debconf-get-selections
debconf-set-selections

~

aptitude-create-state-bundle
aptitude-run-state-bundle --unpack

~

dpkg --get-selections
dpkg --clear-selections; dpkg --set-selections

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


0

मुझे लगता है कि डॉकर अब ऐसा करने का तरीका होगा - एक डॉकफाइल में आवश्यकताओं को परिभाषित करना - आप इसे किसी भी डॉकर होस्ट पर चला सकते हैं।

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