काम करने के लिए छात्रों के लिए लिनक्स वर्चुअल मशीन वितरित करना चाहते हैं


25

मेरे पास मैक और विंडोज चलाने वाले छात्र हैं। हर सेमेस्टर में, टूल "X" को कैसे स्थापित किया जाए, इस बारे में हमेशा बहुत सारे सवाल होते हैं। मैं एक एकल लिनक्स वर्चुअल मशीन बनाना चाहता हूं (मैंने वर्चुअलबॉक्स की कोशिश की है) और छवि को वितरित करता हूं। इस तरह, सभी उपकरण पूर्वस्थापित हैं, और हर कोई लिनक्स का उपयोग कर रहा है।

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


13
वर्चुअलबॉक्स आपको एक उपकरण निर्यात करने की अनुमति देता है । उस फ़ाइल को किसी भी वर्चुअलाइजेशन सॉफ़्टवेयर (VMWare, Virtualbox आदि) में आयात किया जा सकता है और स्थानीय हार्डवेयर में कॉन्फ़िगर किया जा सकता है। ऐसा लगता है कि आप क्या पूछ रहे हैं। एक एकल इंस्टॉलर संभव नहीं है, क्योंकि आप उसी प्रोग्राम को वंडो (.exe) और मैक (.app) पर नहीं चला सकते हैं।
17

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

आप किसी भी वर्चुअल मशीन को Virtualbox में एक उपकरण के रूप में सहेज सकते हैं। बस करें: फ़ाइल -> निर्यात उपकरण Ctrl + E
जाइंटट्री

कुछ वैगरेंट को एक समाधान के रूप में सुझा रहे हैं क्योंकि फ़ाइल आकार आपके उपकरण फ़ाइल के डाउनलोड के दौरान एक समस्या हो सकती है। सच कहा जाए, यदि आप एक न्यूनतर वातावरण स्थापित करते हैं और आभासी एचडी बनाते समय पतले प्रोविजनिंग का उपयोग करते हैं, तो आप बहुत ही सक्षम 100 एमबी या उससे कम फ़ाइल के साथ समाप्त हो सकते हैं। बस इसे जोड़ना चाहते थे क्योंकि वहाँ कोई और इसे संबोधित नहीं करता था।
गेरुता

1
@gronostaj: लगता है कि इस गरीब VM मैट्रिक्स में फंस गया! : ओ
ज़ैबिस

जवाबों:


24

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

उस ने कहा, आप यह पूछें:

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

DevOps में वीरता

मुझे यह भी निश्चित नहीं है कि आप क्या सिखा रहे हैं या कर रहे हैं या आप अपने छात्रों से इस पूरे अभ्यास से बाहर निकलने की क्या उम्मीद करते हैं, लेकिन बहुत सारी चिंताएँ आप देवो (विकास और संचालन) के दायरे में हवा दे रहे हैं और आप चाहते हो सकते हैं उस अवधारणा को अपनी शिक्षाओं में मिलाने पर विचार करें।

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

तो आपके लिए मेरी सिफारिश यह है कि छात्रों को आप द्वारा सेटअप किए गए वर्चुअलबॉक्स OVA का उपयोग करने के लिए दृढ़ता से अनुशंसा करें, लेकिन छात्रों को केवल अपने दम पर उपकरण स्थापित करने की अनुमति देने के लिए खुला होना चाहिए। मेरा पेट मुझे 95% बताता है - और अधिक छात्रों को खुशी से और आसानी से वर्चुअलबॉक्स OVA विधि का उपयोग करेगा, लेकिन आप इसे 100% सही होने की उम्मीद नहीं कर सकते।

शायद अंत में आपको पाठ्यक्रम उपकरण के उपयोग के लिए आवश्यकताओं की कुछ आधार रेखा होनी चाहिए और उनके कार्यान्वयन में लचीला होना चाहिए।

उपकरण कैसे उपयोग किए जाते हैं, इसके बारे में लचीले रहें

उदाहरण के लिए, मैं बहुत सारे PHP विकास करता हूं और PHP विकास से संबंधित सिस्टम प्रशासन / DevOps करता हूं। और जब से मैं एक मैक पर हूँ मैं स्थानीय विकास के लिए MAMP का उपयोग करना पसंद करता हूं । लेकिन मैं उन डेवलपर्स के साथ काम करता हूं जो अपने विकास के लिए लिनक्स या विंडोज का उपयोग करते हैं। हेक, कुछ वैगरेंट का उपयोग करते हुए अपनी LAMP विकास की जरूरतों के लिए VirtualBox के साथ मिलकर। और मेरा दृष्टिकोण यह है कि मुझे परवाह नहीं है कि उनका आधार ओएस सेटअप क्या है। जब तक उनके PHP संस्करण उन संस्करणों के साथ इनलाइन है, जो मेरे क्लाइंट उपयोग करते हैं, मैं जो भी हूं ठीक हूं।

कभी-कभी एक डेवलपर बताएगा कि एक बग का कारण क्या है क्योंकि - उदाहरण के लिए- मैंने MAMP पर परीक्षण किया कोड "ऐसा नहीं है" जैसा कि लिनक्स LAMP सेटअप पर होगा। और मैं 100% विश्वास के साथ कहता हूं, कि मैंने हमेशा इस मुद्दे को साबित किया है कि आधार ओएस नहीं है, बल्कि पीएचपी कोडिंग ही है।

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


3
सी ++, जावा, डेटा संरचनाओं को पढ़ाना, और यह sysadmin / devops से दूर होने का एक प्रयास है जो मुझे दिलचस्पी नहीं देता है!
डोव

1
@ अच्छी तरह से, अगर ऐसा है, तो एक वर्चुअलबॉक्स OVA का निर्यात करना और अपनी कक्षा के लोगों को वितरित करना सबसे अच्छा तरीका है।
जेकगोल्ड

18

आपको वैग्रांत पर एक नजर डालनी चाहिए ।

Vagrant VirtualBox का समर्थन करता है और आपको निम्न की अनुमति देता है:

बनाएँ और हल्के, प्रतिलिपि प्रस्तुत करने योग्य और पोर्टेबल विकास वातावरण कॉन्फ़िगर करें।

वर्चुअलबॉक्स छवि के एक बड़े निर्यात की तुलना में पाठ फ़ाइलों का एक एकल या गुच्छा साझा करना बहुत आसान होगा । खासकर अगर आप अपडेट को मैनेज करना चाहते हैं।

एक बार VirtualBox और Vagrant एक सरल स्थापित कर रहे हैं:

vagrant up

मर्जी:

एक एकल वैग्रांटफाइल विंडोज या मैक होस्ट की विशिष्टताओं को भी संभाल सकता है।


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

1
आप सही हैं, निर्यात निश्चित रूप से सबसे सीधा और सरल तरीका है। लेकिन जरूरतों के आधार पर, मुझे लगा कि योनि का उल्लेख यहाँ किया जाना चाहिए। बड़ी ओवा फाइलों के अपलोड / डाउनलोड को प्रबंधित करना विशेष रूप से समस्याग्रस्त हो सकता है, यदि अद्यतन प्रति परियोजना के आधार पर किए जाने की आवश्यकता है। दो दृष्टिकोण के बारे में अधिक तुलना यह बहुत अच्छा सूत्र में पाया जा सकता है superuser.com/questions/584100/...
mperrin

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

1
आपके मामले में, निर्यात पर योनि का एक और लाभ आपके छात्रों के लिए प्रोविजनिंग स्क्रिप्ट का निरीक्षण करके छवि को "कैसे" स्थापित और कॉन्फ़िगर करना सीखने की क्षमता है। छवि के इतिहास के माध्यम से जाने से बहुत आसान है।
मेपरिन

8

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

वर्चुअलबॉक्स स्थापित करना काफी तुच्छ है (यह मानते हुए कि आपके पास हार्डवेयर समर्थन है)।

वहाँ कुछ चीजें हैं जो मैं सुझाता हूँ - VM को 32 बिट पर रखें (ताकि आपको होस्ट पर VT-X समर्थन की चिंता करने की आवश्यकता न हो), बड़े 2 OSes पर वर्चुअलबॉक्स स्थापित करने के लिए एक howto बनाना (विंडोज़ सीधी है,) linux को कुछ अतिरिक्त चरणों की आवश्यकता है), और OVF फ़ाइल आयात करना। इसका अर्थ यह भी है कि यदि छात्र vmware प्लेयर या जैसे वे कर सकते हैं का उपयोग करना चाहते हैं। नेटवर्किंग के लिए NAT का उपयोग करें जब तक कि आपको बाहर से सुलभ सर्वर चलाने की आवश्यकता न हो।

यदि प्रदर्शन कोई समस्या नहीं है , तो आप शायद सब कुछ एक QEMU उदाहरण में बंडल कर सकते हैं (वे स्वयं को चलाने के लिए सेट किया जा सकता है) और उपयुक्त स्टार्टअप स्क्रिप्ट। मैं इसे एक अंतिम उपाय मानता हूँ ।

मुझे लगता है कि कई विश्वविद्यालय वास्तव में उपयुक्त उपकरणों ( IIRC stanfords CS 50 d oes) के साथ एक VM की आपूर्ति करते हैं , और edx से एक स्वतंत्र रूप से उपलब्ध कोर्स है), इसलिए यह देखने के लायक हो सकता है कि वे इसे कैसे करते हैं।


3

अधिकांश वर्चुअलाइजेशन तकनीक के विकल्प के रूप में, लिनक्स (जैसे उबंटू) को थंबड्राइव पर स्थापित किया जा सकता है। बहुत ज्यादा हर कंप्यूटर एक थंबड्राइव को बूट करेगा, और अधिकांश आधुनिक इंस्टॉलर बूट समय पर ग्राफिक्स कार्ड / नेटवर्क कार्ड का पता लगाएगा। यदि आप 32-बिट उबंटू स्थापित करते हैं, तो यह लगभग सभी हार्डवेयर पर चलेगा जो लोगों के घर पर होने की संभावना है।

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

वे काफी सस्ते में हो सकते हैं (मुझे पता है कि स्कूल के बजट बहुत सीमित हैं!); मशीन पर किस एप्लिकेशन को चलाया जाएगा, इसके आधार पर, 4 जीबी पर्याप्त होना चाहिए, शायद 8 जीबी।


ग्रेड स्कूल में हर किसी के पास एक लैपटॉप है। मुझे नहीं लगता कि एक USB की आवश्यकता है।
डोव

1

विचार करने के लिए एक और विकल्प। आप कर रहे हैं वास्तव में एक जीयूआई होने उनके बारे में चिंतित नहीं हैं, तो आप की तरह कुछ इस्तेमाल कर सकते हैं terminal.com

आप अपना स्वयं का सार्वजनिक स्नैपशॉट बना सकते हैं और बस अपने छात्रों के लिए उपलब्ध रख सकते हैं। यह वर्चुअलबॉक्स दृष्टिकोण के समान है, लेकिन वीएम को अपनी मशीन पर स्थापित करने के बजाय यह क्लाउड पर किसी और की मशीन पर है।

तब वे सभी की जरूरत है एक पर्याप्त आधुनिक वेब ब्राउज़र है। और अगर वे रुचि रखते हैं तो वे इसे सेट कर सकते हैं ताकि वे एसएसएच / पुट्टी / आदि का उपयोग कर सकें।

उनके आंकड़ों के अनुसार, यदि छात्र माइक्रो उदाहरण (256 एमबी रैम, एक जीबी डिस्क स्थान के एक जोड़े) का उपयोग कर रहे हैं, अगर वे वीएम को रोकते हैं जब वे इसका उपयोग नहीं कर रहे हैं तो उन्हें $ 9 / yr खर्च करना होगा यह 8h / के लिए चल रहा है। दिन। मैं Terminal.com के लिए नहीं बोल सकता, लेकिन मुझे संदेह है कि अगर आपने उनसे संपर्क किया तो वे आपको किसी प्रकार की शैक्षिक छूट प्रदान करने में सक्षम हो सकते हैं।


इसी तरह की सेवा शिक्षकों के लिए [SDF.org] (sdf.org/?join) की मुफ्त सार्वजनिक शेल एक्सेस है। अकसर किये गए सवाल । VM नहीं है, लेकिन यह अभी भी अच्छा है।
एचएसचमले
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.