viernes, marzo 28, 2008

Hardy 1 - Yo 0

Esta semana me decidí a instalar Hardy en mi computadora, por "seguridad" descargué el disco alternate y me puse a instalarlo en mi compu de escritorio y si todo resultaba pues lo instalaba en mi laptop para ya usarlo en lugar de Gutsy.

Primeras Impresiones

Me gustó mucho la opción de poder instalar el LTSP que se ha agregado al menu de arranque del CD de instalación. Ya no voy a tener que darme tanto dolores de cabeza poniendo a punto el LTSP.

La instalación a mi parece fue bastante rápida (20 minutos aproximadamente) hasta que ocurrió el desastre :(

El Desastre

El proceso de selección e instalación de paquetes había finalizado y el mensaje del instalador era:
97% ...Limpiando
y de pronto toda la pantalla se tornó roja y con unos mensajes ininteligibles sobre libc6. No se ha que se deba este problema pero imagino que será algo relacionado con bug del que hablaba fitoria en su blog.

Por el momento voy a reintentar la instalación sin la opción de LTSP para ver que pasa.

miércoles, marzo 26, 2008

Hardy se viene pronto

Ya falta muy poco para el lanzamiento de Ubuntu 8.04 Hardy Heron y a partir de esta semana voy a empezar a utilizar en mi laptop (soy muy miedoso con las versiones alfa). Así que pronto les cuento mis experiencias con hardy.

lunes, febrero 25, 2008

Helena Lucía: Seis Meses después.

Ya son seis meses desde que nació mi sobrina y cada día esta más preciosa. Aquí les dejo unas cuantas fotos para que vean lo bella que está.




viernes, febrero 15, 2008

make fun

Mis primeros pasos programando los di en Lenguaje C y una de las cosas que me gustó mucho cuando cambié a GNU/Linux fueron los makefiles y lo más divertido es que casi, sino es que todos, los compiladores pueden hacer uso de estos archivos.

El proceso de compilacion puede ser muy tedioso y propenso a errores. De igual manera, los programas muy grandes puede constar de muchos módulos y son extremadamente difíciles de compilar a mano. Afortunadamente,UNIX (GNU/Linux) y MS-DOS/Windows tienen una herramienta llamada make (nmake en el caso de M$ Visual C++) que maneja los detalles de la
compilación. Make, busca en un archivo llamado: makefile la descripción de como compilar nuestro programa y ejecuta el compilador por nosotros.

Debido a que el makefile contiene las reglas para la compilación, este debe personalizarse para el compilador que estemos utilizando.

El makefile contiene las siguientes secciones:

- Comentarios
- Macros
- Reglas Explicitas
- Reglas Predeterminadas

Cualquier linea que comienza con el signo # es un comentario.

Una macro tiene el formato:

nombre = valor


donde nombre es cualquier identificador válido y valor es el texto que será sustituido cuando make vea $(nombre).

Por ejemplo:

#
# Makefile muy simple
#
MACRO = Doing All
all:
echo $(MACRO)


Las reglas explicitas le indican a make que comandos son necesarios para crear el programa. La forma más común para estas es:

destino: origen [origen2] [origen3]
comando
[comando]
[comando] ...


donde destino es el nombre de una archivo a crear. Este archivo es creado a partir del archivo fuente origen. Si el destino es creado a partir de múltiples archivos, todos ellos son listados. Esta lista debe incluir todos los ficheros de cabezera incluidos por el archivo fuente. El comando que genera el destino se especifica en la siguiente línea. Algunas veces necesitamos más de un comando para crear el destino. Los comandos se listan uno por línea y cada uno se encuentra identado por un tab (si un tab, ocho espacios no funcionarán :-/ ).

Por ejemplo, la regla:

hola: hola.c
gcc -g -ohola hola.c


le indica a make que cree el archivo hola a partir del archivo hola.c utilizando el comando:

gcc -g -ohola hola.c


make creará hola solamente si es necesario.

Make ofrece un conjunto extenso de comandos para la creación de programas. Para mayores detalles consulta las paginas del manual de make.

make fun ;-)

viernes, febrero 08, 2008

Feliz Aniversario Ubuntu-ni

Parece que fue ayer cuando leí en los foros de la UNI la invitación para formar parte de una comunidad de usuarios de Ubuntu. Mi experiencia con Ubuntu venía desde Warty y estaba muy satisfecho con esta distro, así que me dije: "What the hell..." Y me suscribí a la lista. El resto ya todos lo sabemos: Somos la comunidad más activa de habla hispana!!!

Que sigan los éxitos y feliz aniversario

jueves, enero 24, 2008

Arrancó el Linux Tour 2008

El Domingo 20 de enero arrancó el Linux Tour 2008 en el Centro AKF en Managua. El grupo Ubuntu fue invitado por la Asociación Kairos y en el evento participaron entre 40 y 50 jóvenes nicaragüenses y estudiantes universitarios del estado de Massachusetts, EE.UU. de visita en Nicaragua.



Puedes leer un resumen completo del evento en la lista de correos del Grupo Ubuntu Nicaragua, gracias a leogg.

jueves, enero 17, 2008

Grabar un CD sin crear una imagen ISO

El método más seguro para hacer una copia de un CD es primero crear una imagen ISO y luego grabar dicha imagen (vea este post). Pero algunas veces no tenemos el espacio (o tiempo) suficiente para el paso intermedio de crear la copia.

