[GUIDA] [SCRIPT] Interfaccia grafica per controllare il checksum dei file ISO

Pubblicità

davethecipo

Utente Èlite
Messaggi
3,332
Reazioni
1,163
Punteggio
138
Ciao gente,


quando scarichiamo un file ISO della nostra distribuzione preferita è sempre bene controllare il checksum!


Controllarlo manualmente non è il massimo, dunque ho scritto uno script in bash che tramite zenity mostra delle finestre per scegliere il file, il tipo di checksum e confrontarlo con quello ufficiale.


Dipendenze:
  1. bash
  2. zenity


Zenity è disponibile nei repo di tutte le distro famose.


Il codice:
Codice:
#!/bin/bash


function check_exit_value {
    exit_value=$?
    # se exit_value=1, utente ha premuto annulla, =5 se il timeout è scaduto, =0 ok
    # https://help.gnome.org/users/zenity/stable/usage.html.en
    if [ $exit_value != 0 ]; then
        exit 1
    fi   
}


homefolder=~
title="Controllo del checksum"
input_file=$(zenity --title="Scegli file da controllare" --file-selection --filename="$homefolder/")


check_exit_value


expected_checksum=$(zenity --entry --title="$title" --text="Checksum corretto" --entry-text="")


check_exit_value 


sumtype=$(zenity --title="$title" --text="Checksum type" --list --radiolist --column "Scegli" --column "Tipo" TRUE MD5 FALSE SHA1 FALSE SHA256)


check_exit_value


case "$sumtype" in
    MD5)
        command="md5sum"
        ;;
    SHA1)
        command="sha1sum"
        ;;
    SHA256)
        command="sha256sum"
        ;;
esac


calculated_checksum="$($command $input_file | awk '{print $1}')"


if [ $calculated_checksum == $expected_checksum ]; then
    zenity --info --title "Successo!" --text="I checksum corrispondono."
else
    zenity --error --title "BSoD!" --text="I checksum non corrispondono!"
fi


Salvate il testo in un file di testo (senza estensione per comodità dopo) e rendetelo eseguibile (da interfaccia grafica: click destro sul file, proprietà, permessi).


Io l'ho nominato verifychecksum e l'ho messo dentro una cartella opt nella home


Codice:
mkdir ~/opt
nano ~/opt/verifychecksum
# incollare il codice e salvare
chmod u+x ~/opt/verifychecksum # rende eseguibile per l'utente


Se volete accedere allo script dalla shell senza dover digitare il percorso assoluto, aggiungete la cartella che lo contiene alla variabile d'ambiente PATH dentro il file ~/.bashrc


Codice:
nano ~/.bashrc
# si apre il file, aggiungete una riga tipo questa
export PATH=/home/davide/opt:$PATH
# salvate e uscite
source ~/.bashrc # carica le modifiche


Adesso potete chiamare il comando verifychecksum da qualunque terminale. Potete anche aggiungere un lanciatore "grafico", per esempio da KDE click destro su avviatore applicazioni, modifica applicazioni, nuova voce.

Screenshot_20160530_142715.webp
Screenshot_20160530_142440.webp
Screenshot_20160530_142455.webp
Screenshot_20160530_142509.webp
Screenshot_20160530_142537.webp
 
La guida di ubuntu propone per linux

1. usare il flag --check del comando md5sum (presente anche negli altri programmi di checksum), il quale richiede di scaricare il file di testo MD5SUM
2. aprire il terminale, dare il comando e poi incollare l'hash nella casella di ricerca del browser

Li definisco metodi "automatici", per manuale intendo proprio controllare a vista.

Ecco, forse il secondo metodo è meglio del mio script e io ho solo sprecato tempo :asd: Mi sono divertito con zenity almeno.

In ogni caso, scrivendo "non è il massimo" intendevo dire che gli hash sono lunghi ed è scomodo controllare che due stringhe di testo lunghe siano uguali.
 
Pubblicità
Pubblicità
Indietro
Top