커널 3.10.0-229.el7.x86_64에 대한 커널 헤더를 찾을 수 없습니다


12

service vboxdrv setupCentOS 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? 나는 그것이 전자라고 생각하지만 yum은 후자를 위해 헤더를 설치했습니다.
Eric Renouf

답변:


12

해결책은 이 질문 에서 짧은 버전 인 것으로 나타났습니다 .

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

현재 실행중인 커널 버전의 커널 헤더가 설치됩니다.

어느 시점에서 당신은 yum update또는 비슷한 것을했고 실제로 새로운 커널을 설치했다고 생각하지만 아직 실행하지 않았습니다. 아마도 일어나고있는 일은 yum install질문 의 단계 를 수행 할 때 최신 설치 버전을보고 헤더를 얻는 것입니다. Howerver는 시작할 때 vboxdrv실행중인 커널을보고 해당 헤더를 찾습니다.

실행중인 커널과 설치된 커널이 동기화되지 않았지만 (일반적으로 큰 문제는 아님) 중요한 경우를 발견했습니다.


나를 위해 작동하지 않습니다. No package kernel-devel-uname-r == 4.4.193-1.el7.elrepo.x86_64 available.
Sadik Özoguz

@ SadikÖzoguz 커널 버전을 실행하고 있다면 헤더를 설치하고 싶을 yum install kernel-devel수도 있습니다. 그렇지 않다면, 새로운 질문을하려고 할 수도 있습니다 (아마이 질문을 인용하고 현재 상황에 대한 자세한 정보를 제공 할 것입니다)
Eric Renouf

나는 새로운 질문을 할 것이다.
Sadik Özoguz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.