ไม่มีไดเรกทอรีของเคอร์เนล แต่มีการติดตั้งส่วนหัวของเคอร์เนล


19

โฮสต์ - Windows 7

แขก - CentOS

ฉันพยายามที่จะติดตั้งkernel-headersใช้yumตั้งแต่ระหว่างการติดตั้งของvmware-toolsฉันได้รับข้อความขอเส้นทางไปยังส่วนหัวของไฟล์เคอร์เนลสำหรับ 3.10.0-229.7.2.e17.x86_64

เล่นyum install kernel-headersผลตอบแทนแพคเกจเคอร์เนลส่วนหัว 3.10.0-229.7.2.e17.x86_64 ติดตั้งแล้วและรุ่นล่าสุด แต่ไดเรกทอรี/usr/src/kernelsว่างเปล่า

มีการติดตั้งส่วนหัวเคอร์เนลที่อื่นหรือไม่? หรือฉันควรจะขอyumให้ติดตั้งอย่างอื่น?

พา ธ ไปยังเครื่องมือ vmware สำหรับส่วนหัวเคอร์เนล

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 และสิ่งที่มันรายงานกลับมา
Jeff Schaller

คำตอบ:


8

แพคเกจที่ถูกต้องในการติดตั้งการพึ่งพาที่จำเป็นทั้งหมดสำหรับการสร้างโมดูลเคอร์เนลคือkernel-devel(ดูเอกสารประกอบ CentOSสำหรับข้อมูลเพิ่มเติม)

ไม่ได้ติดตั้งส่วนหัว/usr/src/kernelsแต่จะติดตั้งในส่วนของไดเรกทอรีด้านล่าง/usr/include(ตำแหน่งเริ่มต้นสำหรับไฟล์ส่วนหัว C) คุณสามารถแสดงรายการเนื้อหาของkernel-headersแพ็คเกจที่ติดตั้งโดยใช้:

rpm -ql kernel-headers

นั่นมัน ฉันมาที่หน้าว่าก่อนหน้านี้ แต่ผิดว่ามันเป็น "ถ้าคุณไม่จำเป็นต้องมีแหล่งที่มาใช้เต็มรูปแบบเคอร์เนล devel" ขอบคุณ
Kvothe

23

ฉันมีปัญหาเดียวกัน หลังจาก googling มากวิธีนี้เหมาะสำหรับฉัน ก่อนกำหนดรุ่นเคอร์เนลที่ติดตั้งแล้วใช้รุ่นที่แน่นอนนั้นเพื่อติดตั้งแพคเกจส่วนหัวเคอร์เนล

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

สิ่งนี้ใช้ได้กับการกำหนดค่า Surface Book & VMWare
ThinkCode

ทำงานบน centos 7 ใช้เวลากว่าสองชั่วโมงก่อน .. ขอบคุณ!
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 เครื่องมือติดตั้งโดยไม่ต้องยุ่งยาก


2

ฉันมีปัญหาเดียวกันทุกประการ

ในกรณีของฉันฉันต้องลบ kernel-dev * et ติดตั้งอีกครั้ง:

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

0

ฉันเชื่อว่าฉันพบวิธีแก้ไขปัญหานี้

ฉันอ่านคำแนะนำ (แม้ในเว็บไซต์ของ VMWare) ที่แนะนำให้ติดตั้ง open-vm-tools ซึ่งต่างจากเครื่องมือของ VMWare

yum install open-vm-tools

มีข้อควรระวังบางประการหลังจากติดตั้งอย่าลืมรีบูตเครื่องเสมือน

นอกจากนี้แทนที่จะเป็นเครื่องหมายถูกสีเขียวที่มักแสดงเป็น vSphere แต่จะแสดงเป็นสีเทา "?" แต่ไม่ทราบว่าเครื่องมือกำลังทำงานอยู่และแสดงที่อยู่ IP และระบบปฏิบัติการที่ใช้งานอยู่รวมถึงหน้าจอ "กำลังทำงาน (บุคคลที่สาม / อิสระ)"

หวังว่านี่จะช่วยใครซักคน ฉันใช้เวลาสองวันในการนี้และในที่สุดก็พบคำตอบนี้และมันก็ใช้ได้กับฉันโดยใช้ ESXi 5.1 และ vCenter ด้วย CentOS 7.2 ในฐานะแขกระบบปฏิบัติการ


open-vm-tools ไม่ใช่ทางเลือกสำหรับเครื่องมือ vmware ในบางกรณี เช่น. open-vm-tools ไม่รองรับ hgfs สำหรับการแชร์ไฟล์ระหว่างแขกและโฮสต์ Vmware รองรับ hgfs บน centos 7
Gaurav

0

เพื่อตอบคำถามแหล่งที่มาของเคอร์เนลจะถูกติดตั้งภายใต้ / usr / src / kernels / kernel-devel เป็นแพ็คเกจที่จะติดตั้ง

เพื่อให้การแก้ไขปัญหาสาเหตุของปัญหาคือเคอร์เนลที่ติดตั้งนั้นเก่าและ kernel-devel มีการอัพเดตในที่เก็บ ดังนั้นการติดตั้ง kernel-devel จะติดตั้งแหล่งที่มาของเคอร์เนลที่ใหม่กว่าและด้วยเหตุนี้สคริปต์การกำหนดค่าเครื่องมือ vmware จึงไม่พบแหล่งที่มา มีวิธีแก้ปัญหาสองวิธีที่เป็นไปได้

  1. อัพเดตเคอร์เนลเพื่อให้ทั้งเคอร์เนลและเคอร์เนล - เดวลเป็นของใหม่

    sudo yum upgrade

รีบูตเพื่อให้เคอร์เนลใหม่ถูกโหลดแล้วเรียกใช้สคริปต์กำหนดค่าเครื่องมือ vmware

  1. การอัปเดตเคอร์เนลไม่สามารถทำได้ หากเป็นกรณีนี้ให้ติดตั้งรุ่น kernel-devel ที่เหมือนกับรุ่นเคอร์เนลที่ติดตั้ง

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

0

นี่คือสิ่งที่ใช้ได้กับฉันในการติดตั้ง Minimal-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.