Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa
Archives de la liste
[fr@sympa] Erreur exim4 après mise à jour en debian trixie
- From: Erwan Colin <adresse@cachée>
- To: Sympa - liste d'entreaide <adresse@cachée>
- Subject: [fr@sympa] Erreur exim4 après mise à jour en debian trixie
- Date: Thu, 20 Nov 2025 17:44:27 +0100
Bonjour,
pour ceux qui utilisent exim4, avec le dossier de spool dans un endroit différent de /var/spool/sympa (ça peut arriver si sympa est installé via les sources) je vous partage un souci avec une résolution 😉.
je viens de mettre à jour une instance de test (qui était fonctionnelle) d'un serveur sympa (6.2.76) de debian 12 vers debian 13 utilisant exim4 comme backend mail et je rencontre une erreur lors de l'envoi d'un message vers une liste de diffusion.
L'erreur en question dans les logs exim :
2025-11-19 16:53:24 1vLkUm-000000002ZJ-0iKX <=
adresse@cachée ...
2025-11-19 16:53:24 1vLkUm-000000002ZJ-0iKX == |
/usr/local/libexec/queue adresse@cachée
<adresse@cachée> R=sympa_aliases
T=address_pipe defer (0): Child process of address_pipe transport
returned 75 (could mean temporary error) from command:
/usr/local/libexec/queue
Et en activant log_output = true dans la configuration du transport address_pipe, mon erreur devient :
2025-11-20 11:40:30 1vM25W-00000000K1y-2V0t <=
adresse@cachée H=smtp2.mines-albi.fr [194.167.201.100]
P=esmtps
X=TLS1.3:ECDHE_SECP256R1__ECDSA_SECP256R1_SHA256__AES_256_GCM:256
CV=no K S=11650 id=0fa50940-570c-45ed-890d-b2c31966
adresse@cachée
2025-11-20 11:40:30 1vM25W-00000000K1y-2V0t <|
/usr/local/libexec/queue adresse@cachée>:
address_pipe transport output: /usr/local/libexec/queue: while
opening queue file 'adresse@cachée
5230.77005': Read-only file system
2025-11-20 11:40:30 1vM25W-00000000K1y-2V0t == |
/usr/local/libexec/queue adresse@cachée
<adresse@cachée> R=sympa_aliases
T=address_pipe defer (0): Child process of address_pipe transport
returned 75 (could mean temporary error) from command:
/usr/local/libexec/queue
je trouve cette histoire de "Read-only file system" bizarre :
root@listes-test:~# sudo -u sympa touch
/usr/local/var/spool/sympa/msg/testfile && ls -l
/usr/local/var/spool/sympa/msg/testfile
-rw-rw-r-- 1 sympa sympa 0 Nov 20 11:42
/usr/local/var/spool/sympa/msg/testfile.
La chose qui a surtout changé entre bookworm et trixie est que le service exim4 est maintenant défini par un fichier de type service systemd et non plus dans /etc/init.d/exim4.
Et en effet, dans la définition du service systemd tel que fourni par debian :
[Unit]
Description=exim Mail Transport Agent
Documentation=man:exim(8)
Documentation=https://exim.org/docs.html
Conflicts=sendmail.service postfix.service
After=network-online.target nss-lookup.target
Wants=network-online.target
[Service]
PrivateTmp=true
ProtectSystem=full
# exim needs to access ~/.forward and MDA-files to for local
delivery
# ProtectHome=true
PrivateDevices=true
ProtectHostname=true
ProtectClock=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectKernelLogs=true
ProtectControlGroups=true
ProtectProc=invisible
RestrictRealtime=true
PIDFile=/run/exim4/exim.pid
Environment="EXIMSERVICE=-bdf -q30m" "UPEX4OPTS="
EnvironmentFile=-/etc/default/exim4r
ExecStartPre=/usr/sbin/update-exim4.conf $UPEX4OPTS
ExecStart=/usr/sbin/exim4 $EXIMSERVICE
ExecReload=/usr/sbin/update-exim4.conf $UPEX4OPTS ; \
kill -HUP $MAINPID
Type=exec
[Install]
WantedBy=multi-user.target
Et commenter de manière stupide tous les paramètres Private*,
Protect*, Restrict* permet bien à mon message de partir.
Une recherche par dichotomie me permet de pointer ProcectSystem=full comme
étant le paramètre empêchant le bon fonctionnement.
Selon la documentation de systemd :
ProtectSystem=
Takes a boolean argument or the special values "full" or "strict".
If true, mounts the /usr/ and
the boot loader directories (/boot
and /efi) read-only for
processes invoked by this unit. If set to "full", the /etc/
directory is mounted read-only, too.
Il me reste qu'a exclure mon chemin de spool via le fichier /etc/systemd/system/exim4.service.d/allow-read-write-on-spool-folder.conf :
[Service]
ReadWritePaths=/usr/local/var/spool/sympa
daemon-reload et restart exim4.
Et ça marche !
Bien à vous,
-- Erwan Colin Ingénieur système/System engineer IMT Mines Albi 🖁 +33 677 021 936 ☎ +33 563 493 356 🚪 0A20
Attachment:
OpenPGP_0xF2710398C58BD857.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature
- [fr@sympa] Erreur exim4 après mise à jour en debian trixie, Erwan Colin, 20/11/2025
Archives gérées par MHonArc 2.6.19+.