Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

So I wasted several days dealing with a lame Apache2 bug that was fixed in Februry 2012. I couldn't figure out why I was experiencing the bug still until I discovered my version Apache2 was a 2.2.x version even thought I built up the entire server from scratch Debian 6 on Nov 30, 2012. For some reason aptitude -install apache2 pulled 2.2.x instead of 2.4.x.

I wish I had known not to assume aptitude will pull the latest stable build. Can anyone shed some light on how the repositories are managed and why aptitude would be pulling from the older maintained infrastructure instead of the 2.4.x infrastructure? Also, how would I specifically get aptitude to pull 2.4.x and how can I help myself avoid problems like this in the future?

share|improve this question

3 Answers 3

up vote 0 down vote accepted

Aptitude will always install the newest version available in repositories (except in some special cases like pinning, or when directed to install an older version specifically).

The Debian family of Linux distributions (as well as the Red Hat family) test one specific version of a given software package for a given OS release (in your case, Debian 6 with Apache 2.2.16) and keep it at that version for the entire release for the sake of stability and configuration compatibility, backporting in any security or important bug fixes.

So, apt installed the newest version of the apache2 package in the repository, which is the version that was tested with that OS and is offered in the Debian 6 repository. If you need 2.4 for some specific reason, you should be able to find a third party repository that offers a package for it.

share|improve this answer

There is not Apache 2.4 in the stable repository of Debian as you can see in: http://packages.debian.org/search?keywords=apache2&searchon=names&suite=stable&section=all

The apache2 package is a metapackage that points to other packages and versions with its dependencies: http://packages.debian.org/squeeze/apache2

share|improve this answer

I posted this link to one of my buddies and he knew the answer, but he doesn't have an account. So I'm posting the answer myself.

Basically, all packages are compiled per Linux distribution. That's why you can't just go to Apache's website and get Apache unless they specifically offer a build for your given distribution.

Debian, as it happens, considers 2.4.x to be experimental and buggy. There is a 2.4.2-2 alpha build but not 2.4.3, which is supposed to be stable. I'm guessing the same issue exists on Ubuntu at the time being.

So obviously, since Debian's latest stable package is 2.2.x,that's what aptitude installs.

Sometimes 3rd parties will release a package for a specific distro but then you're relying on the 3rd party so that comes with its own caveats.

If you want to go with a 3rd party package, you can add your own personal repositories or repositories from a 3rd party called PPAs. Aptitude should use the PPA when you install something.

If a release for given distro isn't available, then the only option is to build from source. I'm not going to build from source because it removes the easy upgrade path. Everytime there's an upgrade, the maintainer has to update his source files and recompile them. For now, I'll just leave things on 2.2 since I gave up and went back to my old configuration anyway.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.