Pull to refresh

Установка vmware tools для debian 8 в виртуальной машине [мануал]

Reading time 4 min
Views 49K
С полноценной установкой debian в VMWare у меня была постоянная морока, т.к. никогда у меня без напильника до конца нормально не устанавливались vmware tools. Может у меня руки не те, спорить не буду — с линуксом я всё же не на ты. Недавно вышла новая версия debian и, на второй день после официального релиза, я принял волевое решение перевести свои виртуалки, организующие серверы FTP/SFTP, с WindowsXP на линукс. Тут как раз подоспела новая версия VMWare 11, новая версия тулзов, debian 8 testing уже давно народом использовалась и я решил что уже всё должно быть гладко и мне надо будет поднапрячься и только разобраться с настройками proftpd. После установки и настройки debian 8 я решил установить vmware tools и завершить, таким образом, начальную фазу — подготовку базовой машины. И что вы думаете? VMware tools встали кривовато…

Этот вопиющий факт не оставил меня равнодушным.Ну сколько уже можно? Например, Gnome3 на debian 7 у меня запускался только в альтернативной режиме и никак не получалось нормально установить драйвера для видео и/или задействовать поддержку 3D. Я помню некоторое время потратил на поиск решения и опробывания предложений по самостоятельной сборке, но успеха мне это не принесло и я забросил это дело, тем более работе оно не мешало. Но оставалось чувство недовыполненности работы.

И тут, опять что-то не то. GUI заработал изначально нормально. Gnome3 после настройки мне даже очень понравился (настройка через gnome-tweak-tool + допрасширения: Lock keys, Remove dropdown arrows). Тулсы ставятся почти нормально. Но в конечном счёте мы не получаем поддержки Shared Folders. Это печально, т.к. такой механизм удобен: подключаем папки в настройках виртуалки, они автоматом монтируются в /mnt/hgfs/. И не надо заморачиваться с расшариванием папок по сети в хостовой машине. Но после установки тулзов мы получаем неработающий модуль vmhgfs. В рунете я решения не нашел, но помню нашёл как решить проблему на каком-то англоязычном форуме. Это всё действо происходило 26-28 апреля. Меня удивило когда вчера ко мне обратился знакомый и посетовал, дескать не могу настроить вмваровскую сеть в виртуалке с новым дебианом. И я решил написать мануал другу, оформив его в виде статьи на хабре — вдруг ещё кому-то пригодится!

Итак, как установить тулзы.

Для начала устанавливаем нужные пакеты для сборки тулзов (это тянется с доисторических времён, иначе есть риск, что нормально ничего не соберётся):

sudo apt-get install linux-headers-$(uname -r) make gcc


Если далее выполнить установку штатных тулзов из поставки VMWare:

mount the VMware tools cdrom and install VMware Tools
sudo mount /dev/cdrom /media/cdrom
tar xvzf /media/cdrom/VMwareTools-9.9.2-2496486.tar.gz
cd vmware-tools-distrib
sudo ./vmware-install.pl -d


То после презагрузки получим неработающий модуль vmhgfs. Цитирую конец лога установки:

/usr/src/linux-headers-3.16.0-4-common/scripts/Makefile.build:262: ошибка выполнения рецепта для цели «/tmp/modconfig-zqp0EX/vmhgfs-only/inode.o»
make[4]: *** [/tmp/modconfig-zqp0EX/vmhgfs-only/inode.o] Ошибка 1
make[4]: *** Ожидание завершения заданий…
/usr/src/linux-headers-3.16.0-4-common/Makefile:1350: ошибка выполнения рецепта для цели «_module_/tmp/modconfig-zqp0EX/vmhgfs-only»
make[3]: *** [_module_/tmp/modconfig-zqp0EX/vmhgfs-only] Ошибка 2
Makefile:181: ошибка выполнения рецепта для цели «sub-make»
make[2]: *** [sub-make] Ошибка 2
Makefile:8: ошибка выполнения рецепта для цели «all»
make[1]: *** [all] Ошибка 2
make[1]: выход из каталога «/usr/src/linux-headers-3.16.0-4-amd64»
Makefile:120: ошибка выполнения рецепта для цели «vmhgfs.ko»
make: *** [vmhgfs.ko] Ошибка 2
make: выход из каталога «/tmp/modconfig-zqp0EX/vmhgfs-only»

The filesystem driver (vmhgfs module) is used only for the shared folder
feature. The rest of the software provided by VMware Tools is designed to work
independently of this feature.

If you wish to have the shared folders feature, you can install the driver by
running vmware-config-tools.pl again after making sure that gcc, binutils, make
and the kernel sources for your running kernel are installed on your machine.
These packages are available on your distribution's installation CD.


Для устранения этой печальной проблемы нужно выполнить ряд действий по замене d_alias на d_u.d_alias в пакете vmhgfs:

#!/bin/sh -x
cd /usr/lib/vmware-tools/modules/source
tar xf vmhgfs.tar
grep -q d_u.d_alias vmhgfs-only/inode.c && echo "already patched" && exit 0
sed -i -e s/d_alias/d_u.d_alias/ vmhgfs-only/inode.c
cp -p vmhgfs.tar vmhgfs.tar.orig
tar cf vmhgfs.tar vmhgfs-only
vmware-config-tools.pl -d -m


После этого функционал Shared Folders от VMWare начнет нормально работать — в папке /mnt/ngfs появятся подключенные папки в настройках виртуальной машины.
ПРИМЕЧАНИЕ: это метод, несовместим с более ранними версиями ядра (ниже 3.13.0-45)!!!

После этих исправлений я собрал обратно тулзы в архив, из которого теперь можно устанавливать тузлы не заморачиваясь с дополнительными действия по замене d_alias на d_u.d_alias. Если кому-то нужно я могу выложить файл. Подскажите только куда, файл весит 178Мб, хотелось бы выложить его на какой-то файловый хостинг без регистрации и прочей мороки, что бы он там пролежал год-два хотябы.

Справедливости ради, считаю, нужно отметить что не только на тулзах от vmware свет клином сошёлся. Существует замечательный проект open-vm-tools. Пакет, правда, давно не обновлялся, но в своё время я им вполне успешно обходился и всё там всегда сразу работало. К тому же open.

Так же добрые люди подсказывают, что существует еще удобный набор патчей vmware-tools-patches.
Tags:
Hubs:
+5
Comments 11
Comments Comments 11

Articles