How to keep programs from source up to date?

Solution 1:

Instead of compiling from source and deploying, build (or find) Ubuntu packages for the newer versions you need. Often you can take the build files from an old version and just use the newer source. You can then maintain your packages like any other, and only worry about tracking configuration files.

The Debian New Maintainers Guide is pretty helpful in this situation, specifically Chapter 9 - "Updating the package". - while it may seem scary at first, it can be as simple as

  • unpack new source
  • apply package files
  • upgrade changelog
  • build

Solution 2:

I package every piece of software using the distro's package manager. It has many advantages:

  • It's a good way to keep your systems clean, since every file is package managed.
  • Dependencies are tracked
  • If you ever want to install the same software on another server it's a piece of cake.
  • Removing the software is also pretty much automatic
  • If you ever deploy a configuration management tool at your site, having everything in packages makes the systems that much easier to manage.