Ésto es sencillisimo, con una línea de comando tenemos una imágen de nuestro CD/DVD y podemos usarla como copia de seguridad o para montarla usando máquinas virtuales o a un directorio del sistema. El código es:
dd if=/dev/cdrom of=/ruta/destino/archivo.iso
if=Input File (Archivo de entrada)
of=Output File (Archivo de salida)
Nota: /dev/cdrom podría ser /dev/cdrom1 o /dev/cdrom2 o /dev/hdc dependiendo cómo está configurada su unidad en el fichero /etc/fstab.
Cómo… Montar una imágen ISO en Linux
Son unos cuánto pasos:
1. Crear un directorio por donde se va a acceder a los archivos de la imágen:
# mkdir /mnt/iso
2.a. Montar la imágen ISO en el directorio creado, en modo de sólo lectura:
# mount imagen.iso /mnt/iso/ -t iso9660 -o ro,loop=/dev/loop0
2.b. Montar la imágen ISO en el directorio creado, en modo de escritura:
# mount imagen.iso /mnt/iso/ -t iso9660 -o loop=/dev/loop0
—
* imagen.iso es el archivo de imágen que se quiere montar.
* -t iso9660 es el parámetro que le indica que el archivo tiene formáto de imágen ISO.
* -o Opciones que se aplicarán.
* ro le dice que debe montar la imágen en modo de sólo lectura.
* -o loop=/dev/loop0 es el dispositivo virtual que manejará la imágen.
Si loop0 está ocupado seguir secuencialmente loop1, loop2…, etc.
Éste truco es interesante porque podemos modificar archivos dentro del ISO sin tener que desempaquetar y reempaquetar y personalizamos lo que deseemos ahí dentro
Éste post complementa a Cómo clonar ‘informalmente’ una imágen de disco de VirtualBox, en el cuál se me habían presentado dos problemas muy molestosos; el de no poder clonar una imágen (disco duro de VBox) usando su herramienta de clonado y la otra la razón desconocida por la cuál net.eth0 no levantaba el servicio. Gracias a un poco de lectura en los foros de VBox y a la gran ayuda de dos usuarios de #gentoo-es (Chinchorro y ferdy) pude llegar a la solución de ambos problemas.
- Para clonar una imágen de VirtualBox usando su herramienta (VBoxManage) es obligatorio especificar la ruta completa del archivo fuente y del destino (vaya tontera) sólo si estuviesen fuera del directorio por defecto fijado en Vbox (normalmente ~/.VirtualBox/VDI). Sin ésto dará un error incomprensible. Por ejemplo:
#VBoxManage clonevdi /media/datos/original.vdi /media/trabajo/copia.vdi
- Si el disco a clonar tuviese información de estado (Snapshots) primero es necesario ‘mezclar’ la información de estado con el disco copia.
- Si la máquina virtual está corriendo, apagarla.
- En la ventana del administrador de VirtualBox seleccionar la VM deseada y hacer clic en la etiqueta Instantáneas (Snapshots)
- Si desea incluir el estado actual, hágalo seleccionando Estado Actual (Current State) y luego ejecute el comando Tomar instantánea (Take Snapshot).
- Elija la instantánea que desee incluir en ls nueva VM y ejecute Descartar Estado e Instantánea actual (Discard Snapshot). Ésto incluye el archivo de la instantánea dentro de su archivo VDI padre (archivo de instantánea o disco base).
- Repetir el paso anterior hasta que la instantánea más antígua sea incluida en el VDI base.
- Referente a net.eth0 tal parece que UDEV crea un conjunto de reglas para cada dispositivo al detectarlos, entonces, la dirección MAC de la tarjeta virtual de la máquina virtual original queda registrada en las reglas, al clonarla obviamente VBox le asigna otra MAC a la tarjeta de red, por lo tanto no coincide con la almacenada en las reglas establecidas por UDEV de ahí que tiene sentido que levante el servicio cambiando el nombre del script a net.eth{1, 2 , 3,…}, la tomará como otra tarjeta ‘habil’ y levantará correctamente. Para reparar éste inconveniente no hace falta nada más que editar las reglas, borrar la información de la tarjeta de red y reiniciar; UDEV la detectará nuevamente y voila! red por net.eth0 nuevamente.
- sudo vim /etc/udev/rules.d/70-persistent-net.rules
- Borrar la línea parecida a ésta: SUBSYSTEM==”net”, DRIVERS==”?*”, ATTR{address}==”00:15:58:15:0f:75″, NAME=”eth0″
- Guardar y reboot.
Otra cosa interesante que no había leído son los Snapshots… ¿qué son?, pues un Snapshot toma una ‘imágen’ del estado del sistema virtal en ese preciso momento, es posible regresar a un estado anterior del sistema simplemente borrando la imágen del estado actual (current snapshot). Cuando se crea un Snapshot los cambios realizados en el sistema se acumulan en el archivo de Snapshot actual, los archivos de estado antígüos y archivos de imágen de disco están en modo de sólo lectura. Si no exísten archivos de estado (snapshots) el archivo de imágen del disco acumula los cambios como lo hace un disco normal.
Bueno por ahora ya está
sigue configurar la red e instalar servidores y clientes, veamos como nos va.
Ok… año nuevo, objetivos nuevos. Luego de probar VirtualBox gracias a sugerencia de David y Boris, y leyendo un poco más de documentación en Internet y algunos documentos es probable que cambiemos de rumbo nuestro actual desarrollo de la Intranet.
Para empezar le he dado un gran vistazo a LDAP (Lightweight Directory Access Protocol – Protocolo Ligero de Acceso a Directorios) que exíste desde hace mucho tiempo ya, entonces si exíste una base de datos jerárquica que nos brinda todos los datos necesarios de los usuarios, nos permita integrar sistemas con una sóla llave de acceso y además integrar plataformas distintas… ¿para qué programar una base de datos nueva que no tiene ni la mitad de la funcionalidad que ésto ofrece?
Debo pedir disculpas por mi ignorancia en éste rumbo, es la primera vez que tengo la oportunidad de probar sistemas en red ya que hasta hace poco no creía que una máquina virtual podría realizar el trabajo completamente, pero, he estado completamente equivocado (vamos que tonto) además LDAP <-> Active Directory era la propuesta más lógica antes de proponer un sistema diseñado completamente de cero. Todos las herramientas que mencionaré de principio son sólo supuestas, a medida que vaya experimentando sabré cuales son las correctas y cómo organizarlas.
Para la programación:
- Aplicaciones: Ruby On Rails + MySQL.
- Integración de capas: Ruby-Net-LDAP.
- Control de versiones: Git.
Para la prueba, 4 máquinas virtuales conectadas en una LAN simple o usando OpenVPN:
- Gentoo Linux + LDAP servidor + Kerberos + Mongrel o Apache + Aplicaciones [Rails].
- Gentoo Linux + X cliente.
- Windows 2003 Server + controlador de dominio + Active Directory.
- Windows XP cliente.
Principales inconvenientes de momento:
- Hardware, mi pentium D no creo que soporte la carga de las 4 máquinas virtuales así que necesito adquirir una Quad Core lo más pronto posible.
- Tiempo de instalación y configuración de servidores y clientes.
Esta parte es sólo la de infraestructura, el desarrollo de las aplicaciones tiene iteraciones independientes y tiempos distintos, ya se calcularán en su momento.
Obviamente la manera formal es:
VBoxManage clonevdi
¡Pero no funciona! así que el truco es cambiar el UUID del disco virtual para que VBox no lo reconozca como uno ya existente:
cp original.dvi copia.dvi
VBoxManage internalcommands setvdiuuid copia.vdi
Y listo, funciona a la perfección; aunque no reconoce los drivers de mi tarjeta de red, pero sospecho que ese es otro tipo de problema.
El día de ayer se realizó exitosamente el Coloquio organizado por el canal #supremos y Puntolibre.org. Las exposiciones se llevaron a cabo con total normalidad y los asistentes aportaron gran cantidad de preguntas interesantes; por mi parte realicé una pequeña charla de Gentoo en terminos generales, he de decir que la mayoría de los usuarios piensan aún que es un sistema muy difícil de manejar… tenemos que trabajar en ese aspecto
Los logs de las conferencias pueden encontrarlos acá.
Opino que deberían organizarse más actividades como ésta así los usuarios noveles puedan adentrarse más en los conceptos tanto técnicos e ideológicos del Software Libre.