I programmi di checksum vengono utilizzati per generare stringhe di chiavi di checksum dai file e verificare l'integrità dei file in un secondo momento utilizzando tale stringa di checksum. Un file potrebbe essere distribuito sulla rete o su qualsiasi supporto di archiviazione a destinazioni diverse. Per molte ragioni, ci sono possibilità che il file venga danneggiato a causa della mancanza di alcuni bit durante il trasferimento dei dati per diversi motivi. Questi errori si verificano più spesso durante il download di file da Internet, il trasferimento attraverso una rete, il danneggiamento del CD-ROM e così via.
Quindi, dobbiamo sapere se il file ricevuto è quello corretto o meno applicando una sorta di test. La stringa di chiave speciale utilizzata per questo test di integrità del file è nota come checksum . La tecnica di checksum più famosa e utilizzata è md5sum .
Calcolo di md5sum
1. Dobbiamo prima calcolare l'md5sum del file. Per stampare il checksum md5 sul terminale, utilizzare il comando md5sum seguito dal nome del file.
# md5sum file dcf21e3a1a0181294bceae07ec16a9d9 file
md5sum è una stringa esadecimale di 32 caratteri come indicato.
2. Puoi anche reindirizzare md5sum a un file come mostrato di seguito.
# md5sum file > hash.md5
3. Puoi anche creare un hash md5sum per più file usando lo stesso comando.
# md5sum file1 file2 file3
Verifica dell'integrità di un file con checksum md5
1. Per verificare che la stringa alpah-numerica stampata sul terminale corrisponda all'hash md5 fornito con il file. Per verificare il checksum md5 da un file.
# md5sum -c hash.md5 file: OK
Il programma stamperà sulla console il nome del file e ok se verificato. Il formato del file dovrebbe essere:hash(due spazi)nomefile.
# vim hash.md5 dcf21e3a1a0181294bceae07ec16a9d9 file
2. Se il checksum del file fallisce, otterresti un output come mostrato di seguito.
$ md5sum -c hash.md5 file: FAILED
Come controllare il checksum di tutti i file in alcune directory in modo ricorsivo
Supponiamo di voler controllare il checksum di tutti i file/sottodirectory in una directory. L'utilità md5sum non ha l'opzione ricorsiva. Non preoccuparti, c'è un piccolo trucco che puoi usare qui.
1. È possibile creare l'elenco md5sum combinando find e md5sum. Ad esempio:
# find [DirectoryName] -type f -exec md5sum {} \; > ~/md5sum.txt
il comando precedente ti consente di creare un elenco md5sum per tutti i file in alcune directory.
2. Per verificarlo, puoi semplicemente fare come:
# md5sum --check md5sum.txt > result.txt
md5deep per il calcolo del checksum sulle directory
I checksum sono generalmente calcolati sui file. Ma se vuoi calcolarli su una directory, dovrai calcolare i checksum per tutti i file nella directory, in modo ricorsivo. Questo può essere facilmente ottenuto con l'utilità "md5deep". Ad esempio per calcolare l'md5sum su una directory.
# md5deep -rl /path/to/directory > directory.md5
Ecco,
-r – fornisce la funzione ricorsiva md5sum
-l – viene utilizzato per il percorso relativo. Per impostazione predefinita scrive il percorso del file assoluto in output.