domingo, 1 de noviembre de 2015

Iniciar Windows Instalado en el Disco Rigido con VirtualBox desde Linux

Me toco cambiar la notebook y la nueva trajo instalado el famoso Windows 10, fiel a mis costumbres cargué un Ubuntu en un pendrive y me propuse a instalar un OS de verdad, pero justo en el momento de tener que eliminar las particiones se me ocurrió dejar instalado la aplicacion de MS (perdon, el Sistema Operativo de MS) para ver cuanta verdad hay detrás de todos los comentarios y elogios a cerca del fabuloso W10. Es justo ahí donde tomé un giro y pensé en dejar instalado el Win10 y proceder a achicar la partición donde se encuentra instalado Windows para darle lugar al Linux en el HDD y luego elegir que OS usar en el momento del arranque.
No del todo conforme con la elección que tomé, me pregunte si existía alguna manera de levantar el Win10 ya instalado pero con el VirtualBox, con un poco de googleo, para mi sorpresa me di cuenta que es posible y sin mayores dificultades logré mi cometido y me reenamoré de Linux.


En el manual de VirtualBox, capitulo 9 menciona que es posible crear un archivo .vmdk especial donde se define donde se almacenaran los datos, en él se podría definir acceso directo a todo el HDD o a una partición especifica.


Ver... "9.9.1.2. Access to individual physical hard disk partitions"


Antes de Instalar Linux, con Windows ya Instalado:

  1. Con el SystemRescueCd y con la ayuda del gparted achiqué la partición donde esta instalado el Windows y de paso cree las particiones para la posterior instalación de Ubuntu.

  2. Hacer un backup de la MBR antes de Instalar Linux:
    # dd if=/dev/sda of=Win10.mbr count=1 bs=512


     
    Nota: No olvidar guardar el archivo .mbr .
  3. Instalar Linux en el esquema de partición que creamos en el punto 1.



Con Linux y el VirtualBox ya Instalado:
  1. Abrimos VirtualBox y procedemos a crear la VM.

  2. Procedemos a crear los archivos .vmdk, para eso tenemos que conocer las particiones que tenemos.

    $ sudo fdisk -l /dev/sda
    Nota: En mi caso voy a utilizar las primeras 3 particiones.
  3. Nos dirigimos al directorio donde estemos creando nuestra VM:

    Importante: Copiar el archivo Win10.mbr que tomamos previamente al directorio donde estemos creando la VM. Con el siguiente comando creamos el .vmdk:

    $ VBoxManage internalcommands createrawvmdk -filename Win10.vmdk -rawdisk /dev/sda -partitions 1,2,3 -mbr Win10.mbr
    Con el comando anterior lo que hacemos es crear el archivo de Hard Disk especial y le indicamos que utilice la MBR que creamos anteriormente.


  4. Al continuar con el Asistente vamos a llegar a la opción de agregar Virtual hard Disk, en este punto tenemos que optar por seleccionar el archivo .vmdk especial que creamos anteriormente.


  5. Procedemos a Iniciar la VM.


  6. Al usurio de Linux que opere a la VM es necesario agregarlo al grupo disk para que tenga acceso de tipo rw a las particiones del HDD.


  7. Al iniciar Windows detecta los nuevos dispositivos.


  8. Windows inicio correctamente, solo queda instalar las VM Tools.

Aclaraciones:

Opte por hacer un backup de la MBR y luego usarla para no tener que pasar por el GRUB de Linux, de esta forma también evito iniciar el Ubuntu desde la VM y causar conflictos en el File System de linux de hecho en el manual del VirtualBox aclara: "If your host operating system is also booted from this disk, please take special care to not access the partition from the guest at all. "

Troubleshooting:

De hecho tras iniciar mi Ubuntu el log de mi Sistema de Archivos (XFS) se corrompio cosa que me di cuenta cuando reinicie la maquina y el Ubuntu no lograba iniciar.
Para mi fs XFS la solución fue recrear el log con el comando: #  xfs_repair -L /dev/sda6


Si quisiera obviar la parte de backup y posterior uso de la MBR podría crear el .vmdk con las 6 particiones del HDD (en mi caso) y de esta forma utilizaría el GRUB para iniciar el Windows.

El comando seria: $ VBoxManage internalcommands createrawvmdk -filename Win10.vmdk -rawdisk /dev/sda -partitions 1,2,3,4,5,6




Salu2
Hernán Nacimiento

lunes, 13 de julio de 2015

Instalar Guacamole 0.9.7 HTML5 Remote Desktop Gateway en CentOS 7

guacamole.incubator.apache.org




Guacamole es un Remote Desktop Gateway con el cual podras crear Sesiones Remotas de tipo RDP, VNC, SSH y Telnet desde un único frontend web.
Para funcionar Guacamole no se necesita de ningún tipo de Cliente o Applet y es esto es gracias a que Guacamoles es una App Web basada en HTML5.




Para instalar Guacamole basta con seguir con las guias de instalación del proyecto Guacamole:



Pero para facilitar la tarea junte todos los ingredientes en un script de instalación.

El script funciona en CentOS 7, instala dependencias, baja y compila los source files de Guacamole y configura el OS para que en pocos minutos tengas disponible tu GW.

Para instalar Guacamole:

# wget http://sourceforge.net/projects/guacamoleinstallscript/files/CentOS/guacamole-install-script.sh
# chmod +x guacamole-install-script.sh
# ./guacamole-install-script.sh


Completar el Menu de Instalación y listo! A probar el Guacamole!



Luego estare realizando un script de instalación para Debian/Ubuntu y lo subire a sourceforge!

http://guacamoleinstallscript.sourceforge.net


Saludos
Hernan


viernes, 1 de mayo de 2015

Como montar un FTP al filesystem Debian/Ubuntu



Si ustedes como yo acceden de forma constante a un FTP una buena idea podría ser montar el FTP en un directorio del FS.


Instalar el curlftpfs:

# aptitude install curlftpfs


Para montar desde la linea de comandos:

# curlftpfs -o allow_other ftpUsername:ftpPassword@ftp.example.4u /mnt/ftp.example.4u/


Si quieres que se monte de manera automatica con el fstab:

# vim /etc/fstab


Agregar la siguiente linea:

curlftpfs#ftpUsername:ftpPassword@ftp://ftpUrl /localDirectory fuse rw,uid=1000,umask=0777,user,suid,allow_other,exec,auto,utf8 0 1

No olvides reemplazar usuario, passwd y la url del ftp!


Luego de guardar y salir le indicamos al fstab que monte todo de manera automática con el comando:

# mount -a


Por ultimo podriamos ver con el comando mount como quedo montado el FTP:


mount curlftpfs



Salu2!

Hernan

jueves, 30 de abril de 2015

Zoneminder 1.28 con problemas para visualizar Camaras con tinyCam Monitor de Android

En el sitio oficial de ZoneMinder tenemos una Repo para RHEL/CentOS mantenido por Andrew Bauer. Con el ZM es muy sencillo de instalar y configurar, solo encontré un problema al momento de ver las cámaras con la app tinyCam Monitor para Android.

Resulta que la app intenta acceder a un archivo CGI el cual no encuentra.

Con el comando tcpdump podemos ver el error.

tcpdump


La app no encuentra el archivo nph-zms!

El workaround para solucionar esto es copiar el archivo nph-zms al directorio cgi-bin del apache:

[root@Camaras ~]# cp /usr/libexec/zoneminder/cgi-bin/nph-zms /var/www/cgi-bin/

El debug:

Para hacer el debug lo que hice fue utilizar el comando tcpdump desde el CentOS donde tengo instalado el ZM, y como dato adicional le pase por parametro al tcpdum la IP de mi smartphone mas el parámetro X para ver el payload en ASCII :

[root@Camaras ~]# tcpdump -i eth0 host 172.16.1.165 -nnvvX 

Si acceden por SSH también podrían agregar como parámetros al tcpdump "not port 22" para no capturar las sesión de SSH.

Espero les sea útil!
Salu2