Каков путь к заголовкам ядра, чтобы я мог установить vmware?

82

Я успешно установил комплект VMware на Ubuntu 11.04, но когда я его открываю, он открывает мне это окно

введите описание изображения здесь

и я не знаю путь к этим заголовкам C.

Wazery
источник
1
Какое ядро ​​вы используете (уточните у uname -a). Потому что с обновлением 11.04 ubuntu тихо переключил мое ядро ​​с linux-generic на linux-generic-pae без установки соответствующих заголовков, в которых используется другой набор заголовков linux. Согласно приведенным ниже трем ответам, использование apt-getявляется правильным способом решения проблемы, вам просто нужно убедиться, что заголовки ядра являются правильными.
авария
2
Же, кажется, на правильном пути, но все же чего-то не хватает. Создание этих ссылок помогает обойти подсказку для заголовков ядра 2.6.38.8_generic, но затем, когда я запускаю VMWare Workstation (6.5.5), я получаю сообщение об ошибке «Невозможно собрать модули ядра. См. Logfile / tmp / vmware-root». /setup-22414.log ", и когда я просматриваю файл журнала, он просто описывает попытку сборки, но не показывает ошибок, что странно. Поэтому я попытался пойти по короткому пути и переустановить из пакета, чтобы посмотреть, решит ли это проблему после создания ссылок. Это не так. Я застрял. Есть идеи? Я думал, что объединение т
2
sudo ln -s / usr / src / linux-headers - $ (uname -r) /include/generated/uapi/linux/version.h / usr / src / linux-headers - $ (uname -r) / include / linux /version.h
Касим
sudo apt-get install build-essential
Qasim

Ответы:

99
cd /lib/modules/$(uname -r)/build/include/linux
sudo ln -s ../generated/utsrelease.h
sudo ln -s ../generated/autoconf.h
sudo ln -s ../generated/uapi/linux/version.h 

После добавления символической ссылки путь /usr/src/linux-headers-$(uname -r)/include(спасибо @Kariem!)

Же Ли
источник
8
К вашему сведению, я должен был сделать эти точные шаги, чтобы заставить VMWare Workstation работать с Ubuntu 13.04.
Джейсон Мок
9
Спасибо! Просто чтобы быть ясно, поскольку я не прочитал это из ответа: после добавления символической ссылки путь/usr/src/linux-headers-$(uname -r)/include
Kariem
3
Тот факт, что вы нуждаетесь в них, отсталый - большое спасибо за это.
Griwes
3
Это работает! Спасибо. Мой вопрос: как вы узнали, что именно делать?
pepoluan
3
Это STILL проблема , как в 14.04. Удивительно.
Майки Т.К.
43

Ниже команды очень полезны для вас:

Шаг 1: Ctrl+ Alt+T

Шаг 2 : sudo apt-get install linux-headers-$(uname -r)

Шаг 3: путь к заголовкам ядра /usr/src/linux-headers-$(uname -r)/include

manikandan
источник
Этот ответ работал на моей машине, Debian 8.3 i386
Kayla
15

Перед установкой Vmware Workstation необходимо установить заголовки build-essential и linux

   sudo apt-get install build-essential linux-headers-$(uname -r)

а потом

 sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.h

Все готово, установите Vmware Workstation прямо сейчас

 path to vm# sh Vm***.bundle
Касим
источник
sudo apt-get install build-essential linux-headers - $ (uname -r) работает чудо. Исправил мою проблему, спасибо.
Майк
+1 Я скучал по основам сборки. Это лучший ответ здесь.
Марк Э. Хаас
12

В некоторых местах есть несколько файлов, которых не ожидает установщик, я запускаю это, и оно работает:

ifrantz@ifrantz:~$ cat ~/update_version.sh 
#!/bin/bash

cd /lib/modules/$(uname -r)/build/include/linux
sudo ln -s ../generated/utsrelease.h
sudo ln -s ../generated/autoconf.h
sudo ln -s ../generated/uapi/linux/version.h 
user115271
источник
7

Мое первое предположение, что вы не установили заголовки. Вам необходимо установить соответствующий пакет linux-headers. Скорее всего, вам нужно установить linux-headers-generic. Однако, если вы работаете с каким-либо другим ядром linux-generic, установите пакет linux-headers для этого ядра.

Если вы уже установили заголовки, они должны быть в /usr/src.

Скотт Северанс
источник
Можете ли вы дать мне название этих пакетов заголовков?
Wazery
1
Я не уверен, что именно вы спрашиваете. Вы можете выполнить поиск в Synaptic, чтобы узнать, что вы используете на своем компьютере. Скорее всего, ваше ядро ​​есть linux-generic. Если это так, установите linux-headers-generic, и вы получите соответствующие пакеты в качестве зависимостей. Точный пакет заголовков (и пути в файловой системе) меняются с каждым обновлением ядра. Посмотрите в вашей системе, чтобы узнать, какая из них используется.
Скотт Северанс
apt-get install linux-headers - $ (uname -r)
Сова
@owl, проблема в том, что вам придется переустанавливать заголовки каждый раз, когда меняется версия. Если вы устанавливаете базовый пакет linux-headers, он всегда актуален.
Скотт Северанс
6

Проблема может быть решена в два этапа после установки vmware workstation 9.XX (в терминале):

  1. sudo apt-get install gcc

  2. sudo vmware-modconfig --console --install-all --appname="VMware Player" --icon="vmware-player"

user152790
источник
5

CTRL+ ALT+t

sudo apt-get install linux-headers-generic

Ванни Тотаро
источник
3
linux-headers-generic - это уже самая новая версия. 0 обновлено, 0 вновь установлено, 0 для удаления и 1 не обновлено.
Wazery
Может быть, вам нужно сделать sudo apt-get updateперед установкой
Ванни Тотаро
4

У меня была та же проблема, я запускал ядро ​​3.2.0-29, но имел только linux-headers-3.2.0-35 в / usr / src /

user@ubuntu:/usr/src$ ls -l
drwxr-xr-x 24 root root 4096 Jan  5 11:17 linux-headers-3.2.0-35
drwxr-xr-x  7 root root 4096 Jan  5 11:17 linux-headers-3.2.0-35-generic

user@ubuntu:/usr/src/linux-headers-3.2.0-35/include$ uname -a

Linux ubuntu 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_6                                                                                4 x86_64 x86_64 GNU/Linux

user@ubuntu:/usr/src$ sudo apt-get install linux-headers-3.2.0-29-generic

user@ubuntu:/usr/src/$ cd /tmp/vmware-tools-distrib
user@ubuntu:/tmp/vmware-tools-distrib$ sudo ./vmware-install.pl
<kept hitting enter>

Enjoy, --the VMware team

done and done
Psytek7
источник