`त्रुटि! Dkms.conf फ़ाइल नहीं ढूँढ सका


42

हाल ही apt-get dist-upgradeमें 12.10 के दौरान मुझे निम्नलिखित त्रुटि मिली:

Setting up linux-headers-3.5.0-19-generic (3.5.0-19.30) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.5.0-19-generic /boot/vmlinuz-3.5.0-19-generic
Error! Could not locate dkms.conf file.
File:  does not exist.

कोई विचार?


मुझे पता है कि यह एक बुरा जवाब है, लेकिन मेरे पास हमेशा यह त्रुटि है, और चीजें ठीक हैं। मुझे लगता है कि dkmsबस डिफ़ॉल्ट सेटिंग्स का उपयोग करता है।
मेज़िन

जवाबों:


28

मुझे लगता है कि कर्नेल उन्नयन पर थोड़ी देर के लिए हो रहा है, इस परिणाम के साथ कि मेरे सभी dkmsड्राइवर कर्नेल-अपग्रेड पर अद्यतन नहीं करते हैं।

सबसे पहले मैं किसी भी संकुल को पुन: कॉन्फ़िगर करके समस्या को हल करने में सक्षम था जो dkmsउन्हें वर्तमान कर्नेल के लिए पुन: उपयोग करने के लिए मजबूर करता था - जैसे यह मेरा AMD वीडियो ड्राइवर था जो विफल (पैकेज == fglrx) था:

sudo dpkg-reconfigure fglrx

कम से कम चालू संस्करण के लिए ड्राइवरों को कॉन्फ़िगर करना होगा।

अंत में मुझे यह बग मिला, जिसमें कुछ चरणों का आप निदान कर सकते हैं: https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/830915

dkms status
ls -R /var/lib/dkms

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

ls -l /var/lib/dkms

मेरे मामले में मेरे पास fglrxइंस्टॉल का एक पुराना संस्करण था जिसे मैंने एक साल पहले कुछ समस्याओं का निदान करने के लिए इस्तेमाल किया था और इसे बस नाम दिया था। इस पुराने cruft को हटाने से समस्या दूर हो गई।

अगर वहाँ कबाड़ है, तो उसे हटा दें (या उस निर्देशिका से बाहर ले जाएँ) - अगर वहाँ मैन्युअल रूप से स्थापित पैकेज है, तो उसे अद्यतन करने, या उसे अनइंस्टॉल करने और बनाए हुए संस्करण का उपयोग करने पर विचार करें।


इसके लिए धन्यवाद, मुझे जो समस्या थी वह nvidia-340ड्राइवर के साथ थी ...
आयनोलेक्सलेक्स

1
मेरे पास एक ही मुद्दा थाanbox
हारून कॉफिल्ड

28

यह आमतौर पर मॉड्यूल के कारण होता है /var/lib/dkmsजिसमें dkms.confउनके स्रोत उपनिर्देशिकाओं के भीतर एक फ़ाइल नहीं होती है - dkmsइस फ़ाइल की अपेक्षा करता है, इसलिए यह गुम होने पर एक त्रुटि की रिपोर्ट करेगा, और फिर कुछ मान्य मॉड्यूल को संकलित करने से चूक सकता है।

अपमानजनक मॉड्यूल को खोजने के लिए, इस लघु स्क्रिप्ट को चलाएं ( लेकेनस्टेन के लिए धन्यवाद ):

for i in /var/lib/dkms/*/[^k]*/source; do [ -e "$i" ] || echo "$i";done

यह किसी भी dkms मॉड्यूल निर्देशिका का उत्पादन करेगा; फिर आप यह तय कर सकते हैं कि उन्हें बनाए गए पैकेज को अनइंस्टॉल करना है, या यदि उन्हें मैन्युअल रूप से स्थापित या नामांकित किया गया है, तो उन्हें कहीं और स्थानांतरित करने या हटाने के लिए।


3
उत्तम। अन्य उत्तर विशिष्ट उदाहरणों पर लागू हो सकते हैं, लेकिन यह बहुत तेज़ी से प्रदर्शित होता है जहां समस्या थी (और यह वास्तव में एक गैर-मुद्दा था, क्योंकि कुछ सॉफ़्टवेयर पुराने प्रतिष्ठानों को एक /var/lib/dkms/*.old निर्देशिका में कॉपी कर रहे थे)।
शुभ अंक

मामले में एनवीडिया अपराधी है जैसे /var/lib/dkms/nvidia/396.24/sourceकि आउटपुट है, जांचें कि पहले से ही नए संस्करण हैं /var/lib/dkms/nvidiaऔर आपत्तिजनक को हटा दें।
फ्लैट्रन

14

मुझे 12.04 LTS के साथ पैक किए गए ओरेकल के ppa से VirtualBox के साथ यह समस्या हुई है:

Error! Could not locate dkms.conf file.
File:  does not exist.

मैंने बैकअप के रूप में / var / lib / dkms की सामग्री को दूसरी निर्देशिका में कॉपी किया, फिर vboxhost निर्देशिका को / var / lib / dkms में हटा दिया;

mkdir ~/backup_dkms
cp -r /var/lib/dkms/* ~/backup_dkms 
rm -rf /var/lib/dkms/vboxhost

मैंने फिर वर्चुअलबॉक्स पैकेज को इस तरह पुन: कॉन्फ़िगर किया:

sudo dpkg-reconfigure virtualbox-4.2

और यह करने में सफल रहा:

   * Trying to register the VirtualBox kernel modules using DKMS

1
बस sudo dpkg-reconfigure virtualbox-4.2काम किया। धन्यवाद
सेर्गेई

11

मैं भी लंबे समय से इस समस्या से पीड़ित था। मुझे कर्नेल अद्यतन और पुनः आरंभ करने के बाद हर बार NVIDIA ड्राइवर को फिर से स्थापित करना होगा। हाल ही में, मैंने इस समस्या पर ध्यान देना शुरू किया। वास्तव में, मेरी समस्या यह है कि एक ही उपसर्ग nvidia-के साथ कई मॉड्यूल फ़ोल्डर हैं /usr/src/और विभिन्न संस्करणों के तहत कई फ़ोल्डर हैं /var/lib/dkms/nvidia। पुराने संस्करणों को हटाने के बाद, दोनों निम्नलिखित आदेश देते हैं

    dkms status
    dkms autoinstall

काम किया।


यह मेरे लिए काम करता है, लेकिन मुझे करना था apt-get install --reinstall dkmsऔर dkms autoinstallआपके तरीके का उपयोग करने के बाद ... और फिर nvidia ड्राइवर स्थापित करें ...
Milor123

केवल इस समाधान ने मदद की -
सुडो के

0

यह मेरे साथ एक बार Nvidia ड्राइवर के साथ Red Hat 7.5 वर्कस्टेशन पर हुआ था। मुझे पता है कि यह उबंटू नहीं है, लेकिन यह किसी की मदद कर सकता है ...

Nvidia फ़ाइलों को dkms से निकालें और फिर dkms को पुनर्स्थापित करें:

rm -rf /var/lib/dkms/nvidia
yum reinstall dkms

फिर एनवीडिया ड्राइवर को फिर से इंस्टॉल करें

./NVIDIA-installer.bin --dkms
reboot

चेतावनी, यह मेरे लिए काम करता है लेकिन चीजों को करने का सही तरीका नहीं हो सकता है।


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