lunes, 14 de mayo de 2007

INSTALANDO MÁQUINAS VIRTUALES CON VMWARE6 EN LINUX

Holas a todos...

Bueno este fin de semana me di a la tarea de instalar máquinas virtuales por algunos proyectos que llevo desarrollando en los cuales me serán estas maquinas muy útiles...

La máquinas virtuales son la creación de maquinas lógicas dentro de una máquina física; o lo que es lo mismo que decir: "Una máquina dentro de otra, cada cual con un sistema operativo independiente". No me detendré demasiado en el tema ya que estoy preparando un taller especial sobre las máquinas virtuales y planeo publicarlo también en este foro ;-) así que por ahora simplemente nos concentraremos en la instalación.

La elección que he realizado en esta oportunidad es VMware-workstation-6, ¿por qué? pues bueno por que es la que salio más recientemente y por que me parece que es un producto excelente; si bien NO es Software Libre, es un producto bastante estable y cabe notar que la pagina web aloja muchos desarrollos de terceros con utilidades simplemente extraordinarias.

Entre las características nuevas del Vmware 6 , puedo apreciar una especie de gestión de grupos de máquinas que es algo nuevo y realmente me parece bastante útil por diversos aspectos...

Antes de empezar debes asegurarte que tienes los paquetes correctos, estos son los autoconf
también debes tener instalado los linux-headers
y en algunas distribuciones como Fedora y CentOS linux-source
claro los clásicos make y por supuesto el infaltable compilador de c

Ok entonces espesemos con la instalación.
Descarga el tarball con el instalador, particularmente he probado tanto el tarball y el rpm y prefiero el tarball ya que con el rpm no puedes instalar en máquinas con ubuntu por ejemplo :-P asi que mejor el universal y listo...

Ojo VMware no es gratuito, por lo que requiere que pagues por el servicio, sin embargo existe la versión de pruebas que es precisamente la que utilizaremos.

Debes descargar el VMware previo registro desde aqui
Después de registrarte podrás obtener una versión de pruebas del VMware 6

Ahora debes descomprimir el asunto... para lo cual debes ser un usario privilegiado asi que si estamos en cualquier distro ejecutamos

$su

Ahora que si estamos en ubuntu deberiamos poner

$sudo -i

ahora tenemos que descomprimir los archivos, entonces desde la misma consola

# tar -zxvf VMware-workstation-6.0.0-45731.i386.tar.gz

y luego de un tiempo de espera listo... tenemos descomprimido el asunto

# cd vmware-distrib

ya estamos en la carpeta apropiada para instalar, por lo que ahora procedemos a instalarlo

# ./vmware-install.pl

Podremos apreciar un mensaje que dice que se esta iniciando el proceso de instalación

A continuacion pregunta sobre el directorio donde se instalar el vmware simplemente aceptamos el directorio por defecto presionando la tecla enter
In which directory do you want to install the binary files?
[/usr/bin]

Ahora pregunta sobre el directorio donde estan los archivos de inicio de sistema a lo que tambien contestamos con un enter salvo que los archivos de inicio tuyos este en otro lugar, en este caso tendras que indicarle la ruta exacta de los archivos de inicio.
What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
[/etc/rc.d]

Similiar al punto anterior, igual contestamos con un enter
What is the directory that contains the init scripts?
[/etc/rc.d/init.d]

Ahora pregunta donde estaran los demonios de ejcución del vmware y contestamos tb con un enter
In which directory do you want to install the daemon files?
[/usr/sbin]

Pregunta donde quieres que se instalen las librerías
In which directory do you want to install the library files?
[/usr/lib/vmware]

Ahora como el directorio que anteriormente acepte no existe me pregunta si quiero crear dicho directorio, contestamos afirmativamente con un enter
The path "/usr/lib/vmware" does not exist currently. This program is going to
create it, including needed parent directories. Is this what you want?
[yes]

