How to migrate the whole system to a new machine?
Solution 1
Prerequisites:
The same version of Ubuntu is installed on both machines. The architecture (32/64 bit) can be different.
Step 1: Store the list of installed packages
Run the following command on the source machine to store the installed packages names in ~/pkglist:
sudo dpkg --get-selections | sed "s/.*deinstall//" | sed "s/install$//g" > ~/pkglist
Step 2: Transfer your config
Use scp or rsync or even a flash drive to transfer your home directory (~/, ~/.), the source list (/etc/apt/sources.list) and any other files you customized or installed (like apache config under /etc or softwares on /opt) from the source machine to the target one.
Step 3: Install packages
On the target machine run the following command in a failsafe terminal session to install your packages:
sudo aptitude update && cat pkglist | xargs sudo aptitude install -y
Extract from:
http://eggsonbread.com/2010/01/28/move-ubuntu-to-another-computer-in-3-simple-steps/
Solution 2
First off, How to list all installed packages this question covers exporting (then installing) your exact set of packages.
As you noted, most of your configuration will be in /home.
That being said, each time I do this, I start from scratch so to speak. I'll install ubuntu and manually add packages that I know I use, configuring them one at a time. The list of packages installed on your old computer is a good starting place to find different pieces. Once stuff is more or less set up, I'll then copy over just the data files (but not the config files) from my old computer. This does take more time to do, but it's worth it to switch to the newest version. (My old desktop runs 10.04, my new on currently runs 11.10, although I plan on updating that to 12.04 when it has been around for a month to work off any remaining rough edges) But this plan is for if you're ok with a few things working slightly differently than before. If you need things to be exactly the same, go ahead and do the above.
Solution 3
I was looking for an easier way of doing this and I found Aptik:
Aptik is a tool for migrating settings and data from one Linux installation to another. It can be used while re-installing the operating system, and when moving to next release of a Linux distribution.
I just used it to migrate from an old laptop to a new one, both running Ubuntu 18.04. Seemed to work pretty well.
Related videos on Youtube
Lai Yu-Hsuan
Updated on September 18, 2022Comments
-
Lai Yu-Hsuan almost 2 years
I use
ubuntu
to deal with daily job. Now I buy a new laptop, and I want to migrate my whole system(programs, packages, data, settings, etc) to the new machine.I know I can copy my home folder to new machine and I will get (almost) all data and settings. But is there a safe way to copy the whole system? Or it's a bad idea?
-
Adonis K. Kakoulidis over 10 yearsStep 2 is still rather vague
-
ShadowMitia over 9 yearsThere's also filezilla which works well.
-
David Foerster over 9 yearsNot necessarily, if the new system is a laptop and 1) the drive has a 3.5" form factor or 2) even with the right form factor all drive bays of the laptop are full.
-
mjp over 7 yearsThere may be a change to Ubuntu's setup because following these instructions will cause system failure - necessitating a re-installation of the operating system. Best option is to just start from scratch on the new machine.
-
Mohammed Joraid almost 7 years@ShadowMitia Clonezilla I guess you meant?
-
Mohammed Joraid almost 7 years@mjp True. This rendered my freshly installed ubuntu 16.04 unusable. After running the install package commands System Settings went missing. I restarted. The machine then rebooted into a blank desktop. I tried to reinstall unity desktop from command but no result. Going to re-install ubuntu
-
qwr over 5 yearsNorton Ghost? No thanks we have rsync and gParted...
-
Doktor J almost 5 yearsThanks for this! While it's not free ($25 for a personal license), it is much more comprehensive than most other answers here (getting custom repos, packages, configurations, and more in addition to just the home directory) and apparently doesn't bork an Ubuntu 18.04 install, which appears to be the result of some of the other, older answers here when applied to modern distros.
-
PiTheNumber over 4 yearsTo find changes in /etc I used
debsums -ce
-
PiTheNumber over 4 yearsThis does not work anymore! See askubuntu.com/questions/1006641/…
-
Hafenkranich about 2 yearsDo NOT just simply copy-paste! E.g. if you switch from AMD to Intel or vice versa there might be specific packages for each chipset