martes, 12 de octubre de 2010

SOLUCION para VMware Server 2.0.2 "vmnet0 is not running"!!! Ubuntu Desktop 10.04, kernel 2.6.32-25

Bueno esta solución debo admitir que me causo un dolor de cabeza pero después de mentarle a "la autora de sus días" a VMware Server 2.0.2 bajo kernel 2.6.32-25 utilizando Ubuntu 10.04, al fin idee esta forma de poder hacer funcionar la interfaz vmnet0 cuando nos aparece "vmnet0 is not running" sin necesidad de parchar el vmware-config.pl o reinstalar vmware y no se que tantas cosas mas postearon en algunos foros que la verdad gracias por las atenciones, que si bien no me dieron la respuesta correcta me hicieron comprender el comportamiento que vmware lleva a cabo de una forma no visible al ojo humano.
en fin ya fue mucho intro.

Espero mi humilde aporte pueda ayudarlos en sus días de insomnio y continuo aprendizaje ya que sin este par elementos que tendría de divertido esto? ;)

los pasos son los siguientes:

1ER EJEMPLO PUENTE CON TARJETA INALÁMBRICA
Paso 1.- crear un puente con la interfaz que deseamos utilizar

sudo /usr/bin/vmnet-bridge -n 2 -d /var/run/vmnet2-bridge-0.pid -i wlan0

Paso 2.- levantar la interfaz que se desea utilizar

sudo /usr/bin/vmnet-netifup -d /var/run/vmnet-netifup-vmnet2.pid /dev/vmnet2 vmnet2

NOTA1: En el Paso 1, por que utilice el valor 2 en el parámetro -n ?. Simple es el ID que le corresponde a mi interfaz bridge para la red inalámbrica que se crea al hacer la instalación de VMware Server,
NOTA2: en el Paso 2, utilizo /dev/vmnet2 ya que vmnet1 pertenece a HostOnly y vmnet8 a NAT

2DO EJEMPLO PUENTE CON TARJETA ETHERNET
Paso 1.- crear un puente con la interfaz que deseamos utilizar

sudo /usr/bin/vmnet-bridge -n 0 -d /var/run/vmnet0-bridge-0.pid -i eth0

Paso 2.- levantar la interfaz que se desea utilizar

sudo /usr/bin/vmnet-netifup -d /var/run/vmnet-netifup-vmnet0.pid /dev/vmnet0 vmnet0

Bien solo me queda decir que no es necesario reiniciar nada en VMware, solo aclarar que es necesario que las maquinas virtuales estén apagadas antes de llevar a cabo este procedimiento, y claro!!!! MUY IMPORTANTE!!! agradecer no cuesta nada deja un comentario siempre son bienvenidas las dudas, comentarios y/o sugerencias. :)

por el momento es todo y repito espero poder haber ayudado a alguien con este post (Hora de redacción 12:13AM jejejeje )

Saludos desde Hermosillo Sonora, México

martes, 5 de octubre de 2010

Conversión de Archivos VDI a VMDK (discos duros virtuales de VirtualBox a VMware)

Los comandos utilizados para este procedimiento serian los siguientes:

VBoxManage internalcommands converttoraw <src_file.vdi> <dst_file.raw>
qemu-img convert -O vmdk <dst_file.raw> <dst_file.vmdk>
rm <dst_file.raw>

un ejemplo seria:

VBoxManage internalcommands converttoraw mi_disco_vbox.vdi disco_temporal.raw
qemu-img convert -O vmdk disco_temporal.raw mi_disco_vmware.vmdk
rm disco_temporal.raw

un detalle curioso a observar es que el disco raw por lo general pesa 2 veces mas que los discos vmdk y vdi. No es que tenga mucha importancia para lo que queremos hacer pero si seria algo a tomar en cuenta si andamos cortos de espacio en disco duro y necesitamos convertir un archivo de 50GB!!! jajajaja.

En fin después de repetir este proceso un par de veces seguidas empieza a hacerse tedioso y tardado. Así que para agilizar el proceso desarrolle el siguiente script bash para automatizar la tarea.


