I need to update exim on one of my servers to at least version 4.86 to use it with rspamd. But the latest version provided by the OS is 4.82.
Is there any comfortable way to get the latest version, besides of building it from sources?
Cheers
I need to update exim on one of my servers to at least version 4.86 to use it with rspamd. But the latest version provided by the OS is 4.82.
Is there any comfortable way to get the latest version, besides of building it from sources?
Cheers
This is a somewhat generic answer on installing newer software on an older version of a Debian derivative.
The first thing is to make sure that you actually want a newer version. Contrary to a popular misconception, newer isn't always better. The newer version usually has bug fixes but it also has new bugs. Distributions apply fixes for major bugs and especially for security issues, so if all you care about is bug fixes in general, you should stick with your distribution's package. In your case, you need a new feature, so this warning does not apply to you.
The easiest way to get a newer version is if someone has already done the work for you. Check whether a backport package is available for your distribution. For Ubuntu, backports are listed on the package page on the website. For exim4, there is no backport.
Also check if the application developer has packages available. This doesn't seem to be the case for Exim.
Lacking an official package, check if there's an unofficial package. With an unofficial package, there's more of a risk that the maintainer of that package won't make timely updates to fix security issues and major bugs, so evaluate the source and decide whether you want to take the risk. For Ubuntu, and sometimes for other Debian derivatives, check whether a PPA is available. For exim with rspamd support, you're half in luck. There's an exim-rspamd PPA but it doesn't seem to be actively maintained so it probably has security holes by now.
A radically different approach is to install a more recent distribution in a chroot environment, and run the program from this more recent distribution. This consumes a lot of disk space and bandwidth compared to just installing one application, but those are cheap compared with human labor, and this method is very light on labor, especially for Debian derivatives thanks to schroot. See my guide on using schroot on Debian derivatives. This is a good method for “end user” applications, but for a system service like exim4, it might not be so easy.
For server-side software, you may be able to find a chroot-like package in the form of a Docker container. Many Docker images with exim are available. I have no idea about their quality, reliability and trustworthiness.
For open source software, installing from source is always a possibility. It may be more or less painful depending on what other software (typically libraries) the program depends on. For GUI programs that require a couple dozen libraries and keep updating their minimum requirements, it can be very difficult to keep up. For a program like exim that has very few dependencies, it should be pretty easy. The main constraint is that you have to watch for, and apply, security updates as they come out. This can introduce risk if the application developer only provides security updates for the latest version (which may introduce bugs that affect you). Check if a long-term-support version is available (there isn't one for Exim).
In your case, I'd either go for a Docker container if there's a reliable one, or build your own deb package starting from the work that was done for the exim-rspamd PPA.
backports
repository? Add the repo, doapt-get update
and then check versions available withapt-cache madison exim
– ivanivan Jun 12 '18 at 18:38