apt-get dist-upgrade on a production machine

Solution 1:

The only way to be really sure is to test. Create a test environment that mimics your production environment as closely as possible and then carry out the upgrades, monitor what happens and make a decision based on that.

Solution 2:

dist-upgrade is extremely safe. I have dist-upgraded hundreds of production machines. I have systems running squeeze that were originally installed on sarge. I've executed apt-get dist-upgrade literally thousands upon thousands of times on production machines.

That's not to say that it's guaranteed safe. I have encountered problems, but I can count those on one hand.

That being said, you should always test your intended new deployment in a non-production environment first. Including testing the upgrade process.

Solution 3:

I'd disagree with pepoluan's comment that it is never safe.

It can be safe, and Ubuntu is far better at handling release upgrades than most other distributions I've handled. (You mention hand compiled software, that is where your trouble may lie).

However in order to be confident in an answer you have to make a judgement call on what risk your willing to take -- and then test it. Never say "never" :-)

Solution 4:

If you want to update your distribution running dist-upgrade will be the way to go. It will only update packages installed via apt-get or dpkg. It would not touch your manually compiled stuff. Also it would give you the summary before doing the job, so you could see it yourself.

If you want to upgrade the Ubuntu version to newer one then you would have to run do-release-upgrade. I feel in your setup doing so would be risky. There are two ways to approach this task:

  1. do complete test as @lain says;
  2. reinstall your manually compiled packages via the package manager. Fix and verify your configuration. Then run do-release-upgrade or use the alternative CD upgrade option (personally I would to the latter).