md5 desde Nautilus - Super Facil

+1
0
-1

md5 desde Nautilus - Super Facil
El siguiente no es una obra realizada desde cero por mi
Pero si he trabajado para poder armar y que funcione de acuerdo a la necesidad

Probado en Ubuntu 11.10 y 12.04 funcionando en óptimas condiciones.

Nota:
Deje el autor y enlace de donde encontré las bases para armar este Script, son ellos las verdaderas mentes.
http://www.ubuntu-es.org/node/20940
http://www.archivoslog.es/2010/09/descomponer-una-ruta-en-directorios-no...

En una terminal
~$ gedit ~/.gnome2/nautilus-scripts/Run\ MD5

Pega el siguiente codigo en el archivo

#!/bin/bash

# AUTHOR: (c) Tony Mattsson
# VERSION: 1.0
# LICENSE: GPL (http://www.gnu.org/licenses/gpl.html)
# REQUIRES:
# NAME: Make md5
# DESCRIPTION:
# MOD BY: Julio Cesar Cruz (jc852654@gmail.com)

# Revisa que el usuario no tenga seleccionado un directorio (carpeta o folder)
# Foco by File

for Foco in "$@"
do
if [ -d "$Foco" ]; then
zenity --error --text="'$Foco'
Es un directorio. Este Script no trabaja directorios."
exit
fi
done

# Language settings

Passed="OK"
Failed="FAILED"
PrintAllOk="md5 pass!"
PrintFail1="file(s) are OK and"
PrintFail2="file(s) are corrupt!"

case $LANG in
sv* )
Passed="OK"
Failed="MISSLYCKADES"
PrintAllOk="md5 pass!"
PrintFail1="fil(er) är OK och"
PrintFail2="fil(er) är korrupta!"
esac

for File in "$@"
do
if [[ ${File:(( ${#File} -4 )):4} != ".md5" ]];then
#adentro del nuevo
for RutaCompleta in "$@"
do
# Comenzamos extrayendo la parte derecha desde el ultimo caracter "/", es decir, el archivo
NombreArchivo="${RutaCompleta##*/}"
# Longitud de la ruta es el total de caracteres menos el largo del nombre de archivo
LargoRuta="${#RutaCompleta} - ${#NombreArchivo}"
# Extraermos la ruta desde el caracter 0 hasta el caracter final de largo de ruta
RutaSola="${RutaCompleta:0:$LargoRuta}"
# Lo siguiente es extraer nombre de archivo
NombreSolo="${NombreArchivo%.[^.]*}"
# Extension se obtiene eliminando del nombre completo el nombre mas el punto
Extension="${NombreArchivo:${#NombreSolo} + 1}"
# Las 2 lineas anteriores fallan si no hay extension por lo que es necesario comprobar que no
# se de el caso de que haya extension pero no nombre ya que en ese caso la ext seria el nombre
if [[ -z "$NombreSolo" && -n "$Extension" ]]; then
NombreSolo=".$Extension"
Extension=""
fi
done

# $NombreArchivo para obtener: fullfilename
# $NombreSolo para obtener: filename
# $RutaSola para obtener: locate
# $Extension para obtener: filetype

#Nombre de archivo md5sum a crear
CheckName="$NombreSolo.md5"

# 1 Check the md5 file
(md5sum "$NombreArchivo" > "$CheckName") 2>&1 | zenity --progress --title "Make md5" --text "Making: $CheckName" --pulsate --auto-close
# zenity --error --title="Check md5"--text="This is not a '.md5' checksum file."
exit
fi
# 1 Check the md5 file
(md5sum -c "$File" > /tmp/checktext.txt) 2>&1 | zenity --progress --title "Check md5" --text "Checking: $File" --pulsate --auto-close

# 2 Display the results!

# Print a little repport about how many failed and how many passed
NumberOK=`cat /tmp/checktext.txt | fgrep -o -e "$Passed" | wc -l`
NumberFailed=`cat /tmp/checktext.txt | fgrep -o -e "$Failed" | wc -l`
if [ $NumberFailed == 0 ]; then
StatusMessage="$PrintAllOk"
else
StatusMessage="$NumberOK $PrintFail1 $NumberFailed $PrintFail2"
fi
echo "-=-=-=-=-=-=-=-=-=-" >> /tmp/checktext.txt
echo "$StatusMessage" >> /tmp/checktext.txt

zenity --text-info --title "$File" --width=300 --height=200 --filename=/tmp/checktext.txt

done

#-----------------------------------------------------------------------------------------------------------------

Guarda el archivo y sal del Gedit
Archivo/Guardar/Salir

En la terminal

~$ sudo chmod +x ~/.gnome2/nautilus-scripts/Run\ MD5

Solo hace falta realizar las pruebas de rigor respectivas como por ejemplo:
1-Que sea visible en el menú desplegado al realizar un click derecho sobre un archivo en la sección de Scripts
2- Rechazar md5 para Directorios, Carpetas, Folder o como sea que le llames
3- Que genere el archivo correspondiente pero con extencion .md5

Como funciona:
Abre Nautilus y desde cualquier archivo que quieras Crear el Fichero Md5 , haz clic con el botón derecho y dirigete a Scripts/ Run MD5 y lo tendras en la misma ubicacion que el archivo original.

Si lo que deseas es revisar el archivo original junto a su respectivo md5 entonces debes hacer los mismos pasos anteriores con la variante que lo aras en el archivo que contiene el md5.

eso es todo. Espero sea utill

Comentarios

Imagen de cuentos

no se por que complicarse tanto, que algo tan sencillo como en la consola:
md5sum nombre_del_archivo
ejemplo: md5sum ubuntu-12.04-beta2-desktop-amd64.iso
5461e64e9943cecfd4b6eab6eab05bbd ubuntu-12.04-beta2-desktop-amd64.iso

y para crear el md5 desde la consola:
md5sum nombre_del_archivo > nombre.md5
ejemplo; md5sum ubuntu-12.04-beta2-desktop-amd64.iso > 12.04-amd.md5
resultado: 12.04-amd.md5
http://www.estrellateyarde.org/discover/encriptacion-y-criptografia/chec...

(recordatorio) -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Si el problema se soluciono, edita el 1° hilo, y agrega (Solucionado), para tener el foro mas ordenado.
Y finaliza poniendo la solución para que sirva para otros Usuarios.
Twitter @mcuentos

Imagen de Alcruz

Lo que hago es abrir un terminal y pongo
md5sum
dejo un espacio
arrastro al terminal el archivo que puede ester en cualquier partición, esta acción escribe la ruta absoluta del archivo
pulso Enter y ya.

Imagen de cuentos

es cierto, es mas fácil, para no andar "poniendo" toda la ruta del archivo.

(recordatorio) -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Si el problema se soluciono, edita el 1° hilo, y agrega (Solucionado), para tener el foro mas ordenado.
Y finaliza poniendo la solución para que sirva para otros Usuarios.
Twitter @mcuentos