Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [OPGELOST] Vergelijken van checksums  (gelezen 1476 keer)

Alfredo

  • Gast
[OPGELOST] Vergelijken van checksums
« Gepost op: 2009/05/07, 20:11:15 »
Ik ben opzoek naar iets soortgelijks als diff, maar dan niet iets waarbij de inhoud van de bestanden wordt vergeleken. Het enige dat het programma moet doen, is de checksum van elk bestand berekenen (recursief), die dan vergelijken en printen welke bestanden er niet overeenkomen. Welke bestanden er voorkomen in één directory maar niet in de andere, moet ook vermeld worden.

Iemand die weet wat ik hiervoor kan gebruiken? Een GUI is niet nodig.


Bedankt
« Laatst bewerkt op: 2009/05/08, 13:56:40 door Alfredo »

Offline ivo

  • Lid
Re: Vergelijken van checksums
« Reactie #1 Gepost op: 2009/05/07, 21:34:13 »
sum of md5sum zijn de tools waarmee je checksums kunt berekenen.
Wat jij wilt zul je in een of ander script moeten onderbrengen.
Ik weet niet of zoiets al bestaat. Ongetwijfeld, maar of het makkelijk te vinden is.
There are only 10 types of people in the world; those who understand binary and those who don't.

Offline track

  • Lid
Re: Vergelijken van checksums
« Reactie #2 Gepost op: 2009/05/07, 23:04:13 »
Hoi Alfredo,

kijk even in  man md5sum .  Volgens mij zit de mogelijkheid om te controleren er al in !
Anders bekijk even de lijst die een  apropos sum oplevert.

Vriendelijke groet,

track

Alfredo

  • Gast
Re: Vergelijken van checksums
« Reactie #3 Gepost op: 2009/05/07, 23:09:47 »
In Windows gebruik ik daar WinDiff voor, maar in Linux draait dat niet zoals het hoort. Ik vermoed dat Linux daar wel een alternatief voor heeft?

Het hoeft voor mij ook niet de checksum te zijn, maar ik vermoed dat WinDiff het ook zo doet.

@track - Daarmee kan ik inderdaad de checksum van 1 bestand opvragen, maar het gaat hier om zo'n 8000 bestanden. Enig idee hoe ik daar een bash script van zou maken?
« Laatst bewerkt op: 2009/05/07, 23:18:14 door Alfredo »

Offline track

  • Lid
Re: Vergelijken van checksums
« Reactie #4 Gepost op: 2009/05/07, 23:14:32 »
Wat zou je nu precies willen vergelijken ?

Ik dacht dat je het over md5-checksommen had.
(want dat is standaard bij Linux, en er wordt dus ook standaard  md5sum voor ingezet)

track

Alfredo

  • Gast
Re: Vergelijken van checksums
« Reactie #5 Gepost op: 2009/05/07, 23:22:54 »
Ik wil gewoon zien of de bestanden hetzelfde zijn, maar 3/4 is binair en diff struikelt daarover. De checksum vergelijken leek mij dan het meest logische. Alleen gaat het hier over heel wat bestanden, verdeelt over heel wat mappen. Daarom zocht ik iets dat voor mij een lijst kan printen met de bestanden die niet overeen komen, en de bestanden die voorkomen in map x maar niet in map y (en vice versa).

Offline track

  • Lid
Re: Vergelijken van checksums
« Reactie #6 Gepost op: 2009/05/07, 23:41:27 »
Bij alle installatiepakketten wordt daarvoor md5sum ingezet.

Een nader uitleg vind je ook op  https://help.ubuntu.com/community/HowToMD5SUM
Beneden op die site is ook een voorbeeld hoe een gehele map (rsp. CD) met md5sum -c geverifieerd wordt.
En zoals ik al zei, de definitieve uitleg staat onder man md5sum (in de terminal uiteraard).

