Tras los problemas que tenía en mi portátil con las actualizaciones de Archlinux opté por crear un pequeño script (Archdate) que haciendo uso de Zenity me permitiese seleccionar los paquetes a instalar.
Inicialmente pensaba que se debía a alguna incompatibilidad de mi equipo con las nuevas versiones del kernel pero, tras descubrir la solución al problema con la pantalla en negro al instalar Ubuntu, comprobé que los motivos de los cuelgues eran otros y pude utilizar, como cualquier otro mortal, el sencillo y cómodo
sudo pacman -Syu
No obstante desarrollé una nueva versión de Archdate (cuyo uso podéis leer en el siguiente artículo) que me gustaría compartir con vosotros.
Mejoras en el gestor de actualizaciones
Por refrescar la memoria os adjunto la siguiente captura de la aplicación

y, aunque su utilización es muy sencilla resultaba incómoda de utilizar cuando existían un gran número de actualizaciones pendientes. Motivo: por defecto aparecían todas las entradas sin marcar debiendo seleccionar una por una aquellas que nos interesaban (en caso de ser todas, el trabajo resultaba excesivo).
Para solucionarlo he incluido en el script un parámetro (-a o -A) que permite marcar automáticamente todas las entradas (como mnemónico a=all).
La nueva versión del script puede descargarse del siguiente enlace.
Detalles interesantes del script
Si miráis las diferencias con el script original comprobaréis que los cambios más significativos son:
- Incluida la opción select en zenity para que marque las entradas automáticamente.
- Uso del comando getopts como medio de gestionar los parámetros que se pasan al script desde la línea de comandos.
Getopts es un comando muy interesante el cual recomiendo que sea estudiado por todos aquellos que generáis vuestros propios scripts al simplificar enormemente la lógica necesaria para comprobar qué parámetros son suministrados por los usuarios.
Futuro de Archdate
Como dije el día que compartí con vosotros el script por primera vez, la idea y base del mismo son las metodologías ágiles y la filosofía KISS; ejemplo de ello es que he incluido una nueva funcionalidad (el marcado automático de las actualizaciones) cuando se ha convertido en una necesidad.
Si alguno usa el script y encuentra que necesita que haga algo que le resulta necesario o le facilitaría el trabajo tiene dos opciones:
- Desarrollarlo el mismo y compartirlo con los demás (el día que reciba una versión mejorada o un patch del código original me va a dar un infarto
) - Comentarlo y, si está en mi mano y cuento con el tiempo necesario, estaré encantado de incluirlo.
A día de hoy y, si no vuelvo a tener problemas con la actualización de algún paquete, no está en mis planes seguir modificando la versión actual (1.1); tanto es así que actualmente no lo uso habitualmente al funcionarme perfectamente el equipo con un
sudo pacman -Syu
Es por ello que dono el código libremente a cualquiera que quiera mejorarlo o basarse en él para desarrollar otro producto siempre que se acoja a las condiciones de la licencia GNU.
Si esto ocurriese (no considero que el script pueda resultar tan interesante) agradecería me comentasen las mejoras para darle algo de publicidad en el blog.
En definitiva y para cerrar el artículo:
- doy por finalizado este mini-proyecto
- lego la posibilidad de ampliarlo libremente a cualquiera que esté interesado
- si alguien le interesa alguna nueva funcionalidad me invito a incluirla si cuento con el tiempo y es factible
Espero que alguien haya podido aprovechar el script que tan buenos servicios me prestó cuando las actualizaciones no funcionaban correctamente en mi equipo.

















Muy interesante el script!
Normalmente uso la consola y me hice un alias para actualizar, pero mi hermano no usa casi la consola y tu script me parecio muy practico, pero estoy usando kde. Sabes de algo similar a zenity para kde? porque tenia en mente hacer la version para kde.
Gracias!
Saludos
Vaya, me alegra saber que le ha resultado útil a alguien el script
Respecto a una herramienta similar a Zenity en KDE (entorno que no suelo utilizar) comentarte que existe el proyecto KDialog que espero te sea de utilidad.
Suerte y, cuando tengas algo no dudes en comentarlo pues sería interesante ver cómo ha evolucionado para el otro gran entorno de ventanas.
Un saludo @Cazador
hola tome tu gestor y lo adapte para que funcionase con apt, aparte le he añadido mejoras gráfica ya sea barras de progresos, terminal donde se vea el proceso de actualizacion, comandos de limpieza y uno por si hay un error en la actualización, al final cuando termina laza una notificación.
aqui el link
http://www.megaupload.com/?d=Q1I25SPJ
Una idea muy interesante, ten por seguro que lo apunto para echarle un vistazo (a ver qué aprendo
)
Gracias por compartirlo @daxos