कई कंप्यूटरों के बीच apt-get स्थापनाओं को सिंक करना


11

क्या कई पीसी के बीच मेरे इंस्टॉलेशन (और रिमूवल) को सिंक्रोनाइज़ करने का कोई तरीका है?

अधिमानतः ड्रॉपबॉक्स के साथ - चूंकि मैं पहले से ही अपनी फ़ाइलों को सिंक में रखने के लिए उपयोग कर रहा हूं।

मैंने फ़ाइल apt-get installऔर apt-get removeआदेशों के लिए एक उपनाम के बारे में सोचा जो एक फ़ाइल के मापदंडों को संग्रहीत करता है (एक इंस्टॉल के लिए, एक को हटाने के लिए) और दूसरा कमांड जो फ़ाइल में सभी प्रविष्टियों को पढ़ता है और संबंधित कमांड को निष्पादित करता है। क्या यह यथार्थवादी दृष्टिकोण है?

जवाबों:


7

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


यह कम संख्या में मशीनों के लिए एक महान विचार है। एक बड़े वातावरण में, आपके पास निश्चित रूप से एक कठपुतली होना चाहिए। जहां मैं काम करता हूं वहां हम कठपुतली के साथ हजारों मशीनों का प्रबंधन करते हैं।
एड मैनेट

9

मुझे नहीं पता कि क्या कोई बेहतर तरीका है (शायद वहाँ है), लेकिन आपकी ज़रूरत के पैमाने के आधार पर, आप मशीनरी के हिस्से के लिए एप्टीट्यूड की खोज सुविधा का उपयोग कर सकते हैं। यह आपको पैटर्न से मेल खाते संकुल की खोज करने देता है। तो, aptitude search '~i'आप सभी को स्थापित संकुल देता है

हमें हालांकि एक कदम और आगे जाने की जरूरत है। संकुल प्रबंधक यह जानना पसंद करता है कि कौन से पैकेज आपके द्वारा सीधे अनुरोध किए गए थे और जो अन्य पैकेजों के कारण सिर्फ खींचे गए थे। उस जानकारी के बिना, बदसूरत सामान हो सकता है। इसलिए, हम उस खोज पैटर्न पर विस्तार कर सकते हैं जो उन पैकेजों का चयन करने के लिए है जो स्वचालित रूप से स्थापित नहीं हैं:aptitude search '!~M ~i'

एप्टीट्यूड के संदर्भ मैनुअल में खोज सुविधा को कुछ विस्तार से कवर किया गया है ।

अब, आपके पास स्थापित करने के लिए संकुल की अपनी सूची है। आप केवल कमांड के नाम के साथ सूची प्राप्त करने के लिए -F '% p' ​​की तरह उस कमांड में -F फ्लैग पास करके आउटपुट को फॉर्मेट कर सकते हैं ।


उदाहरण के लिए , आप इसे मशीन 1 पर चला सकते हैं :

aptitude -F "%c %p" --disable-columns search '!~M ~i' | awk -F " " '{ print "apt-get -y install " $2 }' > aptshell.sh

फिर मशीन 2aptshell.sh पर नई बनाई गई फ़ाइल को कॉपी करें और मशीन 2 पर इस कमांड का उपयोग इसे चलाने के लिए करें:

sudo sh aptshell.sh

फिर मूल के साथ प्रक्रिया को दोहराएं, मशीन 2 नए रूप में मशीन 1 , और मूल मशीन 1 नया रूप मशीन 2 । अब प्रत्येक मशीन में सभी पैकेज हैं जो पहले केवल दूसरे पर थे।


यह संस्करण शामिल करने के लिए बहुत अच्छा होगा ... मशीन 1 ने संस्करण वापस लिया हो सकता है, उदाहरण के लिए और मशीन 2 को प्रतिबिंबित करना चाहिए कि
रोंडो

उदाहरण के लिए, एप्टीट्यूड -F "% c% p% V" - खोज-स्तंभों की खोज '! ~ M ~ i' | awk -f "" '{प्रिंट "apt-get -y" $ 2 "स्थापित =" $ 3}'> aptshell.sh
रोण्डो

2

यह एक पुराना प्रश्न है, लेकिन चूंकि किसी ने भी यह नहीं कहा है, आप संभवतः dpkg और cron के साथ कुछ कर सकते हैं। एक क्रॉन जॉब सेट करें जो गेट-सिलेक्शन और dpkg के सेट-सेलेक्शन कमांड के साथ कुछ चतुर करता है।

dpkg --set-selections < ~/Dropbox/selections.dpkg


dpkg --get-selections > ~/Dropbox/selections.dpkg

यह एक प्रस्तावित समाधान नहीं है, आपको यह सुनिश्चित करने के लिए किसी तरह से काम करना होगा कि जब भी आप कंप्यूटर में बदलाव करते हैं, तो selections.dpkg अपडेट हो जाता है ...


2

उबंटू सॉफ्टवेयर सेंटर में कई कंप्यूटरों में स्थापित पैकेजों को सिंक करने की सुविधा है। यह पैकेज बचाने के लिए आपके उबंटू वन खाते का उपयोग करता है। बस File > Sync Between Computers...अपने Ubuntu One खाते के साथ चयन करें और लॉगिन करें ।

उबंटू सॉफ्टवेयर सेंटर के साथ संकुल सिंक्रनाइज़ करना

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


-2

आप पैकेज इंस्टॉल को सिंक करने के लिए ड्रॉपबॉक्स का उपयोग नहीं कर पाएंगे।

सिनैप्टिक में पैकेज डाउनलोड सूची को सहेजने का एक तरीका है, लेकिन मुझे यकीन नहीं है कि यह "सब कुछ जो कभी स्थापित किया गया है" के मामले को संभालता है, न कि केवल "इन पैकेजों को मैं इस बार डाउनलोड करना चाहता हूं"


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