>The output from "du -sk" were also different, I would have thought they
>would be the same.
When you add files to a directory, the directory's size may be
increased if the space is needed. When you delete files, the size is
not decreased (at least from my observations).
Thus, if you copy the whole directory to another place, a new directory
is created (although its mode, ownership, etc. may be updated to be
like the original), and it is the minimal size needed. The other
directory may or may not be minimal depending its usage history, so the
sizes may differ.
If I am right, the "du -sk" output was only slightly different.
Another way that two trees might have different "du -sk" output even
with identical content is if there are sparse files in one or both of
them. If you create a new file, write one byte, seek forward 100
megabytes, write one more byte, and then close the file, the OS only
allocates the blocks necessary to represent the bytes you wrote. When
reading the file, all bytes in the middle of the two will show up as
zeros. Some copy programs don't preserve this holey nature (since it's
extra work -- you have to detect sequences of zeros and then seek()
instead of writing them), and therefore the copies use the full amount
of space whereas the originals don't. These types of files often
show up when you're using Berkeley DB, DBM, NDBM, GDBM, etc. files.
Hope that helps.
- Logan