#!/bin/bash
####################################################################3
#
# Conversor de archivos VDI a VMDK
#
# util para cambiar de formato discos duros de equipos virtuales de VirtualBox
# al formato vmdk que pertenece a vmware.
# 4/Oct/2010
# Ing. Jaime Alday C.
# email: jimm_x[at]hotmail.com
#

QEMU_IMG="/usr/bin/qemu-img"
VBOXMANAGE="/usr/bin/VBoxManage"

NOTE="not exists, to install usage:\n\t sudo apt-get -y install"
[ ! -f $QEMU_IMG ] && echo -e "\"qemu\" $NOTE qemu"
[ ! -f $VBOXMANAGE ] && echo -e "\"virtualbox\" $NOTE virtualbox-3.2"

if [ $# -ge 1 ] && [ -f $1 ]; then
FILE_NAME=`echo $1 | cut -d '.' -f 1`
echo 'Esto puede tomar unos minutos, porfavor espere.'
echo '* Convirtiendo archivo vdi a raw'
$VBOXMANAGE internalcommands converttoraw $1 $FILE_NAME.raw &&
echo '* Convirtiendo raw a vmdk' &&
$QEMU_IMG convert -O vmdk $FILE_NAME.raw $FILE_NAME.vmdk &&
echo done
else
echo "Usage: ./converter.sh <src_file.vdi>"
fi

I M P O R T A N T E
Para que este script funcione es necesario tener instalado el siguiente software
  • VirtualBox
  • qemu
y una observacion seria es que despues de hace la conversion de sus archivos desinstalen qemu ya que el kvm ocasiona conflictos con vmware, cosa que me llevo como 8 horas entenderlo. el error es que las máquinas virtuales arrancan y se traban en el 95%.
asi que ahora si es todo. DESINSTALEN QEMU DESPUES DE HACER ESTO!!!! ;)
De cualquier forma para no hacer otra entrada en el blog si a alguien se le presenta este problema puede tmb eliminar los modilos "kvm_intel" y "kvm" utilizando los comandos lsmod y rmmod
ej:

rmmod kvm_intell
rmmod kvm
y listo veras que sin chistar rapidito cargaran las maquinas viturles :)

por el momento es todo, espero y esto te sea de ayuda. Saludos! :)
PD1: si tienes dudas comentarios o sugerencias con gusto responderé. Otra cosa: "Agradecer no cuesta nada ;)"
PD2: También pueden descargar el script desde el siguiente link:

Descargar script

Saludos! =)

domingo, 30 de mayo de 2010

Configuración de SSL en Apache2

Instalación del software necesario
$ sudo apt-get install apache2 openssl ssl-cert

