빈 커널 디렉토리이지만 커널 헤더가 설치되어 있습니다.


19

호스트 -Windows 7

게스트 -CentOS

설치 kernel-headers하는 yum동안 3.10.0-229.7.2.e17.x86_64의 커널 헤더 파일 경로를vmware-tools 묻는 메시지가 표시되어 사용하여 설치하려고합니다 .

실행하면 패키지 kernel-headers-3.10.0-229.7.2.e17.x86_64가 이미 설치되어 있고 최신 버전을yum install kernel-headers 반환합니다 . 그러나 디렉토리 는 비어 있습니다./usr/src/kernels

커널 헤더가 다른 곳에 설치되어 있습니까? 아니면 yum다른 것을 설치 하도록 요청해야 합니까?

커널 헤더 용 vmware-tools에 제공된 경로

Searching for a valid kernel header path...
The path "" is not a valid path to the 3.10.0-229.7.2.e17.x86_64 kernel headers.
Would you like to change it? [yes]

경로를 /usr/include/linux제공하면 동일한 응답이 다시 제공되지만 ""는 제공된 경로로 대체됩니다.


1
rpm -ql kernel-headers; 의 출력을 확인하십시오 . 파일을 / usr / include / linux에 넣었다고 생각하지만 구식이 아닐 수도 있습니다. vmware-tools 설치 프로그램에 제공 한 경로와 다시보고하는 내용을 표시 할 수 있으면 좋을 것입니다.
Jeff Schaller

답변:


8

커널 모듈을 빌드하는 데 필요한 모든 종속성을 설치하는 올바른 패키지는 kernel-devel(자세한 내용은 CentOS 설명서 를 참조하십시오).

헤더는에 설치되지 /usr/src/kernels않고 아래의 여러 디렉토리 /usr/include(C 헤더 파일의 기본 위치)에 설치됩니다. kernel-headers다음을 사용하여 설치 한 패키지 의 내용을 나열 할 수 있습니다 .

rpm -ql kernel-headers

그거였다. 나는 그 페이지에 일찍 도착했지만 " 전체 소스 필요한 경우 kernel-devel"이라고 잘못 읽었다 . 감사합니다
Kvothe

23

나는 같은 문제가 있었다. 많은 인터넷 검색 후이 솔루션은 저에게 효과적이었습니다. 먼저 설치된 커널 버전을 확인한 다음 정확한 버전을 사용하여 커널 헤더 패키지를 설치합니다.

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

이것은 Surface Book & VMWare 구성에서 작동했습니다.
ThinkCode

centos 7에서 작동합니다. 2 시간 전에 보냈습니다. 감사합니다!
h0x91B

마지막으로 ... CentOS7에서 작업했습니다. 감사합니다
VM_AI

효과가있었습니다. 감사. 커널 헤더가이 devel의 일부인지 확실하지 않습니다.
Murali Mopuru

4

CentOS 버전 7에서 커널 헤더 경로는 다음과 같습니다.

/lib/modules/3.10.0-327.36.2.el7.x86_64/build/include

yum install kernel-headers두 번 실행 한 후 (최신 업데이트) 문제가 해결되었습니다. 실행중인 커널 버전과 커널 헤더 버전이 동일한 지 확인하십시오. 내 커널 버전은3.10.0-327.36.2.el7.x86_64


이와 같이 너무 간단한 답변은 더 많은 투표를 받아야합니다.
WesternGun

2

나는 같은 문제가 있었고 위의 해결책이 효과가 없었다. 내가 사용하는 CentOS 7의 빌드 일 수 있습니다.
여기 나를 위해 문제를 해결 한 것이 있습니다 ...

커널 헤더 설치

yum -y install kernel-devel

vmware 도구가 version.h를 찾을 수 있도록 기호 링크 설정

export kernel_headers=`ls -hd /usr/src/kernels/3*`
sudo ln -s ${kernel_headers}/include/generated/uapi/linux/version.h ${kernel_headers}/include/linux/version.h

2

kernel-devel 패키지를 설치했지만 헤더가 인스턴스에서 실행되는 것과 다른 커널 버전에 대한 것으로 나타났습니다. 문제를 해결하기 위해

sudo yum upgrade

다시 부팅 한 다음 vmware-tools를 설치합니다.


2

나는 정확히 같은 문제가 있었다.

내 경우에는 방금 kernel-dev *를 제거하고 다시 설치해야했습니다.

yum -y remove kernel-devel*
yum -y install kernel-devel*

0

나는 이것에 대한 해결책을 찾았다 고 생각합니다.

VMWare 도구와 달리 open-vm-tools 설치를 권장하는 제안을 읽고 있습니다 (VMWare 웹 사이트에서도).

yum install open-vm-tools

물론 설치 후 가상 시스템을 다시 부팅해야합니다.

또한 일반적으로 vSphere에 표시되는 녹색 확인 표시 대신 회색 "?"가 표시됩니다. 그러나 도구가 실행 중임을 인식하고 "실행 중 (타사 / 독립)"디스플레이뿐만 아니라 실행중인 IP 주소 및 OS를 표시합니다.

희망적으로 이것은 누군가를 도울 것입니다. 나는 이것에 이틀을 보냈고 마침내이 대답을 찾았고 CentOS 7.2를 게스트 OS로 사용하여 ESXi 5.1 및 vCenter를 실행하면서 나에게 효과적이었습니다.


open-vm-tools는 특정 경우 vmware 도구의 대안이 아닙니다. 예. open-vm-tools는 게스트와 호스트간에 파일을 공유하기 위해 hgf를 지원하지 않습니다. Vmware는 centos 7에서 hgf를 지원합니다.
Gaurav

0

질문에 대답하기 위해 커널 소스는 / usr / src / kernels /에 설치됩니다. kernel-devel은 설치할 패키지입니다.

문제에 대한 해결책을 제공하기 위해, 문제의 원인은 설치된 커널이 오래되었고 커널 개발에 저장소에 업데이트가 있기 때문입니다. 따라서 kernel-devel을 설치하면 최신 커널 소스가 설치되므로 vmware 도구 구성 스크립트가 소스를 찾지 못합니다. 두 가지 가능한 솔루션이 있습니다.

  1. 커널과 커널 개발이 모두 새롭도록 커널을 업데이트하십시오.

    sudo yum upgrade

새 커널이로드되도록 재부팅 한 다음 vmware 도구 구성 스크립트를 실행하십시오.

  1. 커널 업데이트가 항상 가능한 것은 아닙니다. 이 경우 설치된 커널 버전과 동일한 커널 개발 버전을 설치하십시오.

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

0

이것이 새로운 Minient-Centos 설치에서 나를 위해 일한 것입니다.

sudo yum update
sudo yum upgrade
sudo yum install "kernel-devel-uname-r == $(uname -r)" gcc
./vmware-install.pl
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.