[Megoldva] TC sha1 file checksum ellenőrzés Linux alatt

 ( KaTT | 2016. február 22., hétfő - 12:12 )

Sziasztok!

Windows-on, Total Commanderrel generálok ilyen formátumú sha1 checksum fájlt egyszerűen:

cat check.sha
c090f119f5ee3c1046739c7ebc05653d85dac6ba *2016-02-19-1.dat
1f9ecab088e9541c2d8e8a95899c16e90864ec1e *2016-02-19-2.dat

UPDATE:

Akkor a megoldás, hogy Linuxon lefusson:
El kell távolítani a Windows-os sortörést:

dos2linux check.sha

Majd:

sha1sum -c check.sha

Így működik.

Köszönöm mindenkinek az észrevételeket.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Ha igy generalod:
sha1sum * >check_verify.sha

akkor igy kellene ellenorizni:
sha1sum -c check_verify.sha

Ha igy ellenorzod, akkor nincs gond a checksum filelal, es nem gond a * sem (ami mellesleg azt jelenti, hogy binaris a file)

Nem lenne egyszerubb igy csinalni?

szerk: Linux alatt a nev ele tesz egy *-ot ha binaris, vagy egy extra szokozt ha text file (vagy binaris de ez nem valtoztat semmit (??))

Widnows-on TC-vel generálom a sha-t, a sha1sum -c nem jól fut le a TC által generált állománnyal.
Ha a kimenetét mentem le, amit generál, azzal természetesen jó.

Sakk-matt,
KaTT :)

 sha1sum * | awk '($2 !~ /.sha$/) { print $1 "  *"  $2;}' IGNORECASE=1

Biztos lehet szebben is. :)

Köszönöm, ez így működik.
Ahogy lentebb is írják, az az ésszerű megoldást, hogy a Total Commander-es fájlt átkonvertálni a sha1sum-os formátumra.

Amit a Total Commander generál:

# cat dir.sha
43b3cc5bd4d73a902bc4e09ae65d90c50443891d *FirefoxPortable.exe
a7764a3e17ff5e00767b06c068fa52181aa98aab *help.html

:file dir.sha
>34336233 63633562 64346437 33613930< 43b3cc5bd4d73a90 00000000
>32626334 65303961 65363564 39306335< 2bc4e09ae65d90c5 00000010
>30343433 38393164 202A4669 7265666F< 0443891d *Firefo 00000020
>78506F72 7461626C 652E6578 650D0A61< xPortable.exe..a 00000030
>37373634 61336531 37666635 65303037< 7764a3e17ff5e007 00000040
>36376230 36633036 38666135 32313831< 67b06c068fa52181 00000050
>61613938 61616220 2A68656C 702E6874< aa98aab *help.ht 00000060
>6D6C0D0A< ml.. 00000070

Amit a sha1sum generál:

# cat dir_linux.sha
43b3cc5bd4d73a902bc4e09ae65d90c50443891d FirefoxPortable.exe
a7764a3e17ff5e00767b06c068fa52181aa98aab help.html

:file dir_linux.sha
>34336233 63633562 64346437 33613930< 43b3cc5bd4d73a90 00000000
>32626334 65303961 65363564 39306335< 2bc4e09ae65d90c5 00000010
>30343433 38393164 20204669 7265666F< 0443891d Firefo 00000020
>78506F72 7461626C 652E6578 650A6137< xPortable.exe.a7 00000030
>37363461 33653137 66663565 30303736< 764a3e17ff5e0076 00000040
>37623036 63303638 66613532 31383161< 7b06c068fa52181a 00000050
>61393861 61622020 68656C70 2E68746D< a98aab help.htm 00000060
>6C0A< l. 00000070

A gond a Windows-os sortörés jel, ami miatt elszáll a sha1sum.
Igazán megoldhatták volna, hogy tudja azt kezelni, ha nem is alapból, valami paraméterrel, no mindegy... Tehát ha kiszedem a sorok végéről a sortörés jelet, akkor jó lesz.

Kell futtatni egy dos2unix dir.sha -t, és már lefut:

sha1sum -c dir.sha

Ez így egyszerűbb.
Köszönöm a segítséget mindenkinek! :)

Sakk-matt,
KaTT :)

man sha1sum

- ellenőrzéshez ne új checksum fájlt generálj, hanem ellenőrzés módban futtasd
- a csillag bináris, a hiánya text fájlt jelent (utóbbi szerintem kerülendő, mégis ez a default sha1sum-ban, de állítható, TC-ben meg bináris a default, helyesen)

--