My main PC has Linux installed on a 8GB hard drive, using hda1 (swap), hda2 (/), and hda3 (/local).
I was offered a 180GB hard drive to replace the old one, where I created hdb1, hdb2, and hdb3.
Now, I want to move hda* to hdb*. When all is done, I swith the disks, and hopefully all will run fine...
So, how do I move hda2 and hda3 contents to hdb2 and hdb3?
Of course, hdb2 is bigger than hda2, and hdb3 is bigger than hda3, so dd can't be used. Besides, I'd prefer not to use an "image based" utility, but rather a "file based" one, so that the files get defragmented in the operation (having been above 90% usage for almost a year, the disk is bount to be fragmented).
To make things even less easy, the filesystem will change: hda uses reiserfs, and hdb will use ext3 (because I'm fed up with resolv.conf being reset on reboot, and with ext3, I'll be able to hard-lock the file)
To my knowledge, the most obvious methods to transfer files are cp and tar, the latter being IMO more reliable. So in short, here's what I already tried using a DSL liveCD:
mount -t reiserfs /dev/hda2 /mnt/hda2 mount -t ext3 /dev/hdb2 /mnt/hdb2 (cd /mnt/hda2 && tar cf - --atimepreserve --ignore-failed-read .) ! (cd /mnt/hdb2 && tar xpf - --atimepreserve --same-owner) mount -t reiserfs /dev/hda3 /mnt/hda2/local mount -t ext3 /dev/hdb3 /mnt/hdb2/local (cd /mnt/hda2 && tar cf - --atimepreserve --ignore-failed-read local) ! (cd /mnt/hdb2 && tar xpf - --atimepreserve --same-owner)(the ! stands for a pipe, because I can't get the pipe character right now...)
Unfortunately:
- The tar commands give errors like that:
Quote
tar: ./dev/log: socket ignored
tar: ./var/spool/postfix/public/flush: socket ignored
tar: ./var/spool/postfix/public/showq: socket ignored
tar: ./var/spool/postfix/public/cleanup: socket ignored
tar: ./var/spool/postfix/private/lmtp: socket ignored
tar: ./var/spool/postfix/private/smtp: socket ignored
tar: ./var/spool/postfix/private/uucp: socket ignored
tar: ./var/spool/postfix/private/old-cyrus: socket ignored
tar: ./var/spool/postfix/private/rewrite: socket ignored
tar: ./var/spool/postfix/private/anvil: socket ignored
tar: ./var/spool/postfix/private/bsmtp: socket ignored
tar: ./var/spool/postfix/private/defer: socket ignored
tar: ./var/spool/postfix/private/cyrus: socket ignored
tar: ./var/spool/postfix/private/error: socket ignored
tar: ./var/spool/postfix/private/local: socket ignored
tar: ./var/spool/postfix/private/relay: socket ignored
tar: ./var/spool/postfix/private/trace: socket ignored
tar: ./var/spool/postfix/private/maildrop: socket ignored
tar: ./var/spool/postfix/private/bounce: socket ignored
tar: ./var/spool/postfix/private/ifmail: socket ignored
tar: ./var/spool/postfix/private/cyrus-chroot: socket ignored
tar: ./var/spool/postfix/private/lmtp-filter: socket ignored
tar: ./var/spool/postfix/private/smtp-filter: socket ignored
tar: ./var/spool/postfix/private/verify: socket ignored
tar: ./var/spool/postfix/private/virtual: socket ignored
tar: ./var/spool/postfix/private/cyrus-deliver: socket ignored
tar: ./var/spool/postfix/private/proxymap: socket ignored
tar: ./var/spool/postfix/private/cyrus-inet: socket ignored
tar: ./root/tmp/orbit-root/linc-eab-0-c77d2cd942ce: socket ignored
tar: ./root/tmp/orbit-root/linc-1205-0-745d2ac67ea9e: socket ignored
tar: ./root/tmp/orbit-root/linc-eab-0-23c74f7986c9: socket ignored
tar: ./root/tmp/orbit-root/linc-e03-0-37ed0bc61c605: socket ignored
tar: ./local/home/iris/tmp/orbit-iris/linc-48fd-0-235b35bd4dafe: socket ignored
tar: ./local/home/iris/tmp/orbit-iris/linc-87e-0-2225f7e4b2863: socket ignored
tar: ./var/spool/postfix/public/flush: socket ignored
tar: ./var/spool/postfix/public/showq: socket ignored
tar: ./var/spool/postfix/public/cleanup: socket ignored
tar: ./var/spool/postfix/private/lmtp: socket ignored
tar: ./var/spool/postfix/private/smtp: socket ignored
tar: ./var/spool/postfix/private/uucp: socket ignored
tar: ./var/spool/postfix/private/old-cyrus: socket ignored
tar: ./var/spool/postfix/private/rewrite: socket ignored
tar: ./var/spool/postfix/private/anvil: socket ignored
tar: ./var/spool/postfix/private/bsmtp: socket ignored
tar: ./var/spool/postfix/private/defer: socket ignored
tar: ./var/spool/postfix/private/cyrus: socket ignored
tar: ./var/spool/postfix/private/error: socket ignored
tar: ./var/spool/postfix/private/local: socket ignored
tar: ./var/spool/postfix/private/relay: socket ignored
tar: ./var/spool/postfix/private/trace: socket ignored
tar: ./var/spool/postfix/private/maildrop: socket ignored
tar: ./var/spool/postfix/private/bounce: socket ignored
tar: ./var/spool/postfix/private/ifmail: socket ignored
tar: ./var/spool/postfix/private/cyrus-chroot: socket ignored
tar: ./var/spool/postfix/private/lmtp-filter: socket ignored
tar: ./var/spool/postfix/private/smtp-filter: socket ignored
tar: ./var/spool/postfix/private/verify: socket ignored
tar: ./var/spool/postfix/private/virtual: socket ignored
tar: ./var/spool/postfix/private/cyrus-deliver: socket ignored
tar: ./var/spool/postfix/private/proxymap: socket ignored
tar: ./var/spool/postfix/private/cyrus-inet: socket ignored
tar: ./root/tmp/orbit-root/linc-eab-0-c77d2cd942ce: socket ignored
tar: ./root/tmp/orbit-root/linc-1205-0-745d2ac67ea9e: socket ignored
tar: ./root/tmp/orbit-root/linc-eab-0-23c74f7986c9: socket ignored
tar: ./root/tmp/orbit-root/linc-e03-0-37ed0bc61c605: socket ignored
tar: ./local/home/iris/tmp/orbit-iris/linc-48fd-0-235b35bd4dafe: socket ignored
tar: ./local/home/iris/tmp/orbit-iris/linc-87e-0-2225f7e4b2863: socket ignored
- and on rebooting on hdb (without swaping the drives), I had a kernel panic... so I had to reboot on good old hda instead.
Here is the hdb2:/etc/fstab
/dev/hdb2 / ext3 noatime 1 1 none /dev/pts devpts mode=0620 0 0 /dev/hdb3 /local ext3 noatime 1 2 /dev/hdc /mnt/cdrom auto ro,users,iocharset=iso8859-15,sync,noatime,codepage=850,noauto,nosuid,nodev,noexec 0 0 /dev/hdd /mnt/dvd udf,iso9660 ro,users,iocharset=iso8859-15,sync,noatime,codepage=850,noauto,nosuid,nodev,noexec 0 0 /dev/fd0 /mnt/floppy vfat,msdos,ext2 sync,unhide,noatime,noauto,nosuid,users,nodev,umask=0 0 0 /dev/hda2 /new reiserfs notail,noauto 1 2 /dev/hda3 /new/local reiserfs notail,noauto 1 2 none /proc proc defaults 0 0 none /tmp tmpfs defaults 0 0 /dev/hdb1 swap swap defaults 0 0This is actually the same as hda2:/etc/fstab, with a swap between hda,reiserfs,notail <-> hdb,ext3,noatime, hence the "/new" directory which actually means "old"... well, it was just a test run.
Here is the hdb2:/etc/lilo.conf (which I used for /sbin/lilo -v after chrooting to /mnt/hdb2)
boot=/dev/hda map=/boot/map vga=normal default="linux" keytable=/boot/fr-latin1.klt prompt nowarn timeout=50 message=/boot/message menu-scheme=wb:bw:wb:bw # splash=silent removed! image=/boot/vmlinuz label="old" root=/dev/hda2 initrd=/boot/initrd.img append="devfs=nomount quiet acpi=ht pmdisk=/dev/hda1" vga=788 read-only image=/boot/vmlinuz label="linux" root=/dev/hdb2 initrd=/boot/initrd.img append="devfs=nomount quiet acpi=ht pmdisk=/dev/hdb1" vga=788 read-only image=/boot/vmlinuz label="linux-nonfb" root=/dev/hdb2 initrd=/boot/initrd.img append="devfs=nomount quiet acpi=ht pmdisk=/dev/hdb1" read-only other=/dev/fd0 label="floppy" unsafe image=/boot/vmlinuz label="failsafe" root=/dev/hdb2 initrd=/boot/initrd.img append="devfs=nomount quiet failsafe acpi=ht noresume" read-onlyAgain, I just changed all hda's to hdb's, except the boot=/dev/hda (first line) as the MBR is still on hda. Then I added a "Old" entry for my current hda2 linux installation (which I'm still using because of the kernel panic with the new "Linux" entry).
I was not able to find anything definitive in lilo's man page, on what filesystem exactly is referenced by all those /dev/... and /boot/... everywhere. I wouldn't be surprised if my error was somehow related to that.
SO... Is there something wrong in my config? Or is my whole method simply the wrong one?
Yves.

Help
MultiQuote








