3.10.0-229.el7.x86_64 çekirdeği için çekirdek başlıklarınız bulunamıyor


12

Komutu service vboxdrv setupCentOS 7 terminalime yazdığımda aşağıdaki hatayı alıyorum:

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

Bu hatayı nasıl çözebilirim?

Günlük dosyasını yazarak açtığımda vi /var/log/vbox-install.log, içeriği:

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.

Bu öğreticideki yönergeleri kullanarak VirtualBox 5.0.4'ü yükleme işleminde hata oluşuyor . Özetlemek gerekirse, şu ana kadar:

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

Aşağıdaki metni ekleyin, ardından kaydedin ve çıkın:

[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

Sonra komut istemine şunu yazın:

# 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)

İçeriği için yukarıya bakın vi /var/log/vbox-install.log

Merakla baktım /lib/modules/ve aşağıdakileri buldum:

[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'un tavsiyesine göre, yazdım uname -ave terminal cevap verdi:

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

Makineyi yeniden başlatmadım, ancak öğretici yeniden başlatmayı söylemedi.


Herhangi bir noktada yeniden başlatmadan çekirdeğinizi güncellediniz mi? Does uname -agöstermek 3.10.0-229.el7.x86_64veya 3.10.0-229.14.1.el7.x86_64? Sanırım eski, ama yum ikincisinin başlıklarını yükledi.
Eric Renouf

Yanıtlar:


12

Çözüm, bu sorunun kısa versiyonunun çalıştırılması muhtemeldir.

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

Bu, çalıştırmakta olduğunuz çekirdeğin sürümü için çekirdek başlıklarını yükler.

Bir noktada yum updateya da benzeri bir şey yaptığınızdan ve aslında yeni bir çekirdek kurduğundan şüpheleniyorum , ancak henüz çalıştırmaya başlamadınız. Muhtemelen olan şey, yum installsorunuzdaki adımları uyguladığınızda en son yüklü sürüme bakması ve bunun için üstbilgileri almasıdır. Howerver, başlattığınızda vboxdrvçalışan çekirdeğe bakar ve bunun üstbilgilerini bulmaya çalışır.

Çalışan ve kurulu çekirdekleriniz senkronize değil (normalde büyük bir sorun değildir), ancak bunun önemli olduğu bir durum buldunuz.


Benim için çalışmıyor. No package kernel-devel-uname-r == 4.4.193-1.el7.elrepo.x86_64 available.
Sadik Özoguz

@ SadikÖzoguz çalıştırıyorsanız çekirdeğin sürümünü yüklemek istiyorsanız üstbilgileri sizin için deneyebilir yum install kernel-develbelki sizin için daha kolay çalışır mı? Değilse, yeni bir soru sormayı deneyebilirsiniz (belki de bu soruya atıfta bulunarak durumunuzun ne olduğu hakkında daha fazla bilgi verin)
Eric Renouf

Yeni bir soru soracağım.
Sadik Özoguz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.