I've often seen system administrators download and install server applications, including "stock" applications such as Apache, under a dedicated /srv or /opt directory instead of installing them from the official repository, e.g. apt-get install xxx.

Is it really a bad idea to install and run a webserver, or an email server, or even less common services such as Zope from the distribution's official packages?


Not a bad idea at all. IMHO, the opposite is true: You need a good reason why the official packages are not sufficient.

Some problems:

  • With enterprise distributions (RHEL, SLES) you'll lose support.
  • You are responsible for tracking security fixes. Normally, this is done by the security teams of the distribution.
  • It takes time, sometimes a lot, to get it running.

Of course, when you need a specific feature of a new version or just a very specific configuration, doing your own thing is a valid approach, but it will have drawbacks.

  • 3
    +1. Unless you have a specific need, don't move away from the packages that are maintained for you. Debian (and so Ubuntu and other close relatives) offers good source package support to so if all you need to change is a couple of compile time options or add a simple patch, get the source package and build your own .deb from that. I presume that similar facilities are common in other large distributions too. – David Spillett Aug 20 '10 at 10:01
  • 1
    Is your job to be the SA of the box or are you using the box to do your job? Unless there is a need that you can't meet using packaged software, use what has been tested to work with your setup. My hierarchy: Distro stable, Distro test, Package stable, Package test, source. Anecdotally, I just installed PHP 5.2 on CentOS using packages from the CentOS-Testing repository rather than compiling from source, or even getting RPMs from php.net. PHP 5.3.3 released in July, and is considered stable by the PHP team, but the CentOS team hasn't bundled it and I don't need the feature set. – Larry Smithmier Aug 20 '10 at 15:42

Is it really a bad idea to install and run a webserver, or an email server, or even less common services such as Zope from the distribution's official packages?

Depends on what you are trying to achieve.

The major distributions are usually relatively quick in pushing out critical security patches and usually come with a tool for identifying them and notifying you - you don't get that when you install from a tarball.

OTOH they are slower about making non-critical updates available, don't want to complicate their support process with multiple versions of software, and (for commercial suppliers) do want you to buy a new version when it comes along. Sometimes the functionality isn't avaialble at all - e.g. php sqlite support in RHEL.

Compiling from scratch means (if you know what you are doing) you can build a binary which is optimized for your hardware. You do need to ensure that you don't end up with dependencies from the distributor supplied software on the software you maintian yourself - otherwise you'll be condemned to dependency hell!

So there are benefits in installing from the developer rather than distributor - but you need to plan time and processes for keeping the system secure. Certainly you should have a very good reason for doing so.



Debian (in particular) releases versions to apt when it's been thoroughly vetted as "Stable". When you use the repository version, you can be reasonably comfortable that it will work with few if any issues.

The security maintenance argument is very valid too.

For me, unless I need a new feature in a version that hasn't filtered through the Debian or Ubuntu approval process, and it's absolutely needed, I stick with the repository versions.



For Postgresql and MySQL I always provision our own compiles, the same goes for versions of python and it's various plugins. I think most developers would concur they stick to their own agreed versions of software and libraries.

  • Why? Do you need any special options which aren't in the packaged version? How does your SA's feel about having to use your home built versions instead of the packaged ones? I'm a developer and I certainly don't agree with you. I only do my own builds if I absolutely have too, and then I have to talk the SA's into agreeing with me. – Martin Aug 20 '10 at 22:19

I generally stick with the distribution packages (CentOS). With more than a couple of servers, it's difficult to keep up with security patches if you are installing from source or non-distribution packages. We do have exceptions: we hand install Java from Oracle/Sun packages rather than use the broken Java in CentOS. And, we install MySQL from Oracle/Sun packages to get the latest stable version. Even with those two exceptions, it's a pain to keep them up to date with patches.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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