How do I migrate from Ubuntu to Debian?
First thing first, move that home directory to a new partition. It's really not that difficult to do (I made the same mistake, took ~30 min to do, most of it copying). I'll give you a simple step-by-step, but more detailed walkthroughs are available.
- Create a new ext3/ext4 (or other fs) partition on a drive (eg /dev/sda3) in gparted.
- Mount the new drive:
sudo mount /dev/sda3 /media/disk
- Copy the entire contents of your /home directory to the new drive. There is some debate whether to use
rsync
orcp
for this, butcp
worked fine for me (using the-a
flag as nagul pointed out to maintain file permissions and ownership).sudo cp -a /home /media/disk
- Edit your
/etc/fstab
file and create a new entry for/dev/sda3
and set its mount point as/home
. - Move your existing home directory (don't delete it yet in case something goes wrong).
sudo mv /home /home_old
- Now you can either unmount and remount
/dev/sda3
to/home
or just reboot the computer.
After you have /home on its own parition, changing your distro is incredibly simple. Just download a live cd and/or an installation disk for the distribution you want and install it on the same partition hosting your current distro (or on a seperate partition for multi-boot purposes).
Then, after you have the distro installed, just follow steps 4-6 again (if the options for a custom /home
partition weren't available in the installer). Now you have all your old files, settings, etc but with a brand new shiny distro.
An over-the-top upgrade will not work.
Before you do anything else, backup your data (though that should go without saying).
Then you could:
- Make space for a new install by shrinking and moving partitions
- Install Debian in the newly freed space
- Once setup mount the old partition somewhere and make
/home
a synlink to/home
on the old partition.
(note: file/dir ownerships will be wrong, as users will not have the same UIDs nor groups the same GIDs, you'll need to adjust them or mess around to make the UID->user and GID->group relations the same on the new setup as the old)
or
- Wipe the system
- Install fresh
- Restore
/home
from backup
(you may still need to mess with file/dir ownership)