En caso de no instalar OpenSSL y querer hacer uso de ssl en apache2 (https://localhost) aparecerá un mensaje como…

"You must use secure HTTPS conection !"

Después de instalado el software, es necesario habilitar el modulo SSL en apache2, así como el sitio que será ejecutado haciendo uso de ssl (default-ssl)
$ sudo a2enmod ssl
$ sudo a2ensite default-ssl

Creación del certificado
$ sudo openssl req $@ -new \
               -x509 -days 365 -nodes \
               -out /etc/apache2/apache.pem \
               -keyout /etc/apache2/apache.pem

Después de ejecutar este comando se deberán responder las siguientes preguntas:

Country Name (2 letter code) [AU]:MX
State or Province Name (full name) [Some-State]:Son
Locality Name (eg, city) []:Obregon
Organization Name (eg, company) [Internet Widgits Pty Ltd]:LINUX
Organizational Unit Name (eg, section) []:LINUX
Common Name (eg, YOUR name) []:Ing Jaime Alday C
Email Address []: jimm_x[AT]hotmail.com

y ya casi para terminar reiniciar el servicio de apache2
$ sudo /etc/init.d/apache2 restart

bien eso es todo, solo basta verificar que el servicio está funcionando ingresando al navegador haciendo uso de https

https://localhost

sábado, 29 de mayo de 2010

Mr. Satan de Carne y hueso jajaja

No lo pude evitar, esta imagen me dio mucha risa jajajajajajajajajaja Saludos!

Corrección de incremento del ID en interfaces de red - GNU/linux

Que tal, alguna vez haz notado que al momento de levantar una maquina virtual clonada (en este caso utilizando VirtualBox haciendo uso de la herramienta “VBoxManage” para clonar el disco duro) el ID de la interfaz de red se incrementa siempre en uno.
Ejemplo:
La maquina virtual original posee 2 tarjetas de red virtuales las cuales poseen IDs 0 y 1 (eth0 y eth1)
La maquina virtual clonada posee las mismas 2 tarjetas de red virtuales PERO sus IDs ahora son 2 y 3 (eth2 y eth3)
Si este proceso de clonar maquinas virtuales se repitiera una y otra vez muy pronto notarían que los IDs en algún momento andaran por los cielos! empezando en 0,1,2 llegando hasta n+1!!!
Bien, si esto es molesto a la hora de hacer scripts o se necesita contar con el ID exacto la solución no es tan compleja como uno la puede imaginar.
Solución:
Abrir una terminal y editar el archivo “70-persistent-net.rules” localizado en la carpeta “/etc/udev/rules.d” (Ojo, siempre es importante hacer un respaldo de cada archivo antes de editarlo ya que nunca se sabe que podríamos hacer mal la primera vez ;) )
Respaldando archivo

$ sudo cp /etc/udev/rules.d/70-persistent-net.rules \
/etc/udev/rules.d/70-persistent-net.rules.base

Editando el archivo

$ sudo nano /etc/udev/rules.d/70-persistent-net.rules

Lo que se debe de hacer en este archivo es… eliminar todas las entradas que con concuerden con las direcciones MAC de tus dos interfaces de red actualmente funcionando en tu equipo, por lo general si acabas de clonar una maquina virtual, las ultimas 2 interfaces de red son las ultiles, asi que elimina todas y deja las ultimas ;)
Y ya casi para finalizar solo edita el ID de esas interfaces en mi caso yo tenía “eth12” y “eth13” y cambie sus IDs de 12 y 13 por un 0 y 1, quedando “eth0” y “eth1” respectivamente
Ahora si para finalizar solo deshabilita las interfaces, detén el servicio “udev” y vuelve a levantarlo

$ sudo ifconfig eth12 down # en este caso es 12 y 13 pero bueno ustedes deben poner
$ sudo ifconfig eth13 down # los IDs que le corresponden a sus interfaces de red.
$ sudo /etc/init.d/udev stop # o bien si te sinetes mas comodo usando
$ sudo /etc/init.d/udev start # "service udev stop", da igual ;)
$ sudo ifconfig eth0 up # ahora con los IDs nuevos
$ sudo ifconfig eth1 up

Nota: por alguna razón /etc/init.d/udev restart en este caso no da el mismo resultado.
Al momento de desplegar la configuración de tus interfaces de red (haciendo uso del comando ifconfig) observaras que los IDs de tus interfaces ahora son 0 y 1 (eth0 y eth1).
Espero y esto te sea de ayuda, de ser así agradecería dejaras tus comentarios y/o sugerencias. Saludos!:)

jueves, 14 de enero de 2010

SOLUCIÓN para Error 0x8024D007 generado por Windows Update Agent 3.0

Hola de nuevo!, que gusto volver a escribir unas pocas lineas en este nuevo año que apenas comienza.
Esta vez mostrar la solución que di a un problema que se presento al querer actualizar algunos servidores bajo Windows Server 2003 std, e observado que el problema es bastante común en GOOGLE pero muchas de las respuestas que muestran en los foros no me funcionaron. Así que opte por esta que yo mismo deduje analizando los registros de la aplicación WindowsUpdateAgent3.0, estos se localizan en el archivo C:\windows\windowsupdate.log , ahí por si alguien se pregunta pero COMO HIZO ESTE AMIGO TAN INCREÍBLE ASAÑA! Jeje solo bromeo ;).

