Date: Thu, 21 Sep 2000 14:17:47 -0700 From: Brooks Davis <brooks@one-eyed-alien.net> To: Ben Smithurst <ben@FreeBSD.ORG> Cc: freebsd-doc@FreeBSD.ORG Subject: Re: docs/21443: I'm tired of telling people how to copy a disk. Message-ID: <20000921141747.A15371@Odin.AC.HMC.Edu> In-Reply-To: <200009211410.HAA68352@freefall.freebsd.org>; from ben@FreeBSD.ORG on Thu, Sep 21, 2000 at 07:10:02AM -0700 References: <200009211410.HAA68352@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Sep 21, 2000 at 07:10:02AM -0700, Ben Smithurst wrote: > It would be really nice if you could send this as an SGML diff to the > FAQ, with correct indentation and everything. ("correct" means what the > FDP Primer says, not what most of the FAQ is. Some of the questions in > the FAQ are correct though, mostly the recent additions.) I've enclosed a diff below. It's also online at: http://www.one-eyed-alien.net/~brooks/FreeBSD/diskcopy-faq.diff -- Brooks -- Any statement of the form "X is the one, true Y" is FALSE. Index: book.sgml =================================================================== RCS file: /home/ncvs/doc/en_US.ISO_8859-1/books/faq/book.sgml,v retrieving revision 1.92 diff -u -r1.92 book.sgml --- book.sgml 2000/09/18 19:50:21 1.92 +++ book.sgml 2000/09/21 21:09:08 @@ -5453,6 +5453,99 @@ </answer> </qandaentry> + <qandaentry> + <question> + <para>How do I move my system over to my huge new disk?</para> + </question> + + <answer> + <para>The best way is to reinstall the OS on the new + disk, then move the user data over. This is highly + recommended if you've been tracking -stable for more + than one release, or have updated a release instead of + installing a new one. You can install booteasy on both + disks with &man.boot0cfg.8;, and dual boot them until + you are happy with the new configuration. Skip the next + paragraph to find out how to move the data after doing + this.</para> + + <para>Should you decide not to do a fresh install, you + need to partition and label the new disk with either + <filename>/stand/sysinstall</filename>, or &man.fdisk.8; + and &man.disklabel.8;. You should also install booteasy + on both disks with &man.boot0cfg.8;, so that you can + dual boot to the old or new system after the copying + is done. See the <ulink + url="http://www.freebsd.org/tutorials/formatting-media/index.html">formatting-media + tutorial</ulink> for details on this process.</para> + + <para>Now you've got the new disk set up, and are ready + to move the data. Unfortunately, you can't just blindly + copy the data. Things like device files (in + <filename>/dev</filename>) and symbolic links tend to + screw that up. You need to use tools that understand + these things, which means &man.dump.8; and &man.tar.1;. I + recommend doing the data moves in single user mode, + but it's not required.</para> + + <para>You should never use anything but &man.dump.8; and + &man.restore.8; to move the root file system. The + &man.tar.1; command may work - then again, it may not. + You should also use &man.dump.8; and &man.restore.8; if + you are moving a single partition to another empty + partition. The sequence of steps to use dump to move + a partitions data to a new partition is:</para> + + <procedure> + <step> + <para>newfs the new partition.</para> + </step> + + <step> + <para>mount it on a temporary mount point.</para> + </step> + + <step> + <para>cd to that directory.</para> + </step> + + <step> + <para>dump the old partition, piping output to the + new one.</para> + </step> + </procedure> + + <para>For example, if you are going to move root to + <filename>/dev/ad1s1a</filename>, with + <filename>/mnt</filename> as the temporary mount point, + it's:</para> + + <screen>&prompt.root; <userinput>newfs /dev/ad1s1a</userinput> +&prompt.root; <userinput>mount /dev/ad1s1a</userinput> +&prompt.root; <userinput>cd /mnt</userinput> +&prompt.root; <userinput>dump 0uaf - / | restore xf -</userinput></screen> + + + <para>If you are going to rearrange your partitions - + say, splitting one into two, or combing two into one, + you may find yourself needing to move everything under + a subdirectory to a new location. Since &man.dump.8; works + with file systems, it can't do this. So you use &man.tar.1;. + The general command to move <filename>/old</filename> + to <filename>/new</filename> for &man.tar.1; is:</para> + + <screen>&prompt.root; <userinput>(cd /old; tar cf - .) | (cd /new; tar xpf -)</userinput></screen> + + <para>If <filename>/old</filename> has file systems + mounted on that, and you + don't want to move that data or unmount them, you just + add the 'l' flag to the first &man.tar.1;:</para> + + <screen>&prompt.root; <userinput>(cd /old; tar clf - .) | (cd /new; tar xpf -).</userinput></screen> + + </answer> + </qandaentry> + </qandaset> </chapter> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-doc" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000921141747.A15371>