Amavisd-new can be updated quite easily. So long as you followed the original install instructions for a non-system version of amavisd-new, there should be no problems with this update.

Firstly you need to download the latest version of amavisd-new from http://www.ijs.si/software/amavisd/.

I recommend only using the stable version even though there is a pre-release version available. Pre-release software and not suitable for a production environment, so please don’t use the *-rc* version unless you know exactly what you are doing.

Once you have downloaded the version you need, you have to decompress it with the following line (fill in the appropriate version numbers for the *.*.*).

tar -xvf amavisd-new-*.*.*.tar.gz

Amavisd-new does not need to be compiled or the like, it only has to have it’s script files copied into place. This is very easy with the following commands. You will need your password.

sudo cp amavisd-new-*.*.*/amavisd /usr/local/bin/
sudo cp amavisd-new-*.*.*/amavisd-nanny /usr/local/bin/
sudo cp amavisd-new-*.*.*/amavisd-agent /usr/local/bin/
sudo cp amavisd-new-*.*.*/amavisd-release /usr/local/bin/
sudo cp amavisd-new-*.*.*/amavisd-snmp-subagent /usr/local/bin/

That’s all there is to updating it. However, though we have updated the scripts, we are not using the new version yet. You can either reboot, or simply reload the startup scripts for amavisd-new to start using the new version. The easiest way is simply to reload the amavisd-new daemon using launchd. We do this with the following commands.

sudo launchctl unload /Library/LaunchDaemons/org.diymacserver.amavisd_cleanup.plist
sudo launchctl unload /Library/LaunchDaemons/org.diymacserver.amavisd.plist

The above 2 commands shut down amavisd. Now we reload the amavisd-new daemon process, and so load the updated amavisd-new daemon.

sudo launchctl load /Library/LaunchDaemons/org.diymacserver.amavisd_cleanup.plist
sudo launchctl load /Library/LaunchDaemons/org.diymacserver.amavisd.plist

That’s it. all done. You should check your logs to make sure everything is loaded properly. A quick use of the tail command will show us what we need to know.

tail -90 /var/log/amavisd.log

When you scroll up to the top of the output, you should see the line showing which version of amavisd-new is loaded. If all is well it will be the latest version that you just downloaded.

Done.