Порожній каталог ядра, але заголовки ядра встановлені


19

Хост - Windows 7

Гість - CentOS

Я намагаюся встановити, kernel-headersвикористовуючи, yumоскільки під час установки vmware-toolsя отримую повідомлення з проханням про шлях до файлів заголовка ядра для 3.10.0-229.7.2.e17.x86_64 .

Виконується yum install kernel-headersповернення Пакет 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-tools, а також про що він повідомляє.
Джефф Шаллер

Відповіді:


8

Правильний пакет для встановлення всіх необхідних залежностей для побудови модулів ядра є kernel-devel(див. Документацію CentOS для отримання додаткової інформації).

Заголовки не встановлені в /usr/src/kernels, скоріше вони встановлені в ряді каталогів нижче /usr/include(розташування за замовчуванням для файлів заголовків C). Ви можете перелічити вміст встановленого kernel-headersпакету за допомогою:

rpm -ql kernel-headers

Це було все. Я отримав цю сторінку раніше , але неправильно це як «якщо ви дійсно потребуєте повної мірою використовувати джерело ядра-Devel». Спасибі
Квоте

23

У мене була така ж проблема. Після довгого гуглання це рішення спрацювало для мене. Спочатку визначається встановлена ​​версія ядра, а потім використовується саме ця версія для встановлення пакета заголовка ядра.

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

Це працювало над Surface Book & VMWare config.
ThinkCode

Працює на Centos 7, провів понад дві години раніше .. Дякую!
h0x91B

Нарешті .... Працював над CentOS7. Велике спасибі
VM_AI

Це спрацювало. Спасибі. Не впевнений, чи є заголовки ядра частиною цієї розробки.
Муралі Мопуру

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 на відміну від інструментів VMWare.

yum install open-vm-tools

Звичайно, є кілька застережень, після встановлення не забудьте перезавантажити віртуальну машину.

Крім того, тепер замість зеленої галочки, яка зазвичай відображається в vSphere, замість неї відображається сіра "?" але визнає, що інструменти запущені та показує IP-адресу та ОС, що працює, а також дисплей "Запуск (сторона / незалежність)".

Тож сподіваємось, це комусь допоможе. Я витратив на це два дні, і, нарешті, знайшов цю відповідь, і це спрацювало на мене, запустивши ESXi 5.1 та vCenter з CentOS 7.2 як гостьовий оператор.


open-vm-інструменти насправді не є альтернативою інструментам vmware у певних випадках. напр. open-vm-tools не підтримує hgfs для обміну файлами між гостем та хостом. Vmware підтримує hgfs на centos 7.
Gaurav,

0

Щоб відповісти на запитання, джерело ядра встановлюється під / usr / src / kernel /. kernel-devel - це пакет для встановлення.

Щоб вирішити проблему, причиною проблеми є те, що встановлене ядро ​​застаріле, а ядро-devel має оновлення у сховищі. Таким чином, при встановленні kernel-devel встановлюється джерело більш нового ядра, а значить, сценарій конфігурації інструментів vmware не знаходить джерела. Є два можливі рішення.

  1. Оновіть ядро ​​так, щоб і ядро, і ядро-devel були новими.

    sudo yum upgrade

Перезавантажте так, щоб було завантажено нове ядро, а потім запустіть скрипт config vmware tools config.

  1. Оновлення ядра не завжди можливо. У такому випадку встановіть kernel-devel версію, яка є такою ж, як і встановлену версію ядра.

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

0

Це те, що працювало для мене на свіжій установці мінімальних Centos:

sudo yum update
sudo yum upgrade
sudo yum install "kernel-devel-uname-r == $(uname -r)" gcc
./vmware-install.pl
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.