यूनिक्सॉइड डेस्कटॉप को तैनात करने के लिए आपकी सर्वोत्तम प्रथाओं और भविष्य की योजनाएं क्या हैं? [बन्द है]


9

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

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

समस्या

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

मुझे क्या मतलब है के लिए दो छोटे उदाहरण देते हैं:

ifconfigउपकरण के द्वारा बदला जा रहा है ip। पूर्व की उपस्थिति पर भरोसा करने वाली सभी स्क्रिप्ट्स टूट जाएंगी, उदाहरण के लिए, एक मौजूदा आर्कलिंक्स बॉक्स पर। इसलिए, मुझे यह जांचना होगा कि कौन से उपकरण किस संस्करण में एक मशीन पर मौजूद हैं, जिस पर मैं एक स्क्रिप्ट चलाता हूं ... यह किसी भी तरह से छोटे पैमाने पर ऑटोकॉन्फ़ को फिर से स्थापित करने जैसा लगता है।

दूसरी समस्या के लिए, विचार करें कि मैं डेस्कटॉप को "सामान्य पहचान" के कुछ प्रकार देना चाहता था। मेरी पोस्ट-इंस्टाल-कॉन्फिग-स्क्रिप्ट में, मैं इसे प्राप्त करने के लिए निम्नलिखित पंक्तियों का उपयोग करता हूं:

scp user@server:/export/admin/*.jpg /usr/share/backgrounds/
scp user@server:/export/admin/ubuntu-wallpapers.xml /usr/share/gnome-background-properties/
sed 's/warty-final-ubuntu\.png/MyBackground\.jpg/' -i /usr/share/gconf/defaults/10_libgnome2-common
sed 's/warty\-final\-ubuntu\.png/MyBackground\.jpg/' -i /usr/share/gconf/defaults/16_ubuntu-wallpapers
sed 's/ubuntu-mono-dark/ubuntu-mono-light/' -i /usr/share/gconf/defaults/16_ubuntu-artwork
sed 's/Ambiance/Clearlooks/' -i /usr/share/gconf/defaults/16_ubuntu-artwork

मुझे लगता है कि सीआई बनाना संगठनात्मक प्रवेश के लिए एक सामान्य कार्य है। तो, कैसे केंद्रीय विन्यास की कोई सुविधा नहीं है, शायद क्रॉस-डेस्कटॉप भी? दो अलग-अलग कॉन्फिग फाइलों में दो (समान!) अनकंफर्टेबल वैल्यू सेट करने से मुझे अजीब लगता है।

प्रशन

एक संगठनात्मक वातावरण में, आप कई ग्राहकों के बीच केंद्रीय, एकीकृत विन्यास को कैसे संभालते हैं?

क्या डेबियन के एफएआई जैसे सिस्टम "पहले स्थापित करें, बाद में स्क्रिप्ट चलाएं" के मेरे तरीके से अधिक महत्वपूर्ण लाभ (सीडी को बदलने के लिए नहीं होने के अलावा) प्रदान करते हैं?

आपके वितरण के प्रमुख संस्करणों के बीच संक्रमण के लिए अच्छे अभ्यास क्या हैं? और, तकनीकी सामानों के अलावा: क्या एक डेस्कटॉप वातावरण है जो उपयोगकर्ता अनुभव के संबंध में दीर्घकालिक स्थिरता का वादा करता है? मुझे नहीं लगता कि मैं अपने उपयोगकर्ताओं को KDE 4 या GNOME 3 पर माइग्रेट कर सकता हूं, लेकिन XFCE में अभी भी कुछ कार्यात्मक कमियां हैं ...

क्या एक * निक्स प्रणाली है जो इस प्रकार के कॉन्फ़िगरेशन मुद्दों को स्वीकार करती है? उदाहरण के लिए, मुझे लगता है कि ऐसी प्रणालियाँ हैं जो आपसे आपके संगठन (लोगो, पृष्ठभूमि चित्र, रंग और फ़ॉन्ट सेट आदि) के कुछ इमेजरी के लिए पूछती हैं और उन्हें लॉगिन प्रबंधक, उपयोगकर्ताओं के डेस्कटॉप, वेब ऐप (!) पर लागू करती हैं। पर। नोट: हमारे मामले में, मुझे वसा ग्राहकों के साथ काम करना है, इसलिए शुद्ध रूप से पतले-ग्राहक समाधान मदद नहीं करेगा।

जवाबों:


3

कठपुतली या CFEngine या बावर्ची का उपयोग करना आपकी समस्या का सही समाधान है। निश्चित रूप से यह पपेट स्क्रिप्ट लिखने के लिए कुछ समय और परीक्षण और त्रुटि दृष्टिकोण का उपभोग करेगा जो सिर्फ काम करता है। ये उपकरण व्यापक रूप से क्लाउड पर जटिल प्रतिष्ठानों को स्वचालित करने के लिए उपयोग किए जाते हैं और हमारे जैसे प्रवेशकों के जीवन को सरल बनाते हैं। :)


संकेत के लिए धन्यवाद! जैसा कि मैंने पहले मैक्समेकी से पूछा है, क्या कठपुतली मेरे वितरण के प्रमुख संस्करणों के बीच स्विच करते समय नियमों को फिर से लिखने के संबंध में किसी भी प्रकार की "केंद्रीकृत, भीड़ वाली बुद्धि" प्रदान करता है? उदाहरण के लिए, अगर मुझे गनोम 2 से 3 में $ DISTRO स्विच पता है, तो क्या कोई अर्ध-स्वचालित माइग्रेशन पथ होगा?
jstarek

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

3

सबसे पहले, उम्मीद न करें कि यह कई वितरणों के साथ काम करने में आसान होगा।

मैंने बड़े डेस्कटॉप रोलआउट नहीं चलाए हैं। मेरे लिए सबसे अच्छा Tradeoff सिस्टम को बूट करने के लिए LAN बूट / tftp का उपयोग कर रहा था, फिर NFS पर इंस्टॉल रन कर रहा था। अधिकांश लिनक्स डिस्ट्रो आपके सामने के सभी शुरुआती कॉन्फिगरेशन के लिए पूछते हैं - फिर आप इंस्टॉलर को चलाने के लिए छोड़ सकते हैं, 40 मिनट कह सकते हैं, अनअटेंडेड (नहीं "क्या आप वास्तव में इस प्रोग्राम को चलाना चाहते हैं?" संकेत देता है)। उस समय मैं Redhat और Suse मशीनों की देखरेख कर रहा था - और एक RPM था जो सभी कस्टम कॉन्फिग्स के साथ पहले से लगा हुआ था, जिसे मैंने स्टैंडर्ड इंस्टॉलेशन पूरा होने के बाद इंस्टॉल किया था। हालाँकि यह काफी संभव है कि विभिन्न विकृतियों पर इस सब को स्वचालित कर सके ।

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


लैंडस्केप की साइट को देखते हुए, मुझे आभास होता है कि यह कॉन्फिग फाइल एंट्रीज़ को हैंडल नहीं करता है - तो, ​​क्या मैं उन स्थानीय पैकेजों को बनाऊँगा जो मुझे इंस्टालेशन के लिए आवश्यक बदलाव चाहिए?
jstarek

1

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

यह एक व्यापक दृष्टिकोण है कि यह कैसे काम करता है। मान लीजिए कि आपके प्रबंधित नेटवर्क पर आपके पास 4 कंप्यूटर हैं। उन सभी को एक फ़ाइल की आवश्यकता है /etc/syslog.conf, जो रूट के स्वामित्व में है, सभी समान (एक मास्टर के अनुसार) और chmod 777। आप CFEngine की कॉन्फ़िगरेशन फ़ाइल में यह नियम बनाएंगे। आपके केंद्रीय कंप्यूटर से, आपके पास "मास्टर" /etc/syslog.confफ़ाइल है। हर X मात्रा में, आपके कंप्यूटर का CFEngine संस्करण नेटवर्क के माध्यम से जाएगा और प्रत्येक बॉक्स के बारे में पूछेगा /etc/syslog.conf। प्रत्येक ग्राहक पर चलने वाली CFEngine की स्थानीय प्रतिलिपि प्रश्न में फ़ाइल को क्वेरी करेगी और वापस इसकी सामग्री, अनुमतियाँ आदि की रिपोर्ट करेगी, यदि वे आपके कोस्टर कॉपी से बिल्कुल मेल नहीं खाते हैं, तो CFEngine आपकी कॉपी को क्लाइंट को धक्का देगा और फ़ाइलों की फिर से जाँच करेगा। वे मेल खाएंगे और वह आपके अगले नियम पर आगे बढ़ेगा।

सादगी के लिए, CFEngine के "नियमों" (जिसे वे वादे कहते हैं) में इस्तेमाल किया गया वाक्यविन्यास थोड़ा उपयोग करने में सक्षम हो सकता है, लेकिन वे सीखने लायक हैं (आपके कौशल में एक और महान कौशल जोड़ता है)।


संकेत के लिए धन्यवाद, मैं CFEngine पर एक नज़र डालूँगा। हालाँकि, अब तक मैंने इसके बारे में जो पढ़ा है, उससे लगता है कि यह मेरे डिस्ट्रो के एक नए प्रमुख संस्करण पर स्विच करते समय नियमों को फिर से लिखने से नहीं बचाएगा?
jstarek

1

तो, कैसे केंद्रीय विन्यास सुविधा नहीं है,

गनोम के पास GConf है जो ऐसे सभी छोटे कार्य कर सकता है:

http://wiki.novell.com/index.php/Locking_Down_the_GNOME_Desktop

http://library.gnome.org/admin/system-admin-guide/stable/gconf-9.html.en

उबंटू LTS डेस्कटॉप पर दीर्घकालिक समर्थन के लिए लगभग एकमात्र विकल्प है।

कई मशीनों को तैनात करना केवल एक सरल के साथ लगभग संभव है dd, डेस्कटॉप वितरण धीरे-धीरे इसे कम आकर्षक मार्ग बना रहे हैं।

अब एक विकल्प पर भी विचार करें जो तथाकथित मोटा ग्राहक है


मैं पहले से ही वसा ग्राहकों का उपयोग कर रहा हूं, लेकिन इससे कॉन्फ़िगरेशन आसान नहीं हो जाता है - वे सिर्फ एक केंद्रीय सर्वर से होमरिड और पासवार्ड जानकारी प्राप्त करते हैं। यदि गनोम ने GConf का उपयोग नहीं किया और महत्वपूर्ण कॉन्फिगर फाइल को / usr / share / gconf / डिफॉल्ट्स / में डाल दिया, तो कोई केवल एक सर्वर पर केंद्रीय / आदि / कहीं रख सकता है और मोटे क्लाइंट इसे माउंट कर सकता है, लेकिन GNOME लोग नहीं बेहतर मालूम होते हैं। आह ...
jstarek

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