Difference between revisions of "Cloning a computer"

From Linuxintro
imported>ThorstenStaerk
imported>ThorstenStaerk
Line 8: Line 8:
  
 
== Clone a Linux computer ==
 
== Clone a Linux computer ==
When cloning a Linux installation, you will be able to [[pack]] all files, like that:
+
To store a backup of one computer on the other via [[network]], use the command:
 
  cd /
 
  cd /
  tar -cvz $(ls | grep -v proc)  | ssh root@''192.168.0.5'' "cat >slash.tar.gz"
+
  tar -cvz $(ls | grep -v proc)  | ssh root@<abbr title="replace by your target computer">192.168.178.3</abbr> "cat ><abbr title="replace by the name of your backup file">slash.tar.gz</abbr>"
 +
 
 +
To clone a computer over the network, say:
 +
tar -cv $(ls | grep -v proc)  | ssh root@<abbr title="replace by your target computer">192.168.178.3</abbr> "(cd <abbr title="replace by the path where you want to restore, typically /">/public/ubunturoot</abbr>; tar xv )"
 +
 
 
Afterwards you may want to change
 
Afterwards you may want to change
 
* IP address, netmask, gateway, name server, time server, hostname
 
* IP address, netmask, gateway, name server, time server, hostname

Revision as of 22:24, 30 January 2013

Cloning a computer means you have one computer and want to copy the complete harddisk to another. This can mean different things and can have different reasons.

Reasons

  • You want to have a stand-in computer in case your "pet computer" breaks. In this case it is enough to copy every file from hard disk A to hard disk B.
  • You want to virtualize your computer. In this case you will have to dump every byte from your source (physical) to your target (virtual) computer.

Over the network

Clone a Linux computer

To store a backup of one computer on the other via network, use the command:

cd /
tar -cvz $(ls | grep -v proc)  | ssh root@192.168.178.3 "cat >slash.tar.gz"

To clone a computer over the network, say:

tar -cv $(ls | grep -v proc)  | ssh root@192.168.178.3 "(cd /public/ubunturoot; tar xv )"

Afterwards you may want to change

  • IP address, netmask, gateway, name server, time server, hostname
  • /etc/fstab to contain generic device names like /dev/sda1 instead of /dev/disk/by-uuid/7e9e1890-312e-43eb-8ebb-82fe03b62732
  • /boot/grub/menu.lst to contain generic device names

Clone any computer

This is how you can clone the harddisk of any computer, even if it is an encrypted Windows computer. Boot the computer from Knoppix, open a console, enter

dd if=/dev/sdx | bzip2 -z | ssh root@192.168.0.5 "(cat >backup-sdx.bz2)"

Be sure to replace /dev/sdx by the harddisk you want to clone and 192.168.0.5 by your target computer's IP.

local

Local cloning is e.g. to a USB disk to make a USB disk bootable. In this case we assume the target disk is /dev/sdx2. To clone your harddisk:

  • make sure there is no DVD, CD, network drive and other things mounted
  • mount the target harddisk to /mnt:
mount /dev/sdx2 /mnt
cd /
tar -cv $(ls | grep -v proc | grep -v sys | grep -v mnt) | ( cd /mnt; tar xv )
mkdir /mnt/proc /mnt/sys /mnt/mnt