How to properly replicate of all distro packages + python packages from an ubuntu server on AWS to an ubuntu server on DO

September 22, 2016 136 views
Python Ubuntu 16.04 Ubuntu

I'm trying to migrate all the distro and python packages I have on an AWS ubuntu server , to my newly created DO server

Please find below my DO and AWS Distro's release

  • AWS : Ubuntu 14.04.5 LTS
  • DO : Ubuntu 16.04.1 LTS

I listed all the distro and python packages I have from my AWS server, with the following commands

sudo dpkg --get-selections > dpkglist.txt
pip freeze > freeze.lst

Then on my DO server, I did the following

dpkg --set-selections < dpkglist.txt
pip install -U -r freeze.lst #to restore the python packages
pip3 install -U -r freeze.lst #to restore the python packages

Yet, there were many errors during this reinstall.

I had to uninstall one package ppp for the dpkg to have everything working properly for the dependances.

For pip , I had to text edit the freeze.lst , manually removing some of the packages to have everything sorted.

The experience was messy, confusing and definitely not clean, IMO.

Questions are the following:

  • What should I do to make a clean slate packages , distro and python, import?
  • Is there an easy way to do such imports without any hassle e.g with (a) tool(s)?


1 Answer

You're definitely on the right track, but the errors are most likely because you're attempting to upgrade from 14.04 to 16.04 at the same time you're migrating over from AWS to DO. And you're attempting to do so by installing the same exact packages as you had on 14.04.

Ubuntu made a lot of changes between 14.04 and 16.04. Most of the packages have been upgraded, while some are simply no longer available. For instance, Ubuntu made the big switch from upstart to systemd, which is a huge change in and of itself.

If your source machine is 14.04, you're going to have an easier time migrating to a Droplet running 14.04. You shouldn't get any errors that way. You could then upgrade that Droplet to 16.04 at your leisure, or keep it on 14.04 until you're ready to make the move to a clean 16.04 install.

Have another answer? Share your knowledge.