Niekiedy potrzebujemy sprawdzić czy pobrany plik nie jest w jakiś sposób uszkodzony lub czy jest zgodny z oryginałem.
Aby to zweryfikować, możemy posłużyć się sumą kontrolną.
Tak więc, aby sprawdzić sumę kontrolną pliku, wykonujemy polecenie:
md5sum nazwaPliku
Aby porównać 2 pliki naraz (może okazać się to przydatne, jeżeli nie jesteśmy pewni czy nie dokonaliśmy w pliku jakichś zmian), wykonujemy polecenie:
md5sum ./skryptVideo.sh ./skrypt.sh~
95098865f4aabd0a11e4aea0717d2c97 ./skryptVideo.sh
3c2565df4cdd9827fc2594b3961a4d8f ./skrypt.sh~
Suma MD5 jest 128 bitowym kodem, zawierającym cyfry i litery z pliku lub łańcucha znaków.
Tak więc dla łańcucha znaków również możemy sprawdzić sumę kontrolną:
echo -n ‚Witaj świecie!’ | md5sum –
Przydatnym poleceniem jest zapamiętanie do pliku sumy kontrolnej:
root@server:~$ md5sum sent skrypt.sh~ > md5sums.md5
Po zapamiętaniu możemy zweryfikować czy pliki się zmieniły za pomocą polecenia:
root@server:~$ md5sum -c md5sums.md5
sent: DOBRZE
skrypt.sh~: DOBRZE
Następnie, gdy zmienimy coś w jednym z plików i wydamy polecenie:
root@server:~$ md5sum -c md5sums.md5
sent: DOBRZE
skrypt.sh~: NIEPOWODZENIE
md5sum: UWAGA: 1 policzona suma się NIE zgadza
Otrzymamy ostrzeżenie, że plik został zmieniony.
Taka funkcjonalność może być przydatna przy aktualizacjach – wtedy możemy pobrać plik z sumami kontrolnymi i zweryfikować czy na serwerze są jakieś zmienione pliki, a jeżeli tak – dokonać aktualizacji.
Aby dokonać rekursywnego zapisu całych folderów z plikami możemy wykorzystać polecenie:
md5deep -rl mojFolder > checksum.md5
Albo też:
find mojFolder -type f -print0 | xargs -0 md5sum >> checksum.md5
W drugim przypadku należy pamiętać o tym, że plik powinien być pusty:
echo „” > checksum.md5