Date: Wed, 12 Sep 2012 22:52:22 -0700 From: Waitman Gobble <gobble.wa@gmail.com> To: Gary Kline <kline@thought.org> Cc: freebsd-questions@freebsd.org Subject: Re: cksum entire dir?? Message-ID: <CAFuo_fyaToC_0NcvD6jobOK3qWm2D8CXzUn6Drxzr_tEkEL6dQ@mail.gmail.com> In-Reply-To: <20120913030846.GA20812@ethic.thought.org> References: <20120911213804.GA9817@ethic.thought.org> <20120912011443.5df17cf2.freebsd@edvax.de> <50502C51.5020601@FreeBSD.org> <20120912174625.GA17551@ethic.thought.org> <CAFuo_fwhVO0hATPZLAqyn3hM5CNtdWyxMtoF2N8hmiLFKQg6cw@mail.gmail.com> <20120912143116.1f8f8309@europa> <20120912222228.GD19460@ethic.thought.org> <CAFuo_fyGU3bHadpECD0xKr8WUfYp-b6gx1bBCTbWxvJp7Q7fSg@mail.gmail.com> <20120913003235.GA19837@ethic.thought.org> <CAFuo_fy8EO=BKsuQGG2hcEboAHvTht%2BrQppRV-F-3f8FOM9TYA@mail.gmail.com> <20120913030846.GA20812@ethic.thought.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Sep 12, 2012 at 8:08 PM, Gary Kline <kline@thought.org> wrote: > On Wed, Sep 12, 2012 at 05:42:43PM -0700, Waitman Gobble wrote: > > On Wed, Sep 12, 2012 at 5:32 PM, Gary Kline <kline@thought.org> wrote: > > > > > On Wed, Sep 12, 2012 at 03:58:00PM -0700, Waitman Gobble wrote: > > > > On Wed, Sep 12, 2012 at 3:22 PM, Gary Kline <kline@thought.org> > wrote: > > > > > > > > > On Wed, Sep 12, 2012 at 02:31:16PM -0400, Mike Jeays wrote: > > > > > > On Wed, 12 Sep 2012 10:55:57 -0700 > > > > > > Waitman Gobble <gobble.wa@gmail.com> wrote: > > > > > > > > > > > > > On Wed, Sep 12, 2012 at 10:46 AM, Gary Kline < > kline@thought.org> > > > > > wrote: > > > > > > > > > > > > [[ ...]] > > > > > > > > > > > > My Linux system has both md5sum and md5deep. They give the same > > > result, > > > > > except that md5sum quotes the file name in the current directory, > and > > > > > md5deep gives the fully-qualified name. I have been using md5deep > - I > > > > > didn't know md5sum existed. > > > > > > > > > > I did a yum install md5* and got deep! :_) > > > > > > > > > > t.y > > > > > > > > > > > _______________________________________________ > > > > > > freebsd-questions@freebsd.org mailing list > > > > > > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > > > > > > To unsubscribe, send any mail to " > > > > > freebsd-questions-unsubscribe@freebsd.org" > > > > > _______________________________________________ > > > > > freebsd-questions@freebsd.org mailing list > > > > > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > > > > > To unsubscribe, send any mail to " > > > > > freebsd-questions-unsubscribe@freebsd.org" > > > > > > > > > > > > > > > > > > > > > also "maybe???" of interest.. it's pretty quick & easy to hack the > 'find' > > > > function in /usr/src/usr.bin/find/ with md5 capability.. > > > > not sure if it's helpful.. > > > > > > > > > > > > copy /usr/src/usr.bin/find/ somewhere, then edit function.c, > > > > > > > > #include <md5.h> > > > > > > > > int > > > > f_print(PLAN *plan __unused, FTSENT *entry) > > > > { > > > > char * md5sum[32]; > > > > (void)printf("%s ",MD5File(entry->fts_accpath,md5sum)); > > > > (void)puts(entry->fts_path); > > > > return 1; > > > > } > > > > > > > > > > > > and edit Makefile (change exec name, > > > > > > > > PROG= md5find > > > > LDADD+= -lmd > > > > > > > > then "make".. > > > > > > > > run it: > > > > > > > > ./md5find . > > > > 224df9d178aa35cb532664ea37875791 . > > > > bfe464b3ac942e85d8b818a9441e2286 ./find.o > > > > 0fc28847bb344166ff0f7f4c12d6e4ed ./Makefile > > > > beb4c49ba914f62da0b57b16778c1772 ./extern.h > > > > 8895f62adaa15b194dec6f15e4c5956b ./find.1 > > > > 8d3986a5e8747ae89b3c5f82f22bc402 ./find.c > > > > 99fade54bb9baf0d3b4d8822d53800b3 ./find.h > > > > 23f43527a2bdc3abf1e8eaa1aca68f26 ./function.c > > > > 1d25eb09d42261b28cc783a6b48e39ac ./getdate.y > > > > fce6f5ec314eaea09170b79a0711d07e ./ls.c > > > > 75d64926376a5440b7e23b295417a6cc ./main.c > > > > 2599f1f22d557b076ff1cde9b17cff55 ./misc.c > > > > 2c4e3bb00a37b839d9ac0dc0e12a88bc ./operator.c > > > > 3157efe1ed3821e96fec71f1ca4b2306 ./option.c > > > > 7ea8adb4cb549b118b903238f43afd37 ./function.o > > > > 12f6a75a82f817e1306c323fdddbff59 ./ls.o > > > > e97d015d2e5fbeb3fdff4fa22b76f0e2 ./main.o > > > > 2a5100f2c5ed4c9408ab51d6e2a848cc ./misc.o > > > > 6360e963e0f285fe3dc170309a2ae219 ./operator.o > > > > 68c47f622cb1d4d8f58ff7b2ef2c8312 ./option.o > > > > 47a8978565c6cb8b0280c231679847ba ./getdate.c > > > > 7eb3a4e4984e4696347501eeba2e0566 ./getdate.o > > > > e406e4422cf29f3b42484596524b71c1 ./find > > > > e3ea95347aa5efd7030103536c23a8d3 ./find.1.gz > > > > 4b1fd4eb69577f53bd97d8cd2159c8eb ./md5find > > > > 03d161fcb84fb38aad6ccd8ce0cafeaf ./testdir > > > > 8d3986a5e8747ae89b3c5f82f22bc402 ./testdir/find.c > > > > > > > > > > > > ....etc > > > > > > > > Waitman Gobble > > > > San Jose California > > > > _______________________________________________ > > > > freebsd-questions@freebsd.org mailing list > > > > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > > > > To unsubscribe, send any mail to " > > > freebsd-questions-unsubscribe@freebsd.org" > > > o > > > where, Sir, is the header?! > > > > > > which header? > > > > this example I just copied /usr/src/usr.bin/find/ (entire directory > > contents) to my home directory then "added". > > > > #include <md5.h> to the top of function.c (with the other includes, order > > /may/ matter.. i did after the sys/ includes but before the others) > > > > md5.h is in /usr/include, it's basically a wrapper around > > /usr/include/sys/md5.h > > > sounds reasonable. if you have this compiler on fedsora, I'd like > to > see it for myself. I think I have gcc* installed. > > so, whenever you have time... . > > I'm not sure it's a good use of time (?) considering, as someone mentioned previously, mtree is already working. In the case of doing the find/md5 tinkering project on Fedora or other GNU/Linux distributions, it would likely IMHO be best to use non-BSD, ie Liinux 'find' and 'md5' sources. I do think mtree (already mentioned) is the best way to go.... You dump the checksum, etc into a file and use the file to verify the other path. example: $ mtree -K sha256digest,uname,gname -c -p . > structure.mtree $ cat structure.mtree # user: waitman # machine: hunny.waitman.net # tree: /usr/home/waitman/find/find # date: Wed Sep 12 22:44:38 2012 # . /set type=file uname=root uid=0 gname=wheel gid=0 mode=0644 nlink=1 flags=none . type=dir mode=0755 nlink=3 size=512 \ time=1347515078.000000000 Makefile size=246 time=1347489991.000000000 \ sha256digest=76ad379ec19abe85a2b0b102a97a629cee4a7002526243893785d4d7223e6cd4 extern.h size=3432 time=1344701404.000000000 \ sha256digest=ef2c12d8a8d9c6e1be8bfc368d4b3c359820d98e31710471469303f17fda0d29 find mode=0755 size=61285 time=1347489971.000000000 \ sha256digest=f9a0e343bdca72839d025fe364c008cc77c0f3ef195bcc748327e623fd4b1211 Verify / Compare # mtree -p . < structure.mtree . changed modification time expected Wed Sep 12 22:44:38 2012 found Wed Sep 12 22:44:57 2012 structure.mtree changed size expected 0 found 3023 SHA-256 expected e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 found ad52a8d8c35dbdfd75bed88a6590bf75fadf55113f5288fa0acca9e11c8bdba1 ./structure.txt missing Was there a reason not to use mtree? Waitman Gobble San Jose California > > > > > > then changed the function int f_print, added two lines > > char * md5sum[32]; > > (void)printf("%s ",MD5File(entry->fts_accpath,md5sum)); > > > > then changed the two lines in Makefile, PROGNAME so i don't end up with > > 'find' executable and the other is -lmd so i get the library with md5 > > routines. > > > > I think maybe I wasn't clear that i was editing function.c, and that > there > > is more to function.c than my example code. > > > > I can put the source on git if you want, but it's pretty basic. Also i'd > > have to research the second parameter in MD5File function, i don't > actually > > think that's what i thought it was. it is returning the correct hash, and > > printing it out, as returned from the function. > > > > Waitman Gobble > > San Jose California > > _______________________________________________ > > freebsd-questions@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > > To unsubscribe, send any mail to " > freebsd-questions-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFuo_fyaToC_0NcvD6jobOK3qWm2D8CXzUn6Drxzr_tEkEL6dQ>