0

Crear un .iso desde el file system de un Unix

Posted by Jose Luis Manrique on 8:10 in ,
Todos los días de trabajo tengo una necesidad nueva, esta vez mi problema gira entorno a armar una imagen (.iso) para un DVD/CD este lo voy a montar en el file system y luego a ejecutarlo. Para realizar esta tarea voy a utilizar el comando mkisofs (el nombre suena como "make iso from file system" el nombre correcto creo yo) y ya que el objetivo es muy puntual solo queda ejecutar el siguiente comando:
$mkisofs -D -o miarchivo.iso /home/jlmanrique/DVD
Donde -D es para decir que se va a incluir directorios largos, -o indica que se va a ingresar el nombre del archivo, miarchivo.iso es el nombre del archivo a generar y /home/jlmanrique/DVD es la raíz desde donde se copiaran todos los archivos. Tener en cuenta que para un .iso podemos agregar mas rutas simplemente las tenemos que separar por un espacio. Finalmente esperamos unos momentos y tenemos nuestro archivo iso. Espero les sea de utilidad tanto como a mi.

0

Feliz dia Mamá!!!

Posted by Jose Luis Manrique on 19:38 in
Segundo domingo de mayo, las calles llenas, las tiendas con muchas ofertas y por donde vaya encontraré muchos "Feliz Día Mamá". Las personas compran cosas para sus abuelas, madres, esposas, hermanas, hijas, etc, buscan el mejor peluche, un buen perfume, ropa elegante, casual, sport cualquier cosa que le pueda ser útil o simplemente que en algún momento lo pueda usar. Lo cierto es que muchos recapacitamos este día acerca de la persona que tenemos (o tuvieron) a nuestro lado, recordamos las veces que le hicimos pasar una mala noche esperando a que lleguemos a casa o cuando se preocupa por que no llevamos comida o cuando en el trabajo nos quedamos hasta tarde. Los motivos para preocuparse sobran algunas lo hacen notar otras no pero siempre hay ese sentimiento. A todo esto aprovecho el momento para decir lo siguiente:
"Mamá no seré el mejor hijo del mundo, te hice (y seguiré) renegar muchas veces se que también no siempre compartimos las mismas opiniones pero a pesar de todo te quiero mucho y no cambiaría por nada todos los momentos que vivimos. Muchas gracias por todo."
La foto es de la graduación de primaria de mi hermana menor

0

Montar un .iso en el fileSystem de un UNIX?

Posted by Jose Luis Manrique on 8:03 in ,
La verdad es que a primera vista parece que eso no fuera cierto y para los usuarios de M$ Window$ hacer esto quiza requiera el uso de algún programa extra (si el propio SO lo tiene haganmelo saber) pero en un Unix común y corriente que posee el programa mount se puede hacer esta tarea.
La primera acción que debemos realizar es la creación de una carpeta donde iniciara el punto de montado eso lo hacemos ejecutando el siguiente comando:
$mkdir /home/jlmanrique/ISO_DVD
Seguido procedemos a realizar el respectivo montado, para eso ejecutamos el siguiente comando:
$sudo mount -o loop {nombre de imagen}.iso /home/jlmanrique/ISO_DVD
Para verificar que hemos realizado exitosamente el montado verificamos con un ls el contenido de la carpeta /home/jlmanrique/ISO_DVD . De esa forma realizamos el montado de un .iso en nuestro filesystem, ahora para que podría ser útil:
  • Se te acabaron los cds y requieres levantar una imagen.
  • Requieres copiar algunos archivos de una imagen (o todo el contenido).
  • O como en mi caso, requieras hacer un appliance, descargaste el instalador (.iso) y como tu lectora de dvd no es quemadora se tu puede aguar la fiesta ya que requieres usar todos los archivos de la imagen.
  • Simple gusto.
Si encuentras otro uso no dudes en dármelo a conocer.

0

Estructura de directorios en Unix

Posted by Jose Luis Manrique on 13:54 in
Cuando uno ve la estructura de directorios de un Unix por primera vez puede apreciar que existe una raíz y a diferencia de M$ Window$ que tiene varias unidades y al comienzo pueden confundirlo a uno pero la verdad es que detras de todo esto hay una idea muy simple pero muy potente.
A fin de que tengan una pequeña idea de cuales son las carpetas que debemos de tener en cuenta al momento de ver un Unix les dejo el siguiente enlace el cual describe cada una de las carpetas mas importantes en un entorno de las X. En lo personal me sirvió mucho y quiza encuentren algunas diferencias sobre el tipo de Unix que estén usando pero la idea se mantiene, espero el enlace les sea de utilidad tanto como lo fue para mi.

0

Log4j no será el más eficiente pero es muy útil