Ahora pregunta sobre donde queremos poner los manuales de vmware, como siempre contestamos con un enter, salvo que prefieras poner los manuales en otro sitio
In which directory do you want to install the manual files?
[/usr/share/man]

Similar al anterior pero ahora con la documentación
In which directory do you want to install the documentation files?
[/usr/share/doc/vmware]

Nos muestra que el directorio para la documentación no existe, y pregunta si queremos crear dicho directorio, conestamos afirmativamente con un enter
The path "/usr/share/doc/vmware" does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
[yes] yes

Este ultimo es un mensaje que quiere decir que todo a salido bién y hasta el momento ya tenemos nuestro servidor instalado correctamente.
The installation of VMware Workstation 6.0.0 build-45731 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command: "/usr/bin/vmware-uninstall.pl".


Esta es la primera parte la instalación del VMware WorkStation... sin embargo esta es la parte sencilla, he visto que muchos de los usuarios tienen problemas en continuar desde este punto...

Para continuar con la instalación me basare sobre la base de Ubuntu ya que me parece que los usuarios de este sistema son los que más problemas tuvieron.

A la ejecución anterior sigue el siguiente mensaje, el cual indica que antes de continuar con la ejecución del programa se debe configurar el vmware y aceptamos con enter.
Before running VMware Workstation for the first time, you need to configure it
by invoking the following command: "/usr/bin/vmware-config.pl". Do you want
this program to invoke the command for you now? [yes] yes

Making sure services for VMware Workstation are stopped.

Stopping VMware services:
Virtual machine monitor done

Configuring fallback GTK+ 2.4 libraries.

Nos pregunta sobre el directorio en el cual queremos poner los iconos, como siempre enter
In which directory do you want to install the theme icons?
[/usr/share/icons]

Ahora pregunta donde estan las entradas de los menus del sistema, nuevamente contestamos con un enter
What directory contains your desktop menu entry files? These files have a
.desktop file extension. [/usr/share/applications]

Y otra más sobre iconos y figuras, así es... enter nuevamente
In which directory do you want to install the application's icon?
[/usr/share/pixmaps]

MMM ahora viene lo divertido y es la parte de la modificación del kernel para crear un modulo sobre el cual funcionara el vmware
El mennsaje nos dice que se intenta encontrar un modulo en el kenrel que estamos ejecutando, el cual obviamente no lo encontrara :-P y al no encontrarlo nos dice que no ha encontrado ninguno (obvio) y que intentara construir dicho modulo para el sistema... es importante que tengamos un compilador de c instalado, a lo cual contestamos que si dando enter
Trying to find a suitable vmmon module for your running kernel.

None of the pre-built vmmon modules for VMware Workstation is suitable for your
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]


Ahora nos dice que encontró un compilador (menos mal)
Using compiler "/usr/bin/gcc". Use environment variable CC to override.

Bien la siguiente parte es en la que la mayoria comete errores, o no puede continuar, el instalador pregunta donde estan las cabeceras de codigo del kernel que estamos ejecutando, cabe mencionar que nosotros (especialmente si eres usuario de ubuntu) podemos tener varias versiones del kernel instaladas, por lo que es importante saber cual es la que estamos ejecutando; para esto en otra terminal teclea lo siguiente
$ uname -r
2.6.17-11-generic
por lo que sabemos que el kernel que estamos ejecutando es el 2.6.17-11-generic
Ahora continuando con la configuración del vmware vemos que nos pregunta cual es la dirección de las cabeceras, y nos suguiere una dirección obviamente basada en una arquitectura RedHat (/lib/modules/) pero ese no es nuestro caso ya que nosotros estamos utilizando una versión basada en Debian por los que las cabeceras usualmente se guaradan en (/usr/src/); debemos tener cuidado tambien de seleccionar las cabeceras del kernel que estamos ejecutando, ya que como dije antes podriamos tener varias versiones del kernel, para estar seguros lo mejor que puedes hacer es dirigirte con el explorador de archivos hasta /usr/src/ y ver cuales son las cabeceras activas, recuerdas en el uname -r habiamos obtenido una respuesta, entonces debes buscar la carpeta que tenga el mismo nombre que el kernel que estamos utilizando, es decir el que te salio como respuesta cuando ejecutaste el uname -r , cabe destacar tambien que en realidad lo que se necita son las cabeceras del codigo las cuales estan en una subcarpeta llamada generalmente inclue; como sigue a continuación (presten atención a la parte que esta con negrilla ):
What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.17-11-generic/build/include] /usr/src/linux-headers-2.6.17-11-generic/include