Mits dat niet grondig genoeg zou zijn is er ook nog  cksum .  Dat telt bovendien ook nog de bytes van een bestand.
Maar het evaluëren moet je dan in ieder geval met een scriptje doen.

Moet je alleen weten of alles gelijk is of moet je echt een lijst van de misplaatste bestanden hebben ?
Als je mij iets verder uitlegt waar het om gaat kan ik je ook iets doelgerichter tips geven ...

track

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Vergelijken van checksums
« Reactie #7 Gepost op: 2009/05/08, 00:20:53 »
Met cfv kan je snel een checksumbestand aanmaken van bestanden in meerdere mappen.
Zie man cfv of hier voor de opties.

meld is trouwens een prima grafisch programma om verschillen tussen bestanden te bekijken.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Vergelijken van checksums
« Reactie #8 Gepost op: 2009/05/08, 00:25:05 »
Oh, als je een aantal mappen gelijk wil houden qua inhoud, dan is rsync natuurlijk het ideale programma daarvoor.

Alfredo

  • Gast
Re: Vergelijken van checksums
« Reactie #9 Gepost op: 2009/05/08, 00:51:04 »
Alvast bedankt voor je hulp, track. :)

Ik zal je een duidelijker voorbeeld proberen te geven. Er zijn twee mappen, eentje met 8439 bestanden, de andere met 8437 bestanden. Ik zoek een manier om beide mappen (die ook nog submappen hebben) te vergelijken en als output de bestanden te geven die niet zelfde checksum hebben, en welke bestanden er eventueel in één map voorkomen, maar niet in de andere.

WinDiff geeft me dit resultaat:
.\rd.bin different (C:\Users\Alfredo\Downloads\Synology firmware\synology_ppc824x_cs407e_0803 is more recent)
.\updater identical
.\hda1\linuxrc only in C:\Users\Alfredo\Downloads\Synology firmware\synology_ppc824x_cs407e_0803
Dit wil ik dus voor Linux ook hebben, een script dat recursief twee mappen met elkaar vergelijkt en kijkt welke bestanden er met elkaar overeenkomen. Als deze functionaliteit niet reeds bestaat, wil ik best zelf wat in elkaar proberen te steken, maar ik wil het uiteraard ook niet voor niets doen. :)

@Johan - Bedankt, ik zal eens naar cfv kijken in combinatie met diff. rsync wil ik niet gebruiken, het is als debugging bedoelt.

Offline track

  • Lid
Re: Vergelijken van checksums
« Reactie #10 Gepost op: 2009/05/08, 01:09:26 »
Bij dit verhaal denk ik spontaan aan iets van   if  [ bestand1  -nt  bestand2 ] ; then
Als bestand 1 "nieuwer dan" bestand 2 is (dus ook als bestand 2 niet bestaat) dan ...
Dat is geen kant-en-klaar programma, en de lus om de bestanden allemaal aan te spreken is er ook nog niet,
maar ja ..  het hangt ook ervan af wat je verder daarmee wilt doen. (update ?)

track

p.s.: als het om jouw eigen debugging gaat is misschien  meld een aanrader. Dat vertoont grafisch de verschillen
       tussen twee (tekst-)bestanden rsp. twee mappen (bevat beide mogelijkheden).

pps: nog net dit gevonden:  http://ubuntuforums.org/archive/index.php/t-100073.html
« Laatst bewerkt op: 2009/05/08, 01:27:34 door track »

Alfredo

  • Gast
Re: Vergelijken van checksums
« Reactie #11 Gepost op: 2009/05/08, 13:55:39 »
Meld ziet er enorm veelbelovend uit, het biedt in ieder geval dezelfde functie als WinDiff. Alleen gaat er nog iets fout bij het lezen van bepaalde mappen, die toont hij als zijnde leeg (terwijl dat niet zo is).
xxdiff werkt met diff en struikelt dus ook over bepaalde bestanden.

Ik maak wel een bugreport aan voor meld en beschouw dit dan als "opgelost". Bedankt iedereen!