Al actualizar mi Ubuntu de la versión 13.10 a la 14.04 he tenido que hacer los típicos reajustes en las configuraciones, e instalar algunos paquetes de software que la actualización ha eliminado.
Para trabajar en sistemas, redes y seguridad, suelo utilizar maquinas virtuales para hacer pruebas antes de implementarlo en la maquina real; suelo usar VirtualBox, pero también VMWare debido a que su virtualización es por hardware, y no por software como en VirtualBox, y por las interfaces virtuales que instala por defecto, que permiten conectar el host anfitrión a la maquina virtual para intercambiar archivos, y incluso se pueden reutilizar con el modo interfaz adaptador puente de VirtualBox.
Al ir a utilizar estas interfaces de VMWare para una de mis prácticas, ninguna de las dos estaban ahí; entonces abrí VMWare y me llevé esta sorpresita.
Pues bien, vamos a compilarlos… y presionaremos el botón «Install«…
Vamos a abrir VMWare desde la terminal para localizar el error, el resultado es el siguiente:
Virtual machine monitor done
Virtual machine communication interface done
VM communication interface socket family done
Blocking file system done
Virtual ethernet failed
VMware Authentication Daemon done
En una web he encontrado un texto para parchear el problema y las instrucciones y he creado con ello un script para automatizar la tarea, y lo voy a compartir por si alguien ha tenido mi mismo problema; el fallo se debe a un problema en el modulo con solución similar a cuando debemos recompilar el modulo de VirtualBox al actualizar el sistema.
Solo necesitáis copiar el script en un archivo de texto con extensión .sh, por ejemplo script.sh
#!/bin/sh
##Script para parchear VMWare
##Volcamos el contenido para parchear filter.c
echo "205a206" > /tmp/filter.c.diff
echo "> #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)" >> /tmp/filter.c.diff
echo "206a208,210" >> /tmp/filter.c.diff
echo "> #else" >> /tmp/filter.c.diff
echo "> VNetFilterHookFn(const struct nf_hook_ops *ops, // IN:" >> /tmp/filter.c.diff
echo "> #endif" >> /tmp/filter.c.diff
echo "255c259,263" >> /tmp/filter.c.diff
echo "< transmit = (hooknum == VMW_NF_INET_POST_ROUTING);" >> /tmp/filter.c.diff
echo "---" >> /tmp/filter.c.diff
echo "> #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)" >> /tmp/filter.c.diff
echo "> transmit = (hooknum == VMW_NF_INET_POST_ROUTING);" >> /tmp/filter.c.diff
echo "> #else" >> /tmp/filter.c.diff
echo "> transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);" >> /tmp/filter.c.diff
echo "> #endif" >> /tmp/filter.c.diff
Y ejecutarlo en la terminal de la siguiente forma:
usuario@maquina:~$ sudo sh script.sh
Después tenemos que aplicar el parche manualmente, ya que esta parte en el script no funcionaba:
usuario@maquina:~$
sudo -E -s
usuario@maquina:~$
cd /usr/lib/vmware/modules/source/
usuario@maquina:~$
cp vmnet.tar vmnet.tar.original
usuario@maquina:~$
tar xvf vmnet.tar vmnet-only/filter.c
usuario@maquina:~$
patch vmnet-only/filter.c < /tmp/filter.c.diff
usuario@maquina:~$
tar -uvf vmnet.tar vmnet-only/filter.c
usuario@maquina:~$
rm -rf vmnet-only/
Una vez ejecutados el script y el parche, el problema se ha solucionado, y el resultado es el siguiente:
Virtual machine monitor done
Virtual machine communication interface done
VM communication interface socket family done
Blocking file system done
Virtual ethernet done
VMware Authentication Daemon done
Y ya podemos disfrutar de VMWare y sus interfaces virtuales.
[Script corregido el 24/07/2014]
##Fuente: http://askubuntu.com/questions/449629/error-installing-vmware-workstation-on-ubuntu
Todos los tutoriales serán añadidos a su apartado en la sección Biblioteca.
Si te ha gustado puedes seguirme en Twitter, Facebook, Google+, Linkedin, o compartirlo con los botones ubicados debajo de esta publicación, si tienes cualquier pregunta o sugerencia no dudes en comentar.
NO FUNCIONO – Linux telecom-MS-1454 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 i686 i686 GNU/Linux
Muchas gracias por avisar del error compañero, ya está solucionado. Ahora consta de dos pasos a seguir pero funciona correctamente.
Saludos 🙂
Hace días que lo solucioné y lo he probado tanto en mi PC como en máquinas virtuales.
Si a alguien le sigue sin funcionar, agradecería que me lo comunique o comente.
Saludos.
In script.sh file….
The last lines of code that was wrong.
/tmp/filter.c.dif –> /tmp/filter.c.diff
Hi Strtok, I arranged the error.
Thank you for your comment and for collaborating to enable users to take advantage of this tutorial 🙂
Buenas
Cuando ejecuto este codigo
patch vmnet-only/filter.c < /tmp/filter.c.diff
me sale esto:
patching file vmnet-only/filter.c
Hunk #3 FAILED at 259.
1 out of 3 hunks FAILED — saving rejects to file vmnet-only/filter.c.rej
Alguna idea?¡?¡?¡
Hola Pablo, muchas gracias por poner tus dudas en común.
Has ejecutado el script? o solo esa línea mediante la terminal?
Me sucede lo mismo al ejecutar todo el script. Saludos
tengo el mismo inconveniente con la actulizacion de 15.04 a 15.10
Actualmente si necesito usar Ubuntu utilizo versiones LTS por lo que no había detectado este inconveniente, cuando tenga algo de tiempo libre publicaré la solución en un nuevo artículo orientado a resolverlo en Ubuntu 15.10.
Animo a cualquiera que lo solvente a compartir mediante los comentarios la solución con los demás usuarios.
Muchas gracias por vuestros comentarios y hasta pronto.
Hi.. I have same problem and it doesnt work anymore, right?
I use ubuntu 14.04 lts with kernel 4.2.0-42-generic. would u help me to solve my error?
Amigos gracias por compartir sus conocimientos, soy usuario novato, tengo ubuntu 16.04 y el mware workstation 10 32bit, instalo correctamente pero no inicia por el error anteriormente explicado en este blog, realice los pasos compartidos pero no me deja parchear:
Hunk #3 FAILED at 259.
1 out of 3 hunks FAILED — saving rejects to file /home/Atlaspc/Escritorio/vmnet-only/filter.c.rej
que mas puedo hacer? gracias
Hola Guku, gracias por comentar.
El tutorial está basado en Ubuntu 14.04 y es posible que no funcione en versiones posteriores.
Más adelante cuando actualice mi portátil de trabajo haré un nuevo tutorial para Ubuntu 16.04.
Saludos.