Computer >> कंप्यूटर >  >> सॉफ्टवेयर >> आभासी मशीन

वर्चुअलबॉक्स अतिथि परिवर्धन संकलन त्रुटियां - कैसे ठीक करें

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

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

अभी समस्या है

आइए एक CentOS वर्चुअल मशीन के साथ प्रदर्शित करें। आपके पास सभी आवश्यक निर्माण उपकरण हैं, और हमने यह अभ्यास पहले भी कई बार किया है, जिसमें वह समय भी शामिल है जब हमने इस ऑपरेटिंग सिस्टम के लिए एनवीडिया ड्राइवरों को सेटअप करने का प्रयास किया था। यहां भी यही कवायद लागू होती है। लेकिन भले ही आप अन्य डिस्ट्रोज़ चला रहे हों, फिर भी, संकलन करने में सक्षम होने के लिए सही उपकरण और सॉफ़्टवेयर प्राप्त करने की प्रक्रिया बहुत समान है। एक बार जब आप इसे लटका लेते हैं, तो यह आसान है। हालाँकि, मॉड्यूल बनाते समय (<माउंट>/VBoxLinuxAdditions.run), कमांड विफल हो जाता है:

वर्चुअलबॉक्स अतिथि परिवर्धन कर्नेल मॉड्यूल का निर्माण
वर्तमान चल रहे कर्नेल के शीर्षलेख नहीं मिले। यदि
निम्नलिखित मॉड्यूल संकलन विफल रहता है तो यह हो सकता है
कारण। लापता पैकेज शायद साथ स्थापित किया जा सकता है
यम कर्नेल-डेवेल स्थापित करें -...

मुख्य अतिथि परिवर्धन मॉड्यूल बनाना                [विफल]
(यह जानने के लिए /var/log/vboxadd-install.log देखें कि क्या गलत हुआ)

लेकिन अगर आप कथित रूप से लापता पैकेज को स्थापित करने का प्रयास करते हैं:

पैकेज कर्नेल-डेवेल -... पहले से स्थापित और नवीनतम संस्करण
करने के लिए कुछ नहीं

समाधान

हमें लॉग्स से परामर्श करना चाहिए, और यह एक महान समस्या निवारण अभ्यास है, जो आपको अपने लिनक्स समस्या निवारण कौशल को सुधारने में मदद करेगा, यहाँ Dedoimedo पर अंतिम मिशन है। लॉग फ़ाइल खोलें, और अंदर झलकें। आपको आखिरी त्रुटि के साथ नीचे से ऊपर तक शुरू करना चाहिए और यह पता लगाने की कोशिश करनी चाहिए कि क्या हुआ। अधिक उल्लेखनीय त्रुटियों में से एक होगी:

त्रुटि:आपके वर्तमान लिनक्स कर्नेल के स्रोतों को खोजने में असमर्थ। KERN_DIR= निर्दिष्ट करें और मेक को फिर से चलाएँ। विराम।

दिलचस्प। ऐसा लगता है कि वर्चुअलबॉक्स वास्तव में हमारे कर्नेल स्रोतों को नहीं देखता है। आइए फिर ठीक करें, और फिर यह देखने के लिए कमांड चलाएँ कि क्या हमने उस समस्या को ठीक कर दिया है जिसका हम सामना कर रहे हैं।

निर्यात KERN_DIR=/usr/src/kernels/`uname -r`

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

ग्रेप:/lib/मॉड्यूल/3.10.0-123.20.1.el7.x86_64/build/include/
linux/version.h:ऐसी कोई फ़ाइल या निर्देशिका

नहीं

यह लगभग एक अजीब बग जैसा लगता है, क्योंकि हम जानते हैं कि yum कमांड रिटर्न के रूप में हमारे पास हेडर हैं। यदि हम चल रहे कर्नेल के लिए मैन्युअल रूप से /lib/मॉड्यूल निर्देशिका में cd करते हैं, तो हम देख सकते हैं कि हम वास्तव में एक टूटे हुए प्रतीकात्मक लिंक का सामना कर रहे हैं।

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

सीडी / लिब / मॉड्यूल / 'अनाम -आर' /
ln -sf /usr/src/kernels/3.10.63-11.el7.x86_64 बिल्ड

अब, सांकेतिक कड़ियों को ठीक कर दिया गया है:

और हम ख़ुशी से संकलित कर सकते हैं:

निष्कर्ष

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

हमारे मामले में, एक बुरी तरह से लागू किया गया सांकेतिक लिंक हमारी सभी समस्याओं का स्रोत [sic] है। इसका कारण, मैं निश्चित नहीं हूँ, या यह क्यों बदला है, लेकिन हो सकता है कि कुछ स्थापित पैकेजों ने इसे बदल दिया हो, या सिस्टम में कुछ ने गलत व्यवहार करने का निर्णय लिया हो। महत्वपूर्ण बिट यह है कि हम कार्य प्रवाह को समझते हैं, और हम इसे वापस ट्रेस कर सकते हैं और समस्या को ठीक कर सकते हैं। बहुत बढ़िया सही? खैर, यह हमारे गाइड को पूरा करता है। आनंद लेना।

प्रोत्साहित करना।

  1. Adobe_air.dll त्रुटियां कैसे ठीक करें

    Adobde_air.dll एक गतिशील लिंक लाइब्रेरी फ़ाइल है जो सीधे Adobe Air से जुड़ी हुई है, और क्योंकि यह एक गतिशील लिंक लाइब्रेरी फ़ाइल है, इसका मतलब है कि इसका एक विशिष्ट कार्य है। यह फ़ाइल Adobe पैकेज में कई अलग-अलग घटकों को एक साथ काम करने की अनुमति देती है, यह विशेष रूप से महत्वपूर्ण है क्योंकि यदि एक

  1. DDraw.dll त्रुटियाँ कैसे ठीक करें

    डायरेक्टएक्स DDraw.dll फ़ाइल एक डायनेमिक लिंक लाइब्रेरी फ़ाइल है जो DirectX प्रोग्राम से जुड़ी है, और यह विशिष्ट फ़ाइल मल्टीमीडिया अनुप्रयोगों को 2D ग्राफ़िक्स बनाने की अनुमति देती है। हालांकि कई लोगों के लिए जो विभिन्न प्रकार के मल्टीमीडिया बनाने के लिए DirectX प्रोग्राम का उपयोग करते हैं, उन्होंन

  1. वर्चुअलबॉक्स में डिस्क क्लोन कैसे करें - ट्यूटोरियल

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