Copying an entire tree

Dan Strick strick at
Thu Aug 21 16:06:01 PDT 2003

> No, I hadn't thought of using rsync for a purely local copy.  But now
> that I've tried it, add it to the list of utilities that lose the flags.
> (I'm particularly interested in preserving the schg and nodump flags.)
> So far, the only thing I know of that seems to do everything right
> is cvsup.  But it's really a bit cumbersome to set up for a one-time
> copy.

I have another program that might be "a bit cumbersome to set up for a
one-time copy."  You would have to edit a Makefile to specify its
installation directory and do "make install".  Since the program is
designed to maintain identical (i.e. with a carefully managed set of
differences) branches of file systems on possibly large numbers of
different machines, the command syntax can be a bit messy.  I routinely
use a simple shell front-end to compare and copy file system branches
on my machine(s).  This program may be overkill.  (Note: a command
line flag is required to enable special file copies.)

If you are desperate and have enough free space in the file system
that is to contain the copy (which must not be the file system that
contains the original), you could use dump/restore.  Since the version
of dump that comes with FreeBSD only seems to be willing to dump only
entire file systems, you have to copy the whole thing and delete
the parts you don't like.  If the original and the copy have to be
in the same file system or if you don't have enough free space there
but you do have enough space somewhere else, you can make an intermediate
copy and trim that one down before the final copy.

P.S. The FreeBSD dump/restore commands used to be a little sloppy about
some details such as the owner/modes/times of symbolic links.  I recently
made and tested a dump/restore of a FreeBSD 4.8 root file system and it
looks like those problems have been fixed.

Dan Strick
strick at

More information about the freebsd-questions mailing list