tiny-backup

Nota: este artículo ha sido redactado por uno de nuestros lectores, David Saltares, que desarrolló una pequeña aplicación llamada TinyBackup -tenéis más datos sobre ese lanzamiento en su blog, donde podéis encontrar otros proyectos suyos- y que se ha animado a explicarnos las bases sobre las cuales se basó su desarrollo. Como podréis comprobar, desarrollar un proyecto Open Source propio no es tan complicado como podría parecer.Si eres de los que te gusta trastear con tu sistema GNU/Linux es probable que en multitud de ocasiones toques donde no debes y te veas obligado a reinstalar el sistema operativo. En ese caso comprendería perfectamente que hacerte con todos los paquetes a mano te suponga un dolor indescriptible.

 

Personalmente me he visto en la misma situación más veces de las que me gustaría y no aguantaba más. El tedio de numerosas reinstalaciones y las ganas de aprender el lenguaje de scripting orientado a objetos Python me llevaron a desarrollar Tiny Backup.

Tiny Backup

Tiny Backup es una sencilla utilidad que permite guardar una copia de la lista de paquetes instalados en nuestro sistema así como de los repositorios registrados. Imagina que, de pronto, tu sistema operativo deja de funcionar y tienes que comenzar de nuevo. En el mejor de los casos tendrás tu home en una partición distinta y tu configuración se habrá salvado.

tiny-backup backup

Simplemente deberás restaurar todo el software utilizando los ficheros de paquetes y repositorios que guardaste con Tiny Backup. Hasta aquí ofrece algo parecido a lo que hacen otras aplicaciones de la misma familia, no obstante, Tiny Backup cuenta con algunos detalles que le dan interés adicional.

¿Qué pasa si mi disco duro se estropea? No tendrás copia de seguridad que valga a menos que la guardes en un dispositivo extraíble. Tiny Backup ofrece la solución adicional de enviar los ficheros de respaldo por correo electrónico. Por el momento soporta GMail, Hotmail y Yahoo aunque se pueden añadir más servicios si alguien lo demandara. Además, Tiny Backup tiene una interfaz muy sencilla y es tremendamente liviano (100KB con la licencia GPL v3 incluida).

tiny backup restore

Antes de utilizarlo es necesario instalar sus dependencias, para ello ejecutamos:

sudo apt-get install python python-gtk2-dev

Para ejecutarlo podemos ingresar el siguiente comando o asignárselo a un acceso directo del panel de aplicaciones:

python /ruta-a-tinybackup/main.py

Como ya habrás supuesto está liberado bajo una licencia GPL v3 y puedes hacerte con él descargando el paquete correspondiente en su repositorio de Google Code. Si encuentras cualquier fallo o encuentras alguna posible mejora te estaría muy agradecido si me lo comunicases en mi blog.

Descargar Tiny Backup 0.1

El desarrollo de Tiny Backup

Como he mencionado al comienzo del artículo, desarrollé Tiny Backup en un par de días para asentar lo poco que sabía sobre Python (un magnífico lenguaje, por cierto). Actualmente estoy terminando Ingeniería Técnica en Informática de Gestión y si algo he aprendido en este tiempo es que la mejor manera de hacerse con una tecnología (librería, lenguaje o técnica de programación) es programando. Por supuesto si es desarrollando algo que te interesa, muchísimo mejor.

Tiny Backup utiliza las librerías GTK (concretamente el binding para Python llamado PyGTK) para la interfaz de usuario. Su carácter libre y multiplataforma (GNU/Linux, Windows y Mac) y su compatibilidad con multitud de lenguajes les confieren especial interés.

Glade, un gran editor de interfaces

Para diseñar la interfaz utilicé Glade, un imprescindible en el desarrollo de aplicaciones de escritorio utilizando GTK. Desde Glade diseñamos cada uno de los formularios y diálogos que compondrán nuestra aplicación para guardarlos en formato XML. La API de GTK se encargará de cargar dicho XML y renderizar muestra maravillosa interfaz de usuario.

glade

¿Qué ventajas nos aporta esto? La principal es la posibilidad de separar completamente la vista del código de nuestra aplicación. Si has utilizado algún IDE como Eclipse o Netbeans habrás comprobado que genera una tremenda cantidad de código para reconstruir la interfaz que hemos diseñado. Cada vez que lo pienso me entran escalofríos no sólo porque necesitemos recompilar el sistema tras cada modificación sino que el código se ensucia sobremanera.

Los más puristas del patrón de diseño “Arquitectura en tres capas” apreciarán la elegancia de separar radicalmente la GUI de la lógica. Si sólo necesitamos realizar pequeñas modificaciones en la interfaz es muy probable que ni siquiera tengamos que tocar una mísera línea de código. La modularidad y la independencia se ven potenciadas.

Glade cuenta con muchas más ventajas como la opción de decidir como se redistribuirán los componentes en un formulario cuando redimensionamos el mismo. Además es muy intuitivo y sencillo de usar. Si aún no te he convencido debes saber que muchas aplicaciones han sido desarrolladas con PyGTK y Glade, por ejemplo el estupendo reproductor de audio Exaile.

Los interesados pueden acudir a este genial tutorial para iniciarse.

Para terminar

En último lugar me gustaría agradecerle a Picajoso haber contactado conmigo tras mi comentario en el artículo sobre las CSS en GTK para invitarme a hablar sobre Tiny Backup y su desarrollo. Por supuesto, gracias a los lectores por aguantar este tocho de considerables dimensiones :)

¡Un placer y hasta pronto!

 

Fuente: muylinux

¿Quién está en línea?

Hay 15523 invitados y ningún miembro en línea