आपके कर्नेल हेडर कर्नेल के लिए 3.10.0-229.el7.x86_64 नहीं मिले


12

जब मैं service vboxdrv setupअपने CentOS 7 टर्मिनल में कमांड टाइप करता हूं, तो मुझे निम्न त्रुटि मिलती है:

Your kernel headers for kernel 3.10.0-229.el7.x86_64 cannot be found  

मैं इस त्रुटि को कैसे हल कर सकता हूं?

जब मैं टाइप करके लॉग फ़ाइल को खोलता हूं vi /var/log/vbox-install.log, तो सामग्री हैं:

Uninstalling modules from DKMS
  removing old DKMS module vboxhost version  5.0.4

------------------------------
Deleting module version: 5.0.4
completely from the DKMS tree.
------------------------------
Done.
Attempting to install using DKMS

Creating symlink /var/lib/dkms/vboxhost/5.0.4/source ->
                 /usr/src/vboxhost-5.0.4

DKMS: add completed.
Failed to install using DKMS, attempting to install without
Makefile:185: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.  Stop.

इस ट्यूटोरियल के निर्देशों का उपयोग करके VirtualBox 5.0.4 को स्थापित करने की प्रक्रिया में त्रुटि हो रही है । संक्षेप में, अभी तक, मेरे पास है:

vi /etc/yum.repos.d/virtualbox.repo

निम्न पाठ जोड़ें, फिर सहेजें और बाहर निकलें:

[virtualbox]
name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - VirtualBox
baseurl=http://download.virtualbox.org/virtualbox/rpm/el/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc

फिर कमांड प्रॉम्प्ट प्रकार पर:

# rpm -Uvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
# yum install gcc make patch  dkms qt libgomp 
# yum install kernel-headers kernel-devel fontforge binutils glibc-headers glibc-devel
...
Complete!  
# cd /usr/src/kernels
# ls -al
total 12
drwxr-xr-x.  3 root root 4096 Sep 25 16:14 .
drwxr-xr-x.  4 root root 4096 Sep 25 14:17 ..
drwxr-xr-x. 22 root root 4096 Sep 25 16:14 3.10.0-229.14.1.el7.x86_64
# export KERN_DIR=/usr/src/kernels/3.10.0-229.14.1.el7.x86_64
# yum install VirtualBox-5.0
...
Complete!  
# service vboxdrv setup
Stopping VirtualBox kernel modules                         [  OK  ]
Uninstalling old VirtualBox DKMS kernel modules            [  OK  ]
Removing old VirtualBox pci kernel module                  [  OK  ]
Removing old VirtualBox netadp kernel module               [  OK  ]
Removing old VirtualBox netflt kernel module               [  OK  ]
Removing old VirtualBox kernel module                      [  OK  ]
Trying to register the VirtualBox kernel modules using DKMSError! echo
Your kernel headers for kernel 3.10.0-229.el7.x86_64 cannot be found at
/lib/modules/3.10.0-229.el7.x86_64/build or /lib/modules/3.10.0-229.el7.x86_64/source.
                                                       [FAILED]
(Failed, trying without DKMS)
Recompiling VirtualBox kernel modules                      [FAILED]
(Look at /var/log/vbox-install.log to find out what went wrong)

की सामग्री के लिए ऊपर देखें vi /var/log/vbox-install.log

जिज्ञासा से बाहर, मैंने देखा /lib/modules/और निम्नलिखित पाया:

[root@localhost kernels]# cd /lib/modules
[root@localhost modules]# ls -al
total 16
drwxr-xr-x.  4 root root 4096 Sep 25 15:58 .
dr-xr-xr-x. 30 root root 4096 Sep 25 16:23 ..
drwxr-xr-x.  7 root root 4096 Sep 25 15:59 3.10.0-229.14.1.el7.x86_64
drwxr-xr-x.  8 root root 4096 Sep 25 16:24 3.10.0-229.el7.x86_64

@ EricRenouf की सलाह के अनुसार, मैंने टाइप किया uname -aऔर टर्मिनल ने उत्तर दिया:

Linux localhost.localdomain 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

मैंने मशीन को रिबूट नहीं किया है, लेकिन ट्यूटोरियल ने रिबूट करने के लिए नहीं कहा।


क्या आपने कुछ बिंदु पर रिबूट किए बिना अपनी कर्नेल को अपडेट किया या ऐसा कुछ? करता है uname -aदिखाने 3.10.0-229.el7.x86_64या 3.10.0-229.14.1.el7.x86_64? मैं अनुमान लगा रहा हूं कि यह पूर्व है, लेकिन बाद के लिए यम ने हेडर लगाए।
एरिक रेनॉफ़

जवाबों:


12

इस सवाल का हल लघु संस्करण होने की संभावना है , चलाया जा रहा है

sudo yum install "kernel-devel-uname-r == $(uname -r)"

आप जिस कर्नेल के वर्तमान में चल रहे हैं, उसके संस्करण के लिए कर्नेल हेडर स्थापित करेंगे।

मुझे संदेह है कि किसी बिंदु पर आपने एक yum updateया समान किया था , और यह वास्तव में एक नया कर्नेल स्थापित किया है, लेकिन आपने अभी तक इसे चलाना शुरू नहीं किया है। शायद यह क्या हो रहा है कि जब आप yum installअपने प्रश्न में चरणों को करते हैं तो यह नवीनतम स्थापित संस्करण को देख रहा है और उसके लिए हेडर प्राप्त कर रहा है। हॉवरवर, जब आप शुरू करते हैं तो vboxdrvयह चालू कर्नेल को देखता है और उसके लिए हेडर खोजने की कोशिश करता है।

आपकी चल रही और स्थापित गुठली सिंक से बाहर हैं (जो आम तौर पर एक बड़ी समस्या नहीं है), लेकिन आपको एक मामला मिला जहां यह मायने रखता है।


मेरे लिए काम नहीं कर रहा है। No package kernel-devel-uname-r == 4.4.193-1.el7.elrepo.x86_64 available.
सादिक uzzoguz

@ Sadik versionzoguz यदि आप कर्नेल का संस्करण चला रहे हैं, तो आप हेडर को अपने लिए इंस्टॉल करना चाहते हैं, तो आप yum install kernel-develशायद यह कोशिश कर सकते हैं कि यह आपके लिए आसान काम करेगा? यदि नहीं, तो आप एक नए प्रश्न के रूप में पूछना चाह सकते हैं (शायद यह एक का हवाला देकर और आपकी स्थिति के बारे में अधिक जानकारी देते हुए)
एरिक रेनॉफ़

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