We are running a production server based on Ubuntu 9.10 Karmic Koala, kernel is almost up-to-date (2.6.38.2-grsec-xxxx-grs-ipv6-64) but karmic package repositoryis now ridiculously outdated, eg. Nginx is 0.7.62 - really buggy - while latest stable is 1.0.x!!
In addition Karmic just reached its end of life.
This question: Best practices for keeping UNIX packages up to date? looks similar but actually only includes some suggestions about package managers; not at all what I need!
so the options that I see are:
- get a new machine, install it from scratch, migrate
- distribution upgrade
- use a different repository (launchpad/ppa / backport / pinning)
- build your own
The disadvantages of 1. are quite obvious.
I do not dare doing a dist-upgrade path though, as downtime and possible catastrophic consequences are just impossible to predict for a production server, and currently are mostly re-building my own required packages. But I'm sure I might be missing some.
It is not really clear to me what are the risks (stability/compatibility) of using ubuntu backports, in addition nothing is officially provided for 9.10 anymore. Launchpad are individual-builds, similar question - how better is this than compiling your own.
Building packages seems fine, but: 1. sometimes I have trouble reproducing the correct ./configure options in order to re-use my existing configuration files 1. I am sure there are tons of packages and dependencies that are now pretty outdated and possible source of bugs
Finally... what about 'old' packages in a recent distrib? I guess there's no other way than re-building them myself? Is a combination of 2. and 4. finally the best path?
Is there any objective consensus on what is the best way to do this, or reasons why some of my options are fine/not fine?
If really there isn't, I will accept that the question gets closed before creating an endless thread!