Date: Tue, 29 Oct 2002 14:39:24 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: "Jack L. Stone" <jackstone@sage-one.net> Cc: Mike Hogsett <hogsett@csl.sri.com>, "Mr. Darren" <darren780@yahoo.com>, freebsd <freebsd-stable@FreeBSD.ORG> Subject: Re: copy harddrive image Message-ID: <200210292239.g9TMdO64011366@apollo.backplane.com> References: <200210292048.g9TKmG1J015723@axp.csl.sri.com> <3.0.5.32.20021029162139.010ec928@mail.sage-one.net>
next in thread | previous in thread | raw e-mail | index | archive | help
:Hi, Matt: I've never tried your "cpdup" program I just installed the port :to try it. :....and wonder: : :1) why you prefer it to ole dump/restore? cpdup is not a replacement for dump/restore. That is, the programs do different things. cpdup does not produce an archive, for example, it's just a glorified copy that is able to retain softlinks, hardlinks, and other special features of files. On the otherhand, cpdup works quite well on live filesystems and cpdup works incrementally, meaning you can ^C it and restart it at any time and it will pick up where it left off. dump does not work well at all on a live filesystem and if you kill it you have to rerun it from scratch. :2) what would be the typical syntax of the line command you use to copy :over the ad0s1f to ad1s1f partition for example. : :I like your dd/cpdup combo approach and would like to try it on a test box. : :Best regards, :Jack L. Stone, :Administrator Just do a 'man cpdup', or run cpdup without options. I typically just use 'cpdup srcdir destdir'. Remember, cpdup will remove items from the destination that do not exist in the source. It will ask first by default. Fdisk/disklabel/newfs the new disk Mount newdisk partitions in /mnt, mimicking your normal mounts. for example: mount /dev/ad1s1a /mnt mkdir /mnt/usr mount /dev/ad1s1d /mnt/usr mkdir /mnt/var etc... cpdup / /mnt cpdup /usr /mnt/usr cpdup /var /mnt/var (go into single user) cpdup them all again shutdown, swap disks, reboot. For dd the person who posted the comment in regards to block size is absolutely correct. It is safest to run dd only on idle filesystems, leaving the source filesystems mounted and the destination partitions unmounted (of course). This way if you accidently specify a source filesystem as a destination the OS will not allow the source to be openned for writing (it will return a 'device busy' error), which can save your ass if you make a mistake. But it also means you have to be sure the source filesystem are idle and sync'd up (sync; sync; sync; sync; ...), and that you have to fsck the destination partitions after the dd finishes. # example dd if=/dev/ad0s1a of=/dev/ad1s1a bs=1m Using dd can be dangerous. Be sure not to accidently specify a destination that winds up overwriting your source drive! Leaving the source mounted mitigates the risk of accidently blowing something important away. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210292239.g9TMdO64011366>