Posted by Jose Luis Manrique on 15:03 in ,
Casi al finalizar el día de trabajo se presento una pregunta muy peculiar entre uno de mis compañeros de trabajo esta era sobre el uso del log4j en una aplicación. Para comentar un poco los hechos esto fue lo que realmente paso:
  1. Me encontraba muy tranquilamente esperando a que el SuSE 10 en una máquina virtual y vi a un compañero programar unas cuantas lineas usando el system.out.println(), cuando lo revise le dije que seria mejor que use el logger para que pueda revisar lo que imprime su aplicación al momento de arrojar errores.
  2. Lo siguiente fue una duda por como configurar esto a lo cual simplemente el dije que habia que agregar un nuevo appender (org.apache.log4j.ConsoleAppender) que se encargara de imprimir en la consola, una vez realizado esto procedimos cambiar el código para que utilizara el logger en modo ERROR ya que se pintaba un Exception (en este caso un java.lang.NullPointerException).
  3. Luego de mostrarle algunos tips para utilizar el logger (el clasico logger.isDebugEnable y logger.isInfoEnable) le dije que utilizar el system.out.println() era para "Salvajes" haciendo referencia a que esa era una practica muy antigua (casi de la época de las cavernas).
  4. Seguido de esto otra persona me dijo por que decía eso de utilizar el sysout ya que ambos cumplían con el mismo objetivo y que le parecía mas fácil el uso del sysout. Mi respuesta fue como diría un amigo "muy hábil" puesto que en ese momento se me ocurrió decir que era por una cuestión de performance.
  5. Si esta persona se sentó creyendo que esta era una respuesta adecuada (al menos eso parecía) no tarde en darme cuenta de la tremenda tontería que había dicho (por lo cual pido las disculpas del caso) ya que la verdad es que al ser log4j un framework este agrega un determinado tiempo de llamada a los métodos para el pintado en un archivo, consola, etc y el formateo de los mismos dependiendo del patrón que estemos escogiendo. Todo este tiempo claro esta no es generado por el sysout y por ende a este lo hace "mas veloz" si se trata de escribir claro esta en el sysout.

Por un momento esto nos lleva a pensar cuales podrían ser los motivos que nos llevan a usar un framework para el manejo de logs y si realmente valen la pena usarlos ya que tendríamos mas tiempo de procesamiento para pintar en las diferentes salidas que necesitemos. La verdad es que a pesar de consumir mas tiempo del procesador si es muy necesario el uso de un framework para esta funcionalidad por eso voy a listar los motivos por los cuales uso el log4j para manejar mis archivos de log.
  1. Todo framework tiene como objetivo el facilitarnos las tareas de algún campo en especifico y log4j no es la excepción a la regla puesto que su principal objetivo es ayudarnos con el manejo de los logs de nuestra aplicación ofreciéndonos una gran variedad de configuraciones que nos permitirán concentrarnos en nuestro problema real: Desarrollar una aplicación y no en desarrollar un buen manejo de logs.
  2. Para realizar una buena configuración de log4j no se requiere tener conocimientos extremos de como abrir y cerrar un flujo y si lo estamos haciendo de la forma correcta o no, simplemente tenemos que utilizar los appenders que estan definidos como parte del framework dentro de los cuales tenemos el ConsoleAppender para escribir en la salida estándar, el DayliRollingFileAppender si deseamos que se cree un archivo de log cada dia que pasa, el RollingFileAppender el cual escribe de manera circular cada vez que el archivo llega a un determinado tamaño, el AsyncAppender para escribir de manera asíncrona en el archivo entre otros. En caso ninguno sea de nuestro agrado se puede extender (tomarlo como heredar de la clase o basarse en ella) cualquiera de estos a fin de obtener el manejo esperado.
  3. Otra de las funcionalidades que tenemos es el formateo del mensaje a escribir esto lo hacemos usando plantillas que se llaman Layout, cada uno de estos describe el formato en el cual se escribirán nuestros mensajes, dentro de estos tenemos al HTMLLayout el cual ingresa cada uno de los logs como una linea de una tabla, el PatternLayout (el que mas uso) el cual escribe el log en base a un patrón ingresado en el archivo de configuración, el SimpleLayout el cual solamente describe el nivel del log y el mensaje, entre otros. Al igual que los Appender si ningún Layout es de nuestro agrado podemos crear el propio que cumpla con nuestro requerimiento, personalmente no he tenido la oportunidad de realizar dicha tarea puesto que con el PatternLayout realizo todas mis tareas.
  4. Otra de las características que me agrada de este framework es el manejo de varios niveles del mensaje los cuales son: TRACE, DEBUG, INFO, WARN, ERROR y FATAL. El como manejarlos puede depender de cada uno, mi sugerencia es manejar cada mensaje informativo entre el TRACE, DEBUG e INFO el uso de cada uno deberá ser en el grado de importancia que se desee tener, para el caso de los mensajes en WARN lo utilizo para mostrar algún evento en el sistema que no es un error pero que si seria bueno documentarlo a fin de mostrar una advertencia en el log, el uso del ERROR es para mostrar errores del sistema y el FATAL es cuando queremos pintar algún mensaje antes de detener el servicio totalmente. Esta es la "formula" que hasta el momento me ha servido para manejar los niveles de mis mensajes.
  5. El manejo de diferentes fuentes de impresión del log dependerá de la cantidad de Appenders que nosotros registremos en nuestra configuración, para el programador el escribir en una fuente o en cinco es transparente el solo tiene que decir que tipo de mensaje quiere imprimir y el framework se encargará de realizar las impresiones necesarias. En el caso de utilizar el sysout uno debe de indicar manualmente donde realiza la impresión y si se quiere quitar una fuente se deberla de volver a compilar la aplicación a fin de efectuar el cambio.
  6. Regresando a los niveles de log el utilizar un nivel u otro y mostrar o algunos mensajes o no es tan trivial como modificar un archivo de configuración (properties o xml) el desarrollador no tiene que modificar código fuente para realizar el cambio y mucho menos tiene que recompilar la aplicación para realizar estos cambios, lo cual lo pone un paso adelante del manejo del sysout.
  7. Finalmente la mejor opción por la cual usuaria el log4j en vez del sysout es por que si realizo un buen uso de los niveles de mensajes en el código no requiero iniciar la aplicación en modo debug lo cual nos ahorra tiempo al momento de depurar errores puesto que todos estos se encuentran debidamente documentados en un archivo, consola, base de datos, etc.

