Logo Spamassassin Si comme moi, vous avez installé votre propre serveur mail, et que vous gérez la détection des courriers indésirables avec spamassassin, vous avez peut-être recontré l’erreur suivante dans les logs de votre cron.daily :

/etc/cron.daily/spamassassin:
error: unable to refresh mirrors file for channel updates.spamassassin.org, using old file
channel: could not find working mirror, channel failed
sa-update failed for unknown reasons

J’ai eu cette erreur pendant plusieurs semaines, sans réussir à la corriger, ça me rendait fou (et ça empêchait la base de spamassassin de se mettre à jour, ce qui n’est pas négligeable).

J’ai enfin trouvé le problème : Il faut que la commande sa-update soit lancée avec l’utilisateur auquel appartiennent les fichiers contenus dans /var/lib/spamassassin/.

Le problème apparait donc soit quand vous lancez la commande manuellement (forcément en root, ou avec sudo), les fichiers sont alors attribués à l’utilisateur root, et les mises à jour suivantes échouent, soit parce que le script cron lancé quotidiennement n’est pas configuré correctement.

Selon les tutoriels et documentations que vous aurez lus, l’utilisateur est spamd, debian-spamd, ou spamassassin. Dans mon cas, j’ai décidé de rester avec spamd, le plus simplement du monde. Le script se lançait par contre avec debian-spamd, générant ainsi une erreur. J’ai donc lancé les commandes suivantes :

sudo chown -R spamd:spamd /var/lib/spamassassin
sudo sed -i 's/debian-spamd/spamd/g' /etc/cron.daily/spamassassin

Et voilà, plus d’erreurs, et ma base spamassassin est à jour.