Si tienes una máquina suficientemente veloz, usualmente podras grabar directamente de un CD a otro. Usualmente esto funciona mejor cuando el CD origen y el grabador de CD se encuentran en dispositivos distintos.

Para hacer una copia en tiempo real de un CD, prueba lo siguiente:

# dd if=/dev/hdb | cdrecord -v speed=12 dev=0,0,0 fs=8m -data -


El argumento - de cdrecord significa que la pista de datos debe leerse desde la entrada estándar en lugar de un archivo. La linea dd alimenta la tubería de cdrecord con una copia del CD que se encuentra en el dispositivo esclavo primario del bus IDE primario. El parametro fs=8m hace que la FIFO de escritura sea un poco mas grande, para evitar errores por retardo en la tubería. Mientras nuestra computadora no este demasiado ocupada este método funcionara perfectamente.

Del mismo modo, no es necesario crear un ISO para grabar datos desde nuestro sistema de archivos. Prueba esto:

# mkisofs -r /home/jdavila/ | cdrecord -v speed=12 dev=0,0,0 fs=8m -data -


Al igual que dd, mkisofs escriber por defecto en la salida estándar. Esto alimenta la entrada estándar del proceso cdrecord, grabando el ISO en tiempo real, mientras se va creando. Esto evita la necesidad de tener una copia del ISO en nuestro sistema de archivos. Pero cuidado, si nuestra fuente de datos en mayor que un CDR (entre 650 y 700MB) entonces tendremos un CD inutilizable.

Para tener una idea de cuanto espacio necesitamos utilicemos du antes de grabar el CD:

# du -sh /home/jdavila
412 MB .


Excelente, 413 MB caben perfectamente en un CDR.

Happy burnings y recuerden: la consola no muerde ;-)

jueves, enero 10, 2008

Respaldar el MBR

Instalar un gestor de arranque no es una operacion que debe ser tomada a la ligera. Particularmente cuando utilizamos hardware IDE, es facil meterse en problemas y hacer que un sistema funcional entre en un estado en el le es imposible arrancar sin un disco de rescate.

Si tenemos un gestro de arranque instalado y funcionando, podemos considerar hacer una copia de respaldo del sector de arranque de nuestro disco principal.

Para IDE:

dd if=/dev/hda of=bootsector.bin bs=512 count=1


Para SCSI:

dd if=/dev/hda of=bootsector.bin bs=512 count=1


Alternativamente, podemos copiar el sector de arranque directamente a un disquete:

dd if=/dev/hda of=/dev/fd0 bs=512 count=1


Debemos ser extremadamente cuidadosos cuando especificamos las opciones if y of, ya que confundirlas podria destruir nuestro sector de arranque. Probablemente sea una mejor idea crear un archivo y copiar a un medio de almacenamiento a como lo harias con cualquier otro archivo. Confiar informacion critica a un floppy puede ser un truco muy divertido, pero despues de tu primer (o n-esimo) fallo del floppy en un momento critico, desearas tener otra copia del archivo.

Si alguna vez terminamos con un sector de arranque dañado, podemos restaurarlo rapidamente (despues de arranque desde un medio de rescate) de la siguiente manera:

dd if=bootsector.bin of=/dev/hda


O si lo respaldamos en un floppy directamente (bajo advertencia medica):

dd if=/dev/fd0 of=/dev/hda


Naturalmente debemos sustituir hda por sda si estamos utilizando SCSI.

jueves, enero 03, 2008

Trabajando con ISOs y CDR/CDRW

Existen muchas aplicaciones gráficas para crear y quemar imágenes ISO en GNU/Linux, la mayoría de ellas son simples front-ends que llaman a las herramientas en línea de comandos para realizar el trabajo de crear y quemar las imágenes ISO. Con las utilerías mkisofs y cdrecord instaladas trabajar con imágenes ISO desde la consola es bastante sencillo.

Para crear una imagen ISO lista para quemar, utilizamos mkisofs:
$ mkisofs -r /home/jdavila > /tmp/respaldohome.iso
La opción -r le dice a mkisofs que construya las extensiones Rock Ridge en la imagen resultante. Esto significa que los nombres largos de archivos y los permisos de los mismos serán preservados cuando el disco se monte en sistemas que soportan Rock Ridge. Cualquier usuario puede crear un ISO a partir de archivos para los cuales tiene acceso de lectura; no se necesita ser root para utilizar mkisofs.

Note que mkisofs almacena el contenido de los directorios que especifiquemos en la línea de ordenes y no el directorio en sí. En el ejemplo anterior creamos un ISO con el contenido del directorio /home/jdavila/ en el directorio raíz del CD.

Si necesitamos crear un ISO a partir de un CD, utilizamos esto:
# sudo dd if=/dev/cdrom of=imagen.iso
Cuando estemos listos para grabar el ISO en un CDR, podemos ejecutar un comando parecido a este:
# sudo cdrecord -v speed=12 device=0,0,0 -data image.iso
Debemos especificar la velocidad de escritura (o menor) en la opcion speed. Si necesitamos borrar un CDRW antes grabar la ISO, pasamos el parámetro blank=:
# sudo cdrecord -v speed=12 device=0,0,0 blank=fast -data image.iso
Hacer funcionar un quemador de CDs en GNU/Linux no es tan complicado a como solía ser, gracias al driver ide-scsi. Este es un módulo del Kernel que hace que los quemadores de CD con interfaz IDE aparezcan como SCSI, que son más fáciles de programar.

Ahora ya no tienes excusas para no utilizar la consola ;-)