Comprobación de md5sum en el menú contextual de Konqueror
Luego de estar un rato sin saber que hacer y estar casi al punto del suicidio a causa del aburrimiento me decidí a añadirle algunas cosas al script presentado por melenas en kdehispano.org para hacerlo un poco más cómodo y funcional o quizás para lograr que dejara de funcionar O_O
El caso es que esto es lo que ha salido:
Como el nombre de casi todos los archivos md5 está formado por el nombre_del_archivo_original.md5, hice que verificara si existía un archivo con estas características en el directorio actual, si existe recoge lo que corresponde al valor md5sum de dentro del archivo.md5 y lo compara con el valor recién calculado. Si son iguales muestra un mensaje con esta información y si no coinciden también avisa. En caso de que el archivo .md5 no exista, pues calcula y pregunta si deseamos generar dicho archivo.
Normalmente los archivos md5 son generados haciendo:
md5sum archivo_a_verificar > archivo_a_verificar.md5
...quedando el contenido del .md5 de la suguiente forma:
15d0655a2ee72fc4ed4ef2f8379eb1bd archivo_a_verificar
Si el contenido del archivo no es como el ejemplo o conteniendo como primera cadena del archivo el valor de la suma md5
15d0655a2ee72fc4ed4ef2f8379eb1bd
Siempre va a decir que no coinciden los valores porque obviamente no es así.
Bueno después de cansarlos con tanto lengua, aquí va el código de los archivos:
kmd5.desktop
[Desktop Entry] Actions=ExecMD5Sum Encoding=UTF-8 ServiceTypes=all/all [Desktop Action ExecMD5Sum] Exec=kmd5 %U Name=Check MD5sum... Name[es]=Comprobar MD5sum... Icon=cdrom_unmount
kmd5
#Kmd5
#Comprobador MD5SUM en menú contextual
#Originalmente escrito por:
#melenas de kdehispano.org
#Modificado por NeOnsKuLL
TMP=`md5sum "$1"`
MD5=`echo $TMP | awk '{print $1}'`
dcop klipper klipper setClipboardContents "$MD5"
if [ -e "$1.md5" ]; then
MD5_FROM_FILE=`cat $1.md5 | awk '{print $1}'`
dcop klipper klipper setClipboardContents "$MD5_FROM_FILE"
if [ "$MD5" = "$MD5_FROM_FILE" ]; then
kdialog --title "Comprobador de MD5sum" --msgbox "Los valores MD5 coinciden."
else
kdialog --title "Comprobador de MD5sum" --error "Los valores MD5 no coinciden."
fi
else
kdialog --title "Comprobador de MD5sum" --yesno "El MD5sum de $1 es \n $MD5 \n Desea generar el archivo .md5?"
if [ $? -eq 0 ]; then
FILE_MD5=`basename $1`
echo "$MD5 $FILE_MD5" > $1.md5
kdialog --title "Comprobador de MD5sum" --msgbox "Se ha generado el archivo md5: \n $FILE_MD5.md5"
fi
fi
Solo queda darle permisos de ejecución al archivo kmd5:
chmod +x kmd5
Y entonces copiarlo (como root) a /usrl/local/bin/:
cp kmd5 /usr/local/bin/
Y copiar kmd5.desktop a /usr/share/apps/konqueror/servicemenus/:
cp kmd5.desktop /usr/share/apps/konqueror/servicemenus/
A partir de ahora bastará con dar click derecho sobre el archivo a comprobar Acciones | Comprobar MD5sum... y listo, más nunca tendremos que enredarnos a pasar comandos (aunque esto no es realmente lo que importa, sino trabajar más rápido y con más comodidad).
Espero que el haber metido los dedos en el código no lo haya destrozado .
Después de haberlo probado un rato, no puedo negar que me siento muy satisfecho de como funciona y de todas las funcionalidades que le añadí.
Nos vemos
NeOnsKuLL
- Versión para imprimir
- Entra a tu cuenta o crea una para poder comentar.





# 32824: Reviviendo este hilo con una implementación...
No será la gran cosa pero es cómodo y funciona, aunque a mi gusto le falta un indicador de ejecución pero bueno, alguien ya lo mejorará, por ahora lo revivo porque funciona, y como en estas fechas se tocará bastante el tema de la integridad de las isos puede que alguien se interese en adoptarlo, quien sabe. :D
salu2!