On Wed, Jul 31, 2002 at 09:04:20AM -0700, Craig Dickson wrote:
> Karl E. Jorgensen wrote:
>
> > > 3. Copy all files from root partition to second HD.
> >
> > Beware of symbolic links...
>
> Ah, good point. cp would actually change all symlinks (and hard links)
> into separate copies, wouldn't it. So perhaps archiving to tar files
> would be better. tar understands both symlinks and hard links, right?
In the past I've had problems with tar; restoring symlinks did not
always work. AFAIR it was something with symlinks that pointed to
symlinks that pointed to symlinks .... pointed to a proper file. It gave
me errors during the restore. I resorted to cpio in the end.
I guess that if you use something like this (the verbose way for
readability):
# (cd /; tar --create \
--to-stdout \
--one-file-system \
--preserve # may be redundant. rtfm :-} \
--numeric-owner \
--exclude /home \
--exclude /var \
/ ) | (
cd /root-backup; tar --extract \
--file - \
--preserve \
--same-owner )
and it completes without errors, then I think you'll be safe :-) [Sorry,
I haven't got the disk space to test with].
As long as you don't have any hard links between e.g. /home and /var (or
other weird crosslink stuff like that), you should be OK. Most sensible
people would use symlinks for that anyway. (Although I cannot see any
mention of hard links in the debian policy!?)
> > You may want to look into ext2resize, it claims to be able to resize a
> > filesystem (but you still have to resize the underlying partition
> > afterwards).
>
> If you reduce an X MB filesystem to Y MB (X > Y obviously), and the
> existing files aren't all in the first Y MB, will it move them?
I believe it does. Authoritative docs in the package.
> > Another way to do this could be to
> > - make a backup of /etc and /var
> > - save the output from "dpkg --get-selections"
> > - do a complete reinstall on the new root partition
> > - restore /etc (I'm not sure about /var...)
> > - make sure you install the same packages as you had before:
> > dpkg --set-selections < yourfile && apt-get dselect-upgrade
>
> That sounds like a lot more work. Copying files from one HD to another,
> and back again, seems simpler, as long as symlinks and hard links are
> respected.
It probably is :-) But there's always more than one way to do things.
> Will "find / -type l" and "find / -links +1" show me all the symlinks
> and all the files with hard links (other than the original directory
> entry), so that I could verify afterwards that everything was restored
> correctly, or fix by hand those that weren't?
Yep. If you're paranoid then you may even want to do md5sums or
byte-by-byte comparison of files. Don't forget to check ownership
(numeric owners, if you boot from a CD), permissions and (possibly)
modification times (some programs react on that, e.g. diald).
Note: The output from "ls" is not immediately usable here -
directories will probably have different sizes, and so will
last-accessed times.
HTH
--
_ __
|/ _ _| |_ | _ __ _ _ _ _ _ _
|\(_|| | |_ |(/)| (_|(-'| |`-,(-`| | http://www.karl.jorgensen.com
\_| _|
Attachment:
pgpRjbJ0MAWJP.pgp
Description: PGP signature