copying just / (not /tmp, /usr, etc) (rsync -x failed)

Jerry McAllister jerrymc at
Wed Dec 5 07:46:35 PST 2007

On Tue, Dec 04, 2007 at 05:38:20PM -0700, Steve Franks wrote:

> I have / on one slice, and [usr,tmp,var] on others.  I want to move
> just / to a new disk, which seemed to be what rsync -x ("do not cross
> filesystems") was intended for.  It failed, however, as df shows 20k
> blocks in /, and rsync filled up the target slice with 50k blocks, so
> obviously it blew right past the 'end' of / - did I miss something? Is
> there no other way except to umount [tmp,usr,var]?

I would use dump/restore.

Build the filesystem in the new disk partition with fdisk, bsdlabel
and newfs as needed. Then mount the new partition somewhere - 
  mkdir /newpart
  mount /dev/ad1s1a /newpart 
        (presuming new disk is ad1, slice is 1, partition is a)
  Doesn't hurt to do an fsck on it here before writing to it, but it
  probably isn't really needed.

Then, run the dump/restore

  cd /newpart
  dump 0af - / | restore -rf -

This will get all of / as you want.  The other mountpoints for /tmp, /usr
and /var will be copied, but not the contents of those filesystems.  You
probably want that.


> Thanks,
> Steve
> _______________________________________________
> freebsd-questions at mailing list
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at"

More information about the freebsd-questions mailing list