Si a pesar de todo esto aun no quieres usar el log4j o algún otro framework pues solo me queda decirte que mas adelante tendrás muchos problemas o acabarás creando tu propio framework para pintar tus eventos. Para que reinventar la rueda si esta funciona y muy bien, espero este post sea de su agrado.

0

Crear un DVD de Suse usando los CDs

Posted by Jose Luis Manrique on 13:29 in ,
El dia de hoy tuve un gran problema al momento de utilizar una herramienta llamada mmtools de IBM esta me pedía utilizar un DVD que tuviera el instalador del sistema operativo pero yo solo contaba con los CDs. Luego de buscar en google un rato encontré una herramienta llamada makeSUSEdvd que justamente hacia lo que requería. La instalación de esta herramienta es muy simple, se descarga el rpm del site y se procede a ejecutar el siguiente comando:
$sudo rpm -i makeSUSEdvd-0.45.1-1.44.noarch.rpm --nodeps
El parámetro nodeps es para que al momento de la instalación del rpm este no verifique las dependencias. Una vez realizado esto procedemos a ejecutar la herramienta pero en modo interactivo el cual simula un wizard a medida que va avanzando va haciendo preguntas acerca de información posees, para realizar esto usamos el siguiente comando:
$sudo makeSUSEdvd -I
En mi caso ingrese la siguiente información:
  • Requiero crear una carpeta.
  • El directorio de la carpeta sera: /home/jlmanrique/SUSE_DVD.
  • No requiero rpms adicionales.
  • Para la creación estoy usando cds.
  • El punto de montado de los cds sera: /home/jlmanrique/SUSE_CD
Es muy probable que te preguntes como hago para cambiar el punto de montado de mi lectora de cd ya que por lo general estos se configuran solos en /media/XXXX (en mi caso fue en /media/SLES10_00X donde X es el numero de disco), pues para realizar esto deberás primero ubicar el archivo al cual hace referencia tu lectora esto lo revisas usando el comando df. Una vez ejecutado este comando podrás ver otros dispositivos como tus discos duros, en mi caso la lectora se encuentra en la ruta /dev/sr0 . Ya con el dispositivo ubicado se procede a realizar el desmontado y montado de la lectora, esto lo realizamos con los siguientes comandos:
$#Desmontado del dispositivo
$sudo umount /dev/sr0 #cambiar por el dispositivo
$#Montado del dispositivo
$sudo mount /dev/sr0 /home/jlmanrique/SUSE_CD #carpeta indicada antes
Regresando a la creación del DVD una vez ingresada toda la información que pide la herramienta, esta nos requerirá que se ingresen uno a uno los cds para esto debemos de realizar el procedimiento para realizar el desmontado y montado en una carpeta diferente. A medida que vamos ingresando la herramienta unira estos cds en una sola imagen. Para finalizar la creación se deberá presionar cualquier tecla diferente a ENTER y a disfrutar del DVD de instalación de SuSE.

Copyright © 2009 Autumn All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive.