आपके लिए एक बल्कि दिलचस्प समस्या है। यह भी काफी जटिल है। मान लें कि आप वर्चुअलबॉक्स को अपने पसंदीदा वर्चुअलाइजेशन टूल के रूप में उपयोग कर रहे हैं। मान लें कि आपको 3D त्वरण के साथ परेशानी हो रही है - काली स्क्रीन और वह सब। जैसा कि आपने मेरे ट्यूटोरियल में देखा, फिक्स रेपो-प्रदान किए गए गेस्ट एडिशन्स का उपयोग करना है। लेकिन यह रेपो सेट, वितरण द्वारा प्रदान किया गया, आधिकारिक ISO द्वारा प्रदान किए गए एडिशन्स के विपरीत, एक शेयर्ड फोल्डर ड्राइवर नहीं रखता है। इसका मतलब है कि आपके पास यह कार्यक्षमता उपलब्ध नहीं है।
चीजों को और भी जटिल बनाने के लिए, मान लें कि आप सामान शेयर करना चाहते हैं। हमने इसके बारे में एक अन्य ट्यूटोरियल में बात की, जिसे उपयुक्त रूप से नेटवर्क और शेयरिंग नाम दिया गया है, लेकिन आप ब्रिज्ड नेटवर्किंग के बजाय NAT का उपयोग कर रहे हैं, इसलिए गेस्ट मशीन किसी भी सामान्य माध्यम से आपके होस्ट से पहुंच योग्य नहीं है। और आप Samba या जैसे का उपयोग नहीं करना चाहते हैं, इसलिए पूरी स्थिति और भी जटिल है। ठीक है, तो मैं आपको दिखाता हूं कि आप NAT का उपयोग करते हुए शेयर्ड फोल्डर्स के बिना होस्ट से गेस्ट में फ़ाइलें कैसे स्थानांतरित कर सकते हैं। कोई इंटरनेट धोखाधड़ी नहीं। हम यह सब स्थानीय रूप से कर रहे हैं। मेरा अनुसरण करें।
समस्या कथन
जैसा कि आप देख सकते हैं, हमारे पास एक मुद्दा है जहां प्रतीत होता है कि हमें नेटवर्क एडाप्टर को ब्रिज करके अपनी मशीन को अधिक दृश्यमान बनाने की आवश्यकता है, जो आप नहीं चाहते हो सकते हैं, खासकर यदि आपके पास एक 'शोर' वाली वर्चुअल मशीन है, साथ ही आपको फ़ाइल शेयरिंग सर्वर और क्या नहीं सेटअप करने की आवश्यकता हो सकती है, जो सभी तुच्छ मात्रा से अधिक काम लेते हैं। दूसरा विकल्प वर्चुअलबॉक्स ISO का उपयोग करना है, इस विशेष मामले में 3D त्वरण को अक्षम करें - जब तक काली स्क्रीन समस्या दूर नहीं हो जाती, लेकिन इसे किसी भी प्रकार की proverbial समस्या पर विचार करें - और फिर हम शेयर्ड फोल्डर्स फीचर का उपयोग कर सकते हैं।
उस विषय पर, यदि आप रेपो पैकेज का उपयोग करते हैं, तो आपके पास अधिकांश सामान होगा - ग्राफिक्स त्वरण, माउस इंटीग्रेशन, स्क्रीन रिसाइज़िंग, क्लिपबोर्ड शेयरिंग, और फिर कुछ - लेकिन फोल्डर्स नहीं। यदि आप मैन्युअल रूप से शेयर्ड फोल्डर को माउंट करने का प्रयास करते हैं, तो आपको कुछ ऐसा मिलेगा:
mount -t vboxsfmount: unknown filesystem type 'vboxsf'
समाधान: पोर्ट फ़ॉरवर्डिंग
वर्चुअलबॉक्स आपको अपने NAT-ed मशीनों के लिए उन्नत नेटवर्क नियम कॉन्फ़िगर करने देता है। सार में, यह आपके राउटर के काम करने के तरीके से अलग नहीं है जब वह स्थानीय IP पते को सार्वजनिक-सामने वाले एक में अनुवाद करता है, और इसके विपरीत। वास्तव में, वर्चुअलबॉक्स यहां आपका राउटर है। हमने इसे डॉकर के साथ भी देखा है, जहां आप होस्ट पोर्ट को कंटेनर पोर्ट पर मैप कर सकते हैं, इसलिए आप प्रभावी रूप से अपने स्थानीय सिस्टम तक पहुंच रहे हैं लेकिन वास्तव में आप एक कंटेनर से जुड़ रहे हैं, या इस मामले में, एक वर्चुअल मशीन।
वैसे भी, अपने वर्चुअल मशीन > Settings का चयन करें। नेटवर्किंग के तहत, नेटवर्क प्रकार NAT के लिए, नीचे की ओर Advanced सेक्शन का विस्तार करें। फिर Port Forwarding पर क्लिक करें। यह एक टेबल खोलेगा जहां आप आवश्यक विवरण दर्ज कर सकते हैं। Host IP - उस इंटरफ़ेस का IP पता जिसे आप उपयोग करना चाहते हैं; आपके पास एक से अधिक हो सकते हैं, लेकिन सबसे आसान समाधान लोकलहोस्ट (127.0.0.1) का उपयोग करना है, क्योंकि यह तब भी काम करेगा जब आपके अन्य इंटरफ़ेस डाउन हों, या आपके होस्ट के बाहर कनेक्टिविटी न हो। Host Port - 'वर्चुअल' पता होगा जिससे आप कनेक्ट करेंगे। उदाहरण के लिए, SSH के लिए, संकेत संकेत, हम पोर्ट 2222 को होस्ट पोर्ट के रूप में मैप कर सकते हैं। इसका मतलब है कि यदि आप इस पोर्ट से कनेक्ट करते हैं, तो आप प्रभावी रूप से टेबल में निर्दिष्ट प्रासंगिक गेस्ट पोर्ट पर गेस्ट IP से कनेक्ट हो जाएंगे। वास्तव में, अन्य दो फ़ील्ड वर्चुअल मशीन जानकारी के लिए हैं, बहुत कुछ जैसे हमने अपने होस्ट के साथ किया था।
SSH के साथ कनेक्ट करें
तो अब हमारे पास वास्तविक कनेक्शन है। आप कह सकते हैं रुको, SSH लिनक्स के लिए है! हां, क्योंकि हमें लिनक्स में एक समस्या है। विंडोज के साथ कोई काली स्क्रीन समस्या नहीं है, इसलिए 3D त्वरण चीज़ + ISO से गेस्ट एडिशन्स ठीक काम करेगा। एर्गो, लिनक्स।
अब हम SSH (पोर्ट 2222 पर) का उपयोग करके अपने होस्ट से गेस्ट से जुड़ सकते हैं। लेकिन निश्चित रूप से, पहला कदम यह सुनिश्चित करना है कि गेस्ट ऑपरेटिंग सिस्टम में openssh-server इंस्टॉल और चल रहा है। हमें यह भी सुनिश्चित करने की आवश्यकता है कि गेस्ट ऐसा फ़ायरवॉल उपयोग नहीं कर रहा है जो आने वाले कनेक्शन को ब्लॉक कर रहा है। अब हम परीक्षण कर सकते हैं कि क्या होता है।
ssh -p 2222 roger@127.0.0.1 The authenticity of host '[127.0.0.1]:2222 ([127.0.0.1]:2222)' can't be established. ECDSA key fingerprint is SHA256:Eq0ow03sffLb7G49e3KNMgMrpVV/8wFfN6uicdxPnEL. Are you sure you want to continue connecting (yes/no)?
लेकिन यह सिर्फ कनेक्टिविटी का परीक्षण करने के लिए है। हमें वास्तव में होस्ट से गेस्ट में फ़ाइलें कॉपी करने के लिए SCP की आवश्यकता है। अब, यहां हमें एक कस्टम पोर्ट भी निर्दिष्ट करने की आवश्यकता है। लेकिन कृपया ध्यान दें: SSH पोर्ट निर्दिष्ट करने के लिए लोअरकेस -p का उपयोग करता है, जबकि SCP पोर्ट नंबर के लिए अपरकेस -P फ्लैग का उपयोग करता है। जाकर पता लगाओ। तो पूरी चीज़ कुछ ऐसी होगी:
scp -P 2222 "file" roger@127.0.0.1:/home/roger/"location"/ "file" 100% 8244KB 135.0MB/s 00:00
निष्कर्ष
मुझे इस तरह के अभ्यास पसंद हैं, क्योंकि वे नवीन और मजेदार हो सकते हैं - जैसे मेरा KVM और ब्रिज्ड नेटवर्क ट्रिक। पहली नज़र में, आप सोच सकते हैं कि आपको ब्रिज्ड नेटवर्किंग का उपयोग करना होगा, Samba या NFS सेटअप करना होगा, या फ़ाइलें ईमेल करनी होंगी, जो थकाऊ हो सकता है। इसके बजाय, हम पोर्ट-फ़ॉरवर्डिंग और SSH के साथ समस्या का समाधान करते हैं, जो दोनों सरल, गैर-घुसपैठ और सेटअप या अक्षम करने में बहुत आसान हैं यदि आवश्यक न हो।
खैर फिर, हमने आज काफी कुछ सीखा - रेपो गेस्ट एडिशन्स में लापता सुविधाओं के बारे में, उन्नत नेटवर्किंग नियमों और पोर्ट फ़ॉरवर्डिंग के उपयोग, SSH और SCP और वे पोर्ट नंबर का उपयोग कैसे करते हैं में सूक्ष्म अंतर, और कुछ अन्य अवधारणाएं। बस इतना ही। याद रखें, समस्याओं को ठीक करने का हमेशा एक साफ तरीका होता है, यदि आप धैर्यवान और व्यवस्थित होने के इच्छुक हैं। ख्याल रखना।
Cheers.