RESUMEN ;)

PROBLEMA:
en fin para no hacer mas largo el cuento vamos al grano n_n, el problema se presenta al hacer clic en “Windows Update”, cuando esta aplicación intenta conectarse dice...Error 0x8024D007 y se acaba el juego.

SOLUCIÓN:
reemplazar los siguientes archivos:
(Localizados todos en el directorio C:\windows\system32)


cdm.dll
qmgr.dll
qmgrprxy.dll
wuapi.dll
wuapi.dll.mui
wuauclt.exe
wuauclt1.exe
wuaucpl.cpl
wuaucpl.cpl.mui
wuaueng.dll
wuaueng.dll.mui
wuaueng1.dll
wuauserv.dll
wucltui.dll
wucltui.dll.mui
wupdmgr.exe
wups.dll
wups2.dll
wuweb.dll

y registrando al final los siguientes dlls
(Localizados todos en el directorio C:\windows\system32)

wups2.dll
wups.dll
wuaueng.dll
wuapi.dll
wucltui.dll
wuweb.dll
muweb.dll
qmgr.dll
qmgrprxy.dll

para probarlo desarrollo el siguiente script, al cual lo llame wuScript.bat

:: Este script presenta la solucion al error: 0x8024D007 Windows Update Agent
:: El origen de esta idea es de el siguiente foro
:: http://channel9.msdn.com/forums/Coffeehouse/198282-Automatic-Updates-Service-not-working-I-am-out-of-ideas/
::
:: NOTA: la solución no funciono del todo bien pero sirvió de base para desarrollar esta nueva :)
::
:: Script desarrollado por:
:: Ing. Jaime Alday Córdova
:: (Jimmy)
::
:: Su distribución es libre siempre y cuando se le atribuya el merito/crédito al autor.
:: Observación: como en toda situación el autor no se hace responsable de los daños que puedan ser causados al equipo
:: desde de correr este script

@echo off
set BACKUP="C:\WU_BACKUP_FOLDER"

echo "Deteniendo servicio de actualizaciones"
net stop wuauserv

IF NOT EXIST %BACKUP% (
:: Creación de carpetas necesarias para respaldos
mkdir %BACKUP%
mkdir %BACKUP%\dllcache

:: Removiendo y Respaldando archivos dañados
move %windir%\system32\wu*.* %BACKUP%\
move %windir%\system32\dllcache\wu*.* %BACKUP%\dllcache\
) ELSE (
echo "* los archivos originales ya habían sido respaldados en alguna otra ejecución pasada de este script"
)

:: Copiando nuevos archivos
copy wufiles\* %windir%\system32\ /Y

echo "Iniciando Servicio de actualizaciones"
net start wuauserv

:: Registrando dlls
regsvr32 %windir%\system32\WUPS2.DLL
regsvr32 %windir%\system32\WUPS.DLL
regsvr32 %windir%\system32\WUAUENG.DLL
regsvr32 %windir%\system32\WUAPI.DLL
:: MUCLTUI.DLL
:: not found in %windir%\system32\
:: regsvr32 MUCLTUI.DLL /S
regsvr32 %windir%\system32\WUCLTUI.DLL
regsvr32 %windir%\system32\WUWEB.DLL
regsvr32 %windir%\system32\MUWEB.DLL
regsvr32 %windir%\system32\QMGR.DLL
regsvr32 %windir%\system32\QMGRPRXY.DLL

echo "LISTO!, TEN UNA FELIZ ACTUALIZACIÓN!!! de tus equipos ws2003 ;) :D "
pause

como un plus para evitar búsquedas por todo GOOGLE (nada como un poco de humor geek n_n jeje) aquí les dejo lo que es el script con todos los archivos que utilice para que esto me funcionara.
script + archivos necesarios

bien, creo que por el momento es todo. no olviden que siempre hay que compartir el conocimiento para mejorar como personas ayudando siempre al progimo. Saludos! Y ya saben para dudas sugerencias y/o comentarios dejen un mensaje :)