Opendkim не запустится: не может открыть файл PID?

Это - жалоба, которую я получаю от systemd:

"opendkim.service: Can't open PID file /var/run/opendkim/opendkim.pid"

Как замечено здесь:

systemctl status opendkim.service

производит это:

● opendkim.service - OpenDKIM DomainKeys Identified Mail (DKIM) Milter
   Loaded: loaded (/lib/systemd/system/opendkim.service; enabled; vendor preset: enabled)
   Active: deactivating (stop-sigterm) (Result: timeout)
     Docs: man:opendkim(8)
           man:opendkim.conf(5)
           man:opendkim-genkey(8)
           man:opendkim-genzone(8)
           man:opendkim-testadsp(8)
           man:opendkim-testkey
           http://www.opendkim.org/docs.html
  Process: 8217 ExecStart=/usr/sbin/opendkim -x /etc/opendkim.conf (code=exited, status=0/SUCCESS)
    Tasks: 6 (limit: 2361)
   CGroup: /system.slice/opendkim.service
           └─8226 /usr/sbin/opendkim -x /etc/opendkim.conf

Feb 11 04:56:48 hacksaw.org systemd[1]: Starting OpenDKIM DomainKeys Identified Mail (DKIM) Milter...
Feb 11 04:56:48 hacksaw.org systemd[1]: opendkim.service: Can't open PID file /var/run/opendkim/opendkim.pid (yet?) after start: No such file or directory
Feb 11 04:56:48 hacksaw.org opendkim[8226]: OpenDKIM Filter v2.11.0 starting (args: -x /etc/opendkim.conf)
Feb 11 04:58:18 hacksaw.org systemd[1]: opendkim.service: Start operation timed out. Terminating.

Если я запускаю демона вручную, это идет. Это, кажется, о systemd.

Другие данные:

#ls -ld /var/run/opendkim/
drwxr-xr-x 2 opendkim opendkim 40 Feb 11 04:25 /var/run/opendkim/

Единственная строка на opendkim.conf:

UserID      opendkim:opendkim

Значение по умолчанию opendkim сервисный файл, от/lib/systemd/service:

[Unit]
Description=OpenDKIM DomainKeys Identified Mail (DKIM) Milter
Documentation=man:opendkim(8) man:opendkim.conf(5) man:opendkim-genkey(8) man:opendkim-genzone(8) man:opendkim-testadsp(8) man:opendkim-testkey http://www.opendkim.org/docs.html
After=network.target nss-lookup.target

[Service]
Type=forking
PIDFile=/var/run/opendkim/opendkim.pid
UMask=0007
ExecStart=/usr/sbin/opendkim -x /etc/opendkim.conf
Restart=on-failure
ExecReload=/bin/kill -USR1 $MAINPID

[Install]
WantedBy=multi-user.target
2
задан 12 February 2019 в 00:44

5 ответов

Так как этот демон работает один, systemd не нужно ничто специальное для управления им. Значительно, наличие директивы "PIDFile" предполагает, что это - более сложный сервис и поместит PID в PIDFile на своем собственном.

Решение состоит в том, чтобы удалить строку PIDFile. Теперь systemd обрабатывает его очень хорошо.

1
ответ дан 2 December 2019 в 01:52

Редактирование этого файла здесь делает это для меня.

/usr/lib/systemd/system/opendkim.service

путем изменения PidFile/var/run/opendkim/opendkim.pid на

PidFile/run/opendkim/opendkim.pid

моя платформа является песнями 7

0
ответ дан 2 December 2019 в 01:52

Я зафиксировал его путем определения PidFile в /etc/opendkim.conf файл:

PidFile                 /var/run/opendkim/opendkim.pid

Я думаю, что лучше решить его здесь, чем изменение systemd сценария. Кроме того, systemd рекомендует PIDFile опция, если Type опция установлена на forking, который это, кажется, находится в этом сервисе.

Это PidFile установка присутствовала в значении по умолчанию /etc/opendkim.conf файл. Однако я заменил тот файл, в то время как я следовал учебному руководству для конфигурирования OpenDKIM. Таким образом, это - то, где это пошло не так, как надо для меня.

3
ответ дан 2 December 2019 в 01:52

Я решаю эту проблему только путем создания opendkim папка в /var/run/ и chowned это к opendkim:opendkim. После этого сервис, запущенный правильно и созданный его изодромный с предварением файл.

0
ответ дан 2 December 2019 в 01:52

В моем случае был то, вследствие того, что /var/run была символьная ссылка на /run. После изменения PIDFile путь от /var/run/opendkim/opendkim.pid в /run/opendkim/opendkim.pid в opendkim.service, проблема ушла.

1
ответ дан 2 December 2019 в 01:52

Другие вопросы по тегам:

Похожие вопросы: