कॉन्फिग फाइल को कई पीसी में सिंक किया जाता है


15

मेरे पास कुछ अलग लिनक्स मशीनें हैं और प्रत्येक पर बहुत सारी कॉन्फिग फाइलें (और फ़ोल्डर्स) हैं।

उदाहरण के लिए:

~/.ssh/config
~/.config/openbox/rc.xml
~/.config/openbox/autostart.sh
~/.scripts/ ( folder )
~/.bashrc
...etc

क्या इन मशीनों को मेरी मशीनों के बीच सिंक करने के लिए एक सरल और सुरुचिपूर्ण विधि है (किसी में इंटरनेट नहीं है) ?

इसके अलावा, कुछ फ़ाइलों को अधिक उन्नत सिंक्रनाइज़ेशन प्रक्रिया की आवश्यकता होगी, क्योंकि उन्हें थोड़ा अलग करना होगा ... उदाहरण के लिए:

मेरे डेस्कटॉप कीबोर्ड में हॉटकीज़ की एक श्रृंखला है, जहाँ मेरे लैपटॉप में लगभग कोई नहीं है। मैं XF86Mailअपने डेस्कटॉप पर थंडरबर्ड खोलने के लिए उपयोग करता हूं, लेकिन मेरे लैपटॉप पर Meta+ M

मेरा होम डेस्कटॉप और वर्क डेस्कटॉप दोनों अधिक "मल्टीपल यूजर" हैं, जहां मेरा लैपटॉप सिर्फ मेरे लिए है। इसलिए अपने लैपटॉप पर, मैं 'rc.xml' फ़ाइल को ओपनबॉक्स के लिए, /etc/xdg/openbox/rc.xmlलेकिन डेस्कटॉप पर रखता हूँ~/.config/openbox/rc.xml

जवाबों:


10

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

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

मशीनों के बीच अंतर करने की आवश्यकता वाली फाइलों को प्रबंधित करना हमेशा थोड़ा दर्द होता है। यदि कॉन्फ़िगरेशन भाषा सशर्त अनुमति देती है, तो उनका उपयोग करें। अन्यथा, यदि कोई शामिल तंत्र है, तो इसका उपयोग कॉन्फ़िगरेशन फ़ाइल को मशीन-निर्भर भाग और एक साझा भाग में विभाजित करने के लिए करें। सभी मशीन-निर्भर भागों को एक अलग निर्देशिका (कुछ ऐसा ~/.local/NAME/) में रखें, जिसे हमेशा एक प्रतीकात्मक लिंक ( ~/.here-> local/NAMEप्रत्येक मशीन पर) के माध्यम से संदर्भित किया जाता है । मेरे पास कुछ फाइलें हैं जो मशीन-विशिष्ट भाग में रखे गए मापदंडों से साझा हिस्से में एक स्क्रिप्ट द्वारा उत्पन्न होती हैं; यह एक GUI कॉन्फ़िगरेशन इंटरफ़ेस के माध्यम से अप्रत्यक्ष रूप से इन फ़ाइलों को संशोधित करता है। चीजों को कॉन्फ़िगर करने से बचें /etc, मशीनों के बीच तालमेल बिठाना कठिन है।


मैं gitइस उद्देश्य के लिए उपयोग करता हूं । मेरे लिए मेरा रेपो~/.etc भी एक है ~/.usrऔर ~/.varमेरी इच्छा है कि ये निर्देशिकाएं मानक थीं, इसलिए केडीई .kde के तहत सभी tmp / var / config / etc फाइलें फेंकना बंद कर देगा। मेरे होम डायरेक्टरी में यह जानना कठिन है कि मुझे क्या चाहिए।
ज़ेनोटेरैसाइड

5

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

उनकी मुफ्त मूल योजना 2GB है, इसलिए मैं इसका उपयोग अपनी कॉन्फ़िगरेशन फ़ाइलों और चैट लॉग्स को वर्जन करने के लिए करता हूं


यहाँ जो प्रमुख लाभ मुझे दिखाई दे रहा है, वह यह है कि सेटअप करना बहुत आसान है।
आशीष कुमार सिंह

3

कठपुतली और Cfengine फ़ाइलों को सिंक्रनाइज़ करने के लिए दो अच्छे उपकरण हैं (और भी बहुत कुछ ..)


वहाँ भी शेफ है, लेकिन ये उपकरण वास्तव में बड़ी संख्या में मशीनों के प्रबंधन के लिए हैं, शायद 2 या 3 सिस्टम के लिए
ओवरक्लिल

1

आज, एक के साथ पहले (DVCS) का सबसे अच्छा और दूसरा (ड्रॉपबॉक्स) जवाब मिल सकता है sparkleshare , जो पर्दे के पीछे Git आधारित भंडारण के साथ एक ड्रॉपबॉक्स की तरह उपयोगकर्ता अनुभव प्रदान करता है।

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