Su uso se muy sencillo, se requieren los archivos .jigdo y .template de la imagen que queremos descargar/actualizar y listo. ¿Y para qué este script entonces? Bueno primero cada vez que la imagen cambia, también lo hacen los archivos .jigdo y .template por lo que hay que mantenerlos actualizados, luego para actualizar una imagen esta tiene que estar montada, por último tenemos que tener cuidado de no confundir las imagenes ya que su nombre es el mismo.
Para no tener que hacer esos pasos cada vez que queremos actualizar la o las imágenes es que he echo este script :)
El código se explica por si mismo, es una primera versión que iré mejorando con el tiempo y añadiendo mejor funcionalidad, como la posiblidad de actualizar varias imágenes en paralelo.
Espero que los usuarios Debian lo puedan probar y comenten cualquier cosa al respecto, si les ha funcionado, que mejorarían en el código actual, etc.
El script es el siguiente:
#!/bin/bash
# 19/01/11
# Speedlight - CarlosE.
# web: http://lasaventurasdetux.blogspot.com
# email: carlos.e@softwarelibre-ec.org
#
############################################################################################
#### JDIS (Jigdo Debian Image Syncronizer) version 0.1 ####
#### Script para descarga de las imágenes weekly-build de Debian Squeeze mediante jigdo ####
############################################################################################
# V0.1
# Changelog: 19/01/11 3am.
# + Primer escrito del script.
# + ADD: procedimiento inicial para obtención de una imgen por vez.
# Changelog: 19/01/11 10am.
# + FIX: traslado de imagen nueva a directorio de isos.
# Changelog: 19/01/11 23:30pm
# + ADD: comprobación de punto de montaje /mnt.
# + Limpieza y arreglos del código.
#
# Por hacer
# - limitar el ingreso de número de imagen [1-8]
# - reiniciar el proceso para continuar con las siguientes imágenes.
# - añadir bienvenida :D
# - posiblidad de descarga paralela de imágenes.
# - !!! modificar valores por defecto del archivo ~/.jigdo-lite !!!
# ---Datos útiles---
# jigdo url --> http://cdimage.debian.org/cdimage/weekly-builds/i386/jigdo-dvd/
# rsync --> $rsync -avPh --progress cdimage.debian.org::cdimage/weekly-builds/i386/jigdo-dvd/* .
# isos finales --> /media/datos/distros/squeeze-week/
# isos jigdo --> /media/datos/distros/squeeze-week/jigdo
# montaje iso --> $sudo mount -o loop /ubicacion/imagen.iso /mnt
clear
# --- Variables ---
ARCH=i386
DIRJIGDO=/media/datos/distros/squeeze-week/jigdo
DIRISOS=/media/datos/distros/squeeze-week
ISOMON=/mnt
# Sinc. de directorio jigdo-dvd weekly-builds desde cdimage.debian.org -------##
echo "Ubicación de sincronización: $DIRJIGDO"
rsync -avPh --progress cdimage.debian.org::cdimage/weekly-builds/$ARCH/jigdo-dvd/* $DIRJIGDO/
# ----------------------------------------------------------------------------##
# Montaje de imagen iso ------------------------------------------------------##
echo "Ingrese el número de imagen que desea sincronizar (1-8)"; read ISONUM
ISOFILE=debian-testing-$ARCH-DVD-$ISONUM.iso
! cat /proc/mounts | grep -q /mnt
if [ $? -ne 0 ]; then
echo "Ubicación de montaje en uso, desmontando.."
sudo umount /mnt
echo "Ubicación liberada, continuando.."
fi
echo "Montando imagen correcta.."
sleep 3
sudo mount -o loop $DIRISOS/$ISOFILE /mnt;
# ----------------------------------------------------------------------------##
# Ejecución de jigdo-lite ----------------------------------------------------##
JIGDOFILE=debian-testing-$ARCH-DVD-$ISONUM.jigdo
echo "Iniciando sincronización jigdo..."
jigdo-lite --scan $ISOMON $DIRJIGDO/$JIGDOFILE
# Recordar: punto de montaje: /mnt
# -----------------------------------------------------------------------------##
# Renombrado de imagen antigua y traslado de imagen nueva ---------------------##
if [ $? -eq 0 ]; then
echo "Eliminando imagen antigua.."
rm $DIRISOS/$ISOFILE; sleep 3
echo "Moviendo imagen a $DIRISOS..."
mv $ISOFILE $DIRISOS/; sleep 3
fi
# -----------------------------------------------------------------------------##
exit 0
Si lo desean descargar directamente: http://www.4shared.com/file/oTUYvVCU/jdis.html
Eso es todo por esta vez. Saludos!!!
Se podría automatizar la tarea, es decir, meterla en el cron para olvidarte y que el sistema se actualice solo ¿que opinas?
ResponderEliminar