cksum entire dir??

Lowell Gilbert freebsd-questions-local at be-well.ilk.org
Wed Sep 12 02:53:04 UTC 2012


Paul Kraus <paul at kraus-haus.org> writes:

> On Tue, Sep 11, 2012 at 9:18 PM,  <kpneal at pobox.com> wrote:
>
>> It's a real shame Unix doesn't have a really good tool for comparing
>> two directory trees. You can use 'diff -r' (even on binaries), but that
>> fails if you have devices, named pipes, or named sockets in the
>> filesystem. And diff or cksum don't tell you if symlinks are different.
>> Plus you may care about file ownership, and that's where the stat
>> command comes in handy.
>
> Solaris and a least a few versions of Linux have a "dircmp" command
> that is in reality a wrapper for diff that handles special files. The
> problem with it is that it tends to be slow (I had to validate
> millions of files).

It's not clear what the danger profile is supposed to be here; dircmp
(and recursing 'diff' applications) can handle many cases, but mtree(8)
(with appropriate options) covers more pathological problems. Even so,
analysis of changes in file nodes like named sockets will usually
require some understanding of the application.

I suspect that either a recursive diff or an mtree specification is a
good solution for the original poster's problem, but we don't have
enough information to be more sure than that.

Be well.
        Lowell


More information about the freebsd-questions mailing list