Ubuntu 14.04 – Resolver error en VMWare al actualizar la distribución

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.

Ayudanos a llegar a más lectores Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

13 pensamientos en “Ubuntu 14.04 – Resolver error en VMWare al actualizar la distribución

  1. 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

  2. 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.

  3. 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?¡?¡?¡

  4. 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.

  5. 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.

Deja un comentario