Ahora bien si todo a salido bien se incia el proceso de modificación del kenrel
Extracting the sources of the vmmon module.

Building the vmmon module.
[.....Aca va un gran numero de mensajes que por cuestion de tiempo no voy a ponerlos......]

Si todo ha ido bien y se ha construido el nuevo modulo para el kernel finalmente saldrá la pregunta sobre si queremos usar red en nuestra máquina virtual a lo que contestamos yes con un enter
Do you want networking for your virtual machines? (yes/no/help) [yes]

Vemos que se está configurando el servicio virtual de red... al finalizar saldra la pregunta si queremos utilizar red por medio de NAT, Esto quiere decir que si queremos que las máquina virtuales sean accesibles desde el exterior, esto quiere decir que si nuestro equipo es parte de una red mayor, las máquinas virtuales tendrán su propia ip para que el resto de la red pueda verlas. en este caso seleccionamos enter
Configuring a bridged network for vmnet0.

The following bridged networks have been defined:

. vmnet0 is bridged to eth1

All your ethernet interfaces are already bridged.

Do you want to be able to use NAT networking in your virtual machines? (yes/no)
[yes]

Algunas otras consultas sobre la subred
Do you want this program to probe for an unused private subnet? (yes/no/help)
[yes] yes

Ahora pregunta si queremos configurar otra red y contestamos que no
Do you wish to configure another NAT network? (yes/no) [no] no

Do you want to be able to use host-only networking in your virtual machines?
[yes] yes

Ahora pregunta sobre el ip que tendra nuestra máquina en la red privada (es decir la que será gestionada por el vmware)
What will be the IP address of your host on the private
network? 192.168.3.51

De la misma forma pregunta cual es el numero de mascara
What will be the netmask of your private network? 255.255.255.0

Pregunta si queremos instalar el entorno de desarrollo eclipse para realizar trazados en la máquina a lo que contestamos que no.
Do you want to install the Eclipse Integrated Virtual Debugger? You must have
the Eclipse IDE installed. [no] no

Creating a new VMware VIX API installer database using the tar4 format.

Installing VMware VIX API. This may take from several minutes to over an hour
depending upon its size.

Ahora pregunta sobre el directorio donde se instalaran las api de vmware
In which directory do you want to install the VMware VIX API binary files?
[/usr/bin]

Lo mismo pero ahora con librerias... simplemente presionamos enter
In which directory do you want to install the VMware VIX API library files?
[/usr/lib/vmware-vix/lib]

Ahora dice que la carpeta esa no existe y si queremos crearla... nuevamente enter
The path "/usr/lib/vmware-vix/lib" does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
[yes]

Ahora pregunta sobre donde poner documentacion de las apis anteriores
In which directory do you want to install the VMware VIX API document pages?
[/usr/share/doc/vmware-vix]

Y tambien si queremos crear el directorio
The path "/usr/share/doc/vmware-vix" does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
[yes]

El mensaje dice que podemos correr VMware utilizando el comando /usr/bin/vmware
You can now run VMware Workstation by invoking the following command:
"/usr/bin/vmware".

Enjoy,

--the VMware team

Bueno hasta aquí la instalacíon si todo salio bien podran ver el mensaje anterior por pantalla y querra decir que todo salio bien.....

Eso es todo espero les haya sido útil la mini guía.

No hay comentarios: