Я использую Vmware ESX 4.1, и у меня есть виртуальная машина разработки, которую я недавно обновил с Ubuntu 10.04 до 11.04. Затем я попытался переустановить VMware Tools, и некоторые модули выдали мне ошибку и не компилировались. В результате у меня сейчас возникают проблемы с резервным копированием этой виртуальной машины, и я подозреваю, что причиной являются инструменты VMware. Я установил последние исправления для хоста VMware, которые включали обновление для VMware Tools (v8.3.7 build-381511), но я все еще получаю ту же ошибку.
Я получаю такую ошибку:
...
/tmp/vmware-root/modules/vmhgfs-only/super.c:73:4: error: unknown field \u2018clear_inode\u2019 specified in initializer
make[2]: *** [/tmp/vmware-root/modules/vmhgfs-only/super.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmhgfs-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-8-generic'
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmhgfs-only'
а также это:
/tmp/vmware-root/modules/vmci-only/vmci_drv.c:91:4: error: unknown field \u2018ioctl\u2019 specified in initializer
/tmp/vmware-root/modules/vmci-only/vmci_drv.c:91:4: warning: initialization from incompatible pointer type
/tmp/vmware-root/modules/vmci-only/vmci_drv.c: In function \u2018vmci_init\u2019:
/tmp/vmware-root/modules/vmci-only/vmci_drv.c:151:4: error: implicit declaration of function \u2018init_MUTEX\u2019
make[2]: *** [/tmp/vmware-root/modules/vmci-only/vmci_drv.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmci-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-8-generic'
make: *** [vmci.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmci-only'
Любые идеи?
Я предполагаю, что у вас неправильная версия заголовков ядра. Если вам не нужна какая-то конкретная функция, которая доступна только в той версии инструментов vmware, которую вы пытаетесь создать (подсказка: вы, вероятно, не знаете), вы можете избавить себя от многих проблем, удалив версию, установленную вручную, и используйте открытую версию. Пакет vm-tools в ubuntu:
sudo aptitude install linux-headers-virtual open-vm-dkms open-vm-tools
Также можно получить последнюю версию инструментов прямо из vmware, но тогда вам нужно немного повозиться с apt:
apt-add-repository 'deb http://packages.vmware.com/tools/esx/4.1latest/ubuntu natty main restricted'
wget http://packages.vmware.com/tools/VMWARE-PACKAGING-GPG-KEY.pub -q -O- | apt-key add -
apt-get update
apt-get install vmware-open-vm-tools-kmod-source
module-assistant prepare
module-assistant build vmware-open-vm-tools-kmod-source
apt-get install vmware-open-vm-tools
Похоже, что после миграции наших серверов VMware ESXi на версию 5.0 эта проблема исчезнет. Судя по всему, это была проблема с инструментами VMware, которая в конечном итоге была исправлена VMware.
До этого мы запускали инструменты VMware из репозитория Ubuntu в соответствии с предложением @pehrs, и они работали нормально, за исключением того, что они были показаны как «Неуправляемые» в VMware vCenter и их нельзя обновить с консоли VMware vCenter, если доступна новая версия. Вместо этого кому-то нужно будет войти в систему с Ubuntu как root и проверить наличие обновлений. Однако это было работающее краткосрочное решение.