Re: Dovecot 2.4 LMTP socket for Postfix / Dovecot base_dir not created upon restart
Philip Iezzi via dovecot <[email protected]>
| Newsgroups | gmane.mail.imap.dovecot |
|---|---|
| Message-ID | <[email protected]> |
> On 24 Feb 2026, at 06:53, Aki Tuomi via dovecot <[email protected]> wrote: > > >> On 24/02/2026 00:57 EET Philip Iezzi via dovecot <[email protected]> wrote: >> > > <snip/> > >> >> But, when using an absolute path on unix_listener, upgrade step 2) Bullseye=>Bookworm breaks with: >> >> Processing triggers for dovecot-core (2:2.4.2-2+debian12) ... >> Job for dovecot.service failed because the control process exited with error code. >> (...) >> dovecot[34446]: master: Error: service(lmtp): Socket already exists: /var/run/dovecot/lmtp >> dovecot[34446]: master: Fatal: Failed to start listeners >> >> I then moved to `unix_listener lmtp`: >> >> service lmtp { >> unix_listener lmtp { >> mode = 0666 >> user = postfix >> group = postfix >> } >> } >> >> Bookworm upgrade (restarted from scratch with a fresh server clone) went through fine. >> But even after several dovecot.service restarts, the socket ended up in /run/lmtp without creating the /run/dovecot directory, and after a full system reboot, it was suddenly back where I have expected it: /run/dovecot/lmtp >> I never changed base_dir, which defaults to /var/run/dovecot/ >> > > On most modern operating systems, /var/run and /run are the same. So unless you touched something, dovecot should always use /run/dovecot. Not sure what happened there, but I suspect you accidentically changed something. Thanks Aki. I know, /var/run -> /run symlink always existed (since very old Debian versions), so that definitely did not change on Bookworm upgrade. So it must have been some Bookworm upgrade "glitch" with /run temporarily not being available... Is there some code in Dovecot that decides to fall back to /run if $base_dir (/run/dovecot) is missing? That's the only thing I really wondered about - why dit the socket ever end up in /run/lmtp instead of /run/dovecot/lmtp ? If the whole /run/dovecot cannot be created for some reason, Dovecot should not be able to start. Please just confirm that my current config is "sane": service lmtp { unix_listener lmtp { mode = 0666 user = postfix group = postfix } } With this setup, am I somehow fighting against the default lmtp socket which would already be created as root:root because of `protocols = lmtp ...` definition? Just want to make sure this socket will always be available, as it is the most crucial part of my whole setup. Cheers, Philip _______________________________________________ dovecot mailing list -- [email protected] To unsubscribe send an email to [email protected]