Skrypt do sprawdzania sumy kontrolnej

Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4104
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Skrypt do sprawdzania sumy kontrolnej

Post autor: jacekalex » 07 mar 2010, 02:50

Witam

Po ściągnieciu z netu płyty iso z systemem, lub jakiejkolwiek paczki z programem, należy (aby uniknąć kłopotów) sprawdzić sumę kontrolną (zazwyczaj md5 lub sha1, czasem sha256), aby mieć pewność - że wersja jest oryginalna, nie zmienił się z niej ani jeden bit.

Te skrypty to znacznie ułatwiają:
1. skrypt sprawdzający sumy:

Kod: Zaznacz cały

#!/bin/bash
file=$1
if  [ -e  "$file" ];
then plik=$1;
else
echo 'Wskaż plik do sprawdzenia'
echo '(ściezka):'
read plik
fi;
echo 'Podaj sumę kontrolną:'
read suma
echo 'Wybierz typ sumy:'
echo 'sha1 => 1'
echo 'sha256 => 2'
echo 'sha512 => 3'
echo 'md5 => 4'
read typ
if [ "$typ" -gt "4" ] 
then 
echo "nieprawidłowy wybór opcji"
exit 1
fi
echo "suma kontrolna: $suma"
if (($typ == 1)) 
then echo "rodzaj sumy to sha1";
elif (($typ == 2));
then echo "rodzaj sumy to sha256";
elif (($typ == 3));
then echo "rodzaj sumy to sha512";
elif (($typ == 4));
then echo "rodzaj sumy to md5";
fi;
echo "sprawdzany plik: $plik"
echo "Wszystko się zgadza?"
read okay
echo "Sprawdzam - proszę czekać"
if (($typ == 1)) 
then 
kontrola=$(sha1sum $plik |awk '{print $1}');
elif (($typ == 2));
then 
kontrola=$(sha256sum $plik |awk '{print $1}');
elif (($typ == 3));
then 
kontrola=$(sha512sum $plik |awk '{print $1}');
elif (($typ == 4));
then 
kontrola=$(md5sum $plik |awk '{print $1}');
else echo "Zły numer"
fi;
if [ "$kontrola" == "$suma" ] 
then echo "Suma się Zgadza!";
 else  echo "Suma nieprawidłowa - radzę usunąć  plik!";
 fi;
 echo "aby zakończyć - naciśnij Enter"
read ost
exit 0;
Można go wywołać z terminala, lub dodać - jako sposób otwarcia/uruchomienia pliku ze źródłami.


Wtedy trzeba wpisać takie polecenie:

Kod: Zaznacz cały

gnome-terminal -x <skrypt>
A sam skrypt umieścić w folderze z programami (/usr/local/bin).

Innym wygodnym sposobem kest wpisanie go do .bashrc jako alias.

Kod: Zaznacz cały

alias skrypt='gnome-terminal -x skrypt'
Może komuś się przyda.
U mnie czasami ten alias nie chciał dzialać - dlatego popełniłem "skrypt pomocniczy"
Oto on:
</skrypt>

Kod: Zaznacz cały

#!/bin/bash
if test -r $1;
then gnome-terminal -x porównaj $1;
fi;
exit 0;
U mnie nazwa skryptu porównującego - to porównaj, pomocniczego sprawdzaj, śmigają elegancko:
uruchomienie:
terminal:

Kod: Zaznacz cały

porównaj ./plik
środowisko graficzne (Gnome), - prawy klik, otwórz za pomocą innego programu - wybieram własne polecenie, wpisuję sprawdzaj, enter i działa. :grin:

<skrypt> Pozdrawiam
:craz:</skrypt>
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
ODPOWIEDZ

Wróć do „Instalacja i konfiguracja systemu”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość