Cambiar el UUID de un disco virtual en VirtualBox

Hace 3 días, pretendía hacer una prueba con VirtualBox y una máquina virtual donde tengo instalado Ubuntu. Como no quería alterar la máquina virtual, pensé que el camino más fácil consistía en hacer una copia del archivo con extensión .vdi (el archivo que contiene el disco duro virtual donde tengo instalado el sistema) y crear una máquina virtual nueva que, en realidad, seria una copia de la que ya tenía. Si, ya sé que las máquinas virtuales se pueden exportar, pero ¿qué es la vida si no se hacen experimentos?

Por supuesto, tuve la precaución de hacer la copia con la máquina virtual apagada (no vale cerrar guardando el estado).

Todo parecía ir bien hasta que intenté asignar el disco copiado a la nueva máquina. En ese momento, recibí un error como este:

error_uuid_01 virtualbox
error_uuid_01 virtualbox

El motivo es que ha detectado que existen dos discos con el mismo identificador (el original y la copia).

Si alguna vez te ocurre lo mismo, la solución es tan sencilla como decirle a VirtualBox que cree un identificador nuevo para el disco que acabas de crear. ¿Que cómo lo haces?, pues abre una ventana de Consola (Aplicaciones > Accesorios > Terminal) y dirígete al directorio donde tienes los discos duros virtuales para VirtualBox. Normalmente, la orden necesaria será esta (puedes copiar y pegar si te resulta más sencillo):

cd ~/.VirtualBox/HardDisks

A continuación, sólo tendrás que escribir (o copiar y pegar de nuevo) la siguiente orden:

VBoxManage internalcommands setvdiuuid "Ubuntu (copy).vdi"

… donde, lógicamente, tendrás que cambiar el nombre Ubuntu (copy).vdi por el que le hayas dado tú al archivo que has copiado (a la copia, no al original)

Después de esto, ya puedes crear una nueva máquina, que utilice el disco duro virtual que has duplicado, y tendrás un clon perfecto de la máquina original.

Espero que te resulte útil.

fuente: sliceoflinux.com

Instalar Spotify (nativo) en Linux

Es una versión experimental de Spotify pero menos es nada:

# 1. Añade esta línea a tu lista de repositorios editando /etc/apt/sources.list
deb http://repository.spotify.com stable non-free

# 2. Ejecuta apt-get update
# 3. (opcional) Si quieres verificar los paquetes descargados, debes añadir nuestra llave pública

gpg –keyserver wwwkeys.de.pgp.net –recv-keys 4E9CFF4E
gpg –export 4E9CFF4E |sudo apt-key add –

# 4. Ejecuta apt-get install spotify-client-qt spotify-client-gnome-support

Enlace | Instrucciones de Instalacion

Linux+ de Julio: Metasploitable

  • ¡Metasploitable: Entorno de entrenamiento de Seguridad Informática! – 7/2010 (67)
    Metasploitable 07/2010

Temas a tratar…

  • El kernel Linux a fondo

    El núcleo o kernel Linux es el elemento fundamental de todo sistema operativo GNU/Linux, responsable de la correcta comunicación entre el hardware y el software de la computadora. Su desarrollo comenzó en 1991 como un proyecto personal a manos de Linus Torvalds, sin embargo, actualmente nvuelve a miles de usuarios y programadores de todo el mundo.


    – Marcos Blanco Galán

  • Plataforma OSOR: balanceo de máquinas virtuales en alta disponibilidad

    En el artículo “Plataforma OSOR: San de alta disponibilidad con Linux” 1 se presentó por primera vez la arquitectura de la plataforma Osor. En este rtículo se mostrará la segunda parte de la arquitectura, un módulo de cómputo de alta disponibilidad, basado en máquinas virtuales, e implantado mediante tecnologías de software libre, que pretende servir de ejemplo para arquitecturas similares.


    – Francisco Olcina Grande

  • Ojos que no ven, Linux que no padece

  • EOL: Generación de exámenes online autocorregidos

    Uno de los momentos que nos causan más pereza a los profesores y maestros suele ser el momento de corregir los exámenes que hemos pasado a uestros alumnos. Sería muy interesante disponer de alguna herramienta web que, a base de formularios, recogiera las respuestas de los niños, las corrigiera de modo automático y notificara los resultados al profesor.


    – Dolores Nogueras, Antonio Gómez

  • Linux SmartCheap: Construcción desde la nada

    Tener un sistema operativo (OS, Operating System) en un dispositivo pequeño puede ser beneficioso. Como siempre en cualquier solución de ingeniería la decisión es de compromiso: depende de los recursos que gaste versus los beneficios que aporte.


    – Lino García Morales

  • Metasploitable: Entorno de entrenamiento de Seguridad Informática

    Cuando se piensa en qué sistema utilizar para comprobar su seguridad informática, poca gente tiene conocimiento sobre alguno que nos permita hacerlo de una forma ética y legal. Aquí es donde puede entrar a escena Metasploitable, la cual es una imagen VMware de un servidor Ubuntu 8.04 con diferentes paquetes de servicios vulnerables instalados.


    – Daniel García Gutiérrez

GoogleCL – Accede a los servicios de datos de Google por consola/terminal

De Google podemos decir cualquier cosa, excepto que sea predecible con sus nuevos servicios y aplicaciones. Y este es el caso de GoogleCL, una aplicación para acceder a los servicios de datos de la empresa desde la línea de comandos. Fue presentado con bombo y platillo hace no más de una semana y no es sino un gran script Python que usa las bibliotecas gdata (Google Data Protocol). Les presentaré unos ejemplos para comenzar a aprovecharlo.

Por ahora, GoogleCL soporta estos servicios:

Docs

  google docs edit --title "Comandos Linux"

Blogger

  google blogger post --title "Frase" "Si no te equivocas de vez en cuando, es que no lo intentas"

Calendar

  google calendar add "Desayuno en Tiffany"

Contacts

  google contacts list name,email > contactos-respaldo.csv

Picasa

  google picasa create --title "Fotos vergonzosas" ~/fotos/familia/*.png

Youtube

  google youtube post --category Education aprendiendo_navi.mp4

Instalación enUbuntu/Debian

Descarga el código fuente o bien el DEB para sistemas de la familia Debian. Elige tu favorita del sitio de descargas. La versión más reciente a la fecha es la 0.9.7. Desde Debian/Ubuntu ejecuta:

  sudo dpkg -i googlecl_0.9.7-1_all.deb

Uso

Hay muchos ejemplos en el sitio de GoogleCL. Aquí me concentraré en mostrar cómo configurar el acceso a Google Docs desde la línea de comandos. Antes de eso debes saber que ejecutado sin argumentos, GoogleCL inicia una sesión interactiva a través del comando google, con el carácter “>” como prompt.

  google
  > help
  Welcome to the Google CL tool!
    Commands are broken into several parts: service, task, options, and arguments.
    For example, in the command

    [...más salida...]

    Enter "> help <service>" for more information on a service.
    Or, just "quit" to quit.

   > help docs
   Available tasks for service docs: 'edit', 'delete', 'list', 'upload', 'get'
    edit: Edit a document
     Requires: title Optional: format, editor

    delete: Delete documents
     Requires: none Optional: title

    list: List documents
     Requires: delimiter Optional: title, folder

    upload: Upload a document
     Requires: none Optional: title, folder, no-convert Arguments: PATH_TO_FILE

    get: Download a document
     Requires: (title OR folder) Arguments: LOCATION

  > quit

Usaré la sesión interactiva en todos los ejemplos.

Es importante configurar el navegador que utilizaremos con GoogleCL para realizar ciertas tareas. Hay dos opciones: exportar una variable de ambiente BROWSER o editar el archivo de configuración de la aplicación. Te recomiendo esta última.

  echo auth_browser=firefox >> ~./google/config

Desde el shell de GoogleCL y con ayuda de la documentación haremos unas sencillas tareas. Comencemos por obtener una lista de nuestros documentos. La primera vez te solicitará un usuario y luego que aceptes desde el navegador que GoogleCL pueda acceder a tu cuenta en el futuro.

  google
  > docs list
  Please specify user: *****
  Please log in and/or grant access via your browser at https://www.google.com
  ***** then hit enter.

El navegador que elegiste se abre y debes dar clic en “Grant access”. Un archivo access_tok_tu_usuario se crea bajo el directorio ~./google.

De ahora en adelante ya no será necesario autorizar nada para ese usuario. Después de aceptar, en el shell de google aparece un listado de tus archivos. Aquí muestro una vista parcial de la salida porque es extensa.

  Lista de ejemplos,http://docs.google.com/Doc?docid=*****
  Reporte 10-P,http://spreadsheets.google.com/ccc?key=*****
  [... más salida ...]

Ahora edito un documento de texto con Vim.

 docs edit --title "In the beginning was the command line" --editor vim

Y aquí lo descargo

 docs get --title "In the beginning was the command line"
 Downloading In the beginning was the command line to /home/eli/In the [...] .txt

Conclusiones

Como sucede con cualquier herramienta, GoogleCL puede ser tan poderoso como lo quieras. Sobre todo si lo incluyes en tus scripts personales. Además notarás que algunas opciones tienen bugs, pero ten paciencia y espera la versión 1.0 estable. Si eres frecuente usuario del shell y de los servicios de Google, encontrarás en GoogleCL un importante aliado para tu productividad.

Convertir base de datos latin1 a UTF-8 en MySQL

Desde la version de  MySQl 4.1 que el charset por default es UTF-8. Si tienen una base de datos antigua con datos en latin1 y desean actualizar, deben de hacer lo siguiente:

  1. Para no perder los datos exportamos la informacion de la base de datos en latin1 a un archivo plano con el comando mysqldump:
    :~$ mysqldump -u usuario -p base_de_datos –default-character-set=latin1 &gt; backuplatin1.sql
  2. Entrando a la consola de MySQl (o mariadb) o administracion via web con PhpMyAdmin debemos de crear una nueva base de datos con el set de caracteres UTF8:
    :~$ mysql -u mi_usuario -p
    mysql&gt; CREATE DATABASE nueva_db CHARACTER SET utf8 COLLATE utf8_general_ci;
  3. Ahora procedemos a convertir el set de caracteres del archivo backuplatin1.sql. Para luego con el archivo resultante cambiamos todas las referencias al juego de caracteres latin1:
    :~$ iconv -f ISO-8859-1 -t UTF-8 backup.sql &gt; backup_utf8.sql
    :~$ perl -pi -w -e 's/CHARSET=latin1/CHARSET=utf8/g;' backup_utf8.sql
  4. Ahora con el backup o dump convertido al charset utf8 lo importamos a la nueva base de datos recien creada
    :~$ mysql -u mi_usuario -p  db_destino  –default-character-set=utf8 &lt; backup_utf8.sql