I found one error, which with permissions. Tar by default maps the user ids to the system where you compress and extract, respectively. On cloning over network I did not take care of this. You can tell tar explicitely by the --numeric-owner option to conserve the original mapping.
I found a
howto that described a more elegant way to clone systems using rsync (importantly with the numeric-ids option):
node2> rsync -Saq --numeric-ids --exclude=/proc --exclude=/sys --exclude=/dev
-e 'ssh -c blowfish' node1:/ /mnt/hd
where node2 is the new machine, node1, the machine from where we want to clone.
However this neither worked. ;(
I did this after booting node2 from CD, mounting file system starting /mnt/hd with subdirectories mirrowing node1 filesystem. This implied that /boot on node2 and node1 has same permissions... I don't get it.
I then tried dd with piping to and from netcat, respectively on machine to clone from and machine to clone to, as described in a
second howto from same site. It is the first time I heard of netcat (nc) which is a very cool program, a kind of pipe over the network.
On node1 you run:
dd if=/dev/hda conv=sync,noerror bs=64k | nc -l 5000
On node2 you run:
nc 192.168.1.1 5000 | dd of=/dev/hda bs=64k
where 192.168.1.1 is the ip of node1.
This took a
lot of time (it said 158GB read/written), but it worked!