Bug 31827

Summary: systemd compability
Product: Sisyphus Reporter: enp <enp>
Component: postfixAssignee: Gleb F-Malinovskiy <glebfm>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: evg, glebfm, ldv
Version: unstableKeywords: systemd
Hardware: all   
OS: Linux   

Description enp 2016-02-20 10:26:57 MSK
В системах с systemd файл /etc/sysconfig/network может отсутствовать, прошу убрать ссылку на него из /lib/systemd/system/postfix.service
Comment 1 Evgenii Terechkov 2016-02-20 11:51:15 MSK
Наверное, будет достаточно и s/EnvironmentFile=/EnvironmentFile=-/
Comment 2 enp 2016-02-24 10:25:34 MSK
А еще в составе postfix опакечен один совершенно лишний файл:

# file /etc/syslog.d/postfix 
/etc/syslog.d/postfix: broken symbolic link to `/var/spool/postfix/dev/log'

В итоге postfix зависит от syslog-common, который в системе с systemd совершенно не обязателен.
Comment 3 Dmitry V. Levin 2016-02-24 11:21:59 MSK
(In reply to comment #2)
> А еще в составе postfix опакечен один совершенно лишний файл:
> 
> # file /etc/syslog.d/postfix 
> /etc/syslog.d/postfix: broken symbolic link to `/var/spool/postfix/dev/log'
> 
> В итоге postfix зависит от syslog-common, который в системе с systemd
> совершенно не обязателен.

А логи postfix в системе с systemd тоже совершенно не обязательны?
Comment 4 enp 2016-02-24 12:05:16 MSK
> > В итоге postfix зависит от syslog-common, который в системе с systemd
> > совершенно не обязателен.
> 
> А логи postfix в системе с systemd тоже совершенно не обязательны?

В /var/log да, journald лучше знает, где им место.

По большому счету и в случае SysV могут быть причины не хранить логи локально, а сразу отправлять по сети. В общем ноги растут из https://bugzilla.altlinux.org/show_bug.cgi?id=31819 и https://bugzilla.altlinux.org/show_bug.cgi?id=31799, где я предлагаю оторвать зависимость syslog-common от syslog-демонов.
Comment 5 Dmitry V. Levin 2016-02-24 12:21:42 MSK
(In reply to comment #4)
> > > В итоге postfix зависит от syslog-common, который в системе с systemd
> > > совершенно не обязателен.
> > 
> > А логи postfix в системе с systemd тоже совершенно не обязательны?
> 
> В /var/log да, journald лучше знает, где им место.

Вы уверены, что логи от зачрутенных postfix-процессов дойдут до journald?
Comment 6 enp 2016-02-24 12:35:19 MSK
> Вы уверены, что логи от зачрутенных postfix-процессов дойдут до journald?

Ссылка /etc/syslog.d/postfix у меня все равно битая (см. выше). Зато в выводе journalctl я вижу сообщения от postfix/master, postfix/qmgr и postfix/smtp.
Comment 7 Dmitry V. Levin 2016-02-24 13:27:11 MSK
(In reply to comment #6)
> > Вы уверены, что логи от зачрутенных postfix-процессов дойдут до journald?
> 
> Ссылка /etc/syslog.d/postfix у меня все равно битая (см. выше).

Значит, journald не умеет /etc/syslog.d/; получается, вы предлагаете сломать то, что работает в sysvinit, для совместимости с systemd, в котором это не работает.  Правильно?

(In reply to comment #6)
> Зато в выводе
> journalctl я вижу сообщения от postfix/master, postfix/qmgr и postfix/smtp.

И какой вывод вы делаете на основе этого наблюдения?
Что /var/spool/postfix/dev/log не нужен?
Comment 8 enp 2016-02-24 16:20:40 MSK
(В ответ на комментарий №7)
> (In reply to comment #6)
> > > Вы уверены, что логи от зачрутенных postfix-процессов дойдут до journald?
> > 
> > Ссылка /etc/syslog.d/postfix у меня все равно битая (см. выше).
> 
> Значит, journald не умеет /etc/syslog.d/; получается, вы предлагаете сломать
> то, что работает в sysvinit, для совместимости с systemd, в котором это не
> работает.  Правильно?

Я предполагаю, что в случае journald это и так работает, см. ниже. Ломать sysvinit конечно же нехорошо.

> (In reply to comment #6)
> > Зато в выводе
> > journalctl я вижу сообщения от postfix/master, postfix/qmgr и postfix/smtp.
> 
> И какой вывод вы делаете на основе этого наблюдения?
> Что /var/spool/postfix/dev/log не нужен?

Самый очевидный вывод - journald получает данные от postfix как-то иначе (через stdout/stderr?) и в /var/spool/postfix/dev/log а также в /etc/syslog.d/ не нуждается. Конечно, этот вывод может быть неверным, помогите мне тогда вот это интерпретировать:

# rpm -qa | grep syslog
syslog-common-1.4.1-alt30

# file /etc/syslog.d/postfix 
/etc/syslog.d/postfix: broken symbolic link to `/var/spool/postfix/dev/log'

# systemctl status postfix.service -l
● postfix.service - Postfix Mail Transport Agent
   Loaded: loaded (/lib/systemd/system/postfix.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2016-02-24 16:08:43 MSK; 1min 46s ago
  Process: 3174 ExecStart=/usr/sbin/postfix start (code=exited, status=0/SUCCESS)
  Process: 3085 ExecStartPre=/usr/sbin/postfix check (code=exited, status=0/SUCCESS)
  Process: 2973 ExecStartPre=/etc/init.d/postfix adjust (code=exited, status=0/SUCCESS)
 Main PID: 3266 (master)
   CGroup: /machine.slice/systemd-nspawn@logger.service/system.slice/postfix.service
           ├─3266 /usr/libexec/postfix/master -w
           ├─3267 pickup -l -t fifo -u -c
           ├─3268 qmgr -l -t fifo -u -c
           ├─3298 cleanup -z -t unix -u -c
           ├─3299 trivial-rewrite -n rewrite -t unix -u -c
           └─3300 local -t unix

Feb 24 16:08:42 logger systemd[1]: Starting Postfix Mail Transport Agent...
Feb 24 16:08:43 logger postfix[2973]: Adjusting environment for postfix: [ DONE ]
Feb 24 16:08:43 logger postfix/master[3266]: daemon started -- version 2.11.7, configuration /etc/postfix
Feb 24 16:08:43 logger systemd[1]: Started Postfix Mail Transport Agent.
Feb 24 16:09:16 logger postfix/pickup[3267]: 5A64D9669: uid=0 from=<root>
Feb 24 16:09:16 logger postfix/cleanup[3298]: 5A64D9669: message-id=<20160224130916.5A64D9669@logger.localdomain>
Feb 24 16:09:16 logger postfix/qmgr[3268]: 5A64D9669: from=<root@logger.localdomain>, size=316, nrcpt=1 (queue active)
Feb 24 16:09:16 logger postfix/local[3300]: 5A64D9669: to=<enp@logger.localdomain>, orig_to=<root>, relay=local, delay=0.39, delays=0.14/0/0/0.25, dsn=2.0.0, status=sent (delivered to command: /usr/bin/procmail -a $DOMAIN -d $LOGNAME)
Feb 24 16:09:16 logger postfix/qmgr[3268]: 5A64D9669: removed
Comment 9 Repository Robot 2016-03-02 19:25:33 MSK
postfix-1:2.11.7-alt2 -> sisyphus:

* Wed Mar 02 2016 Fr. Br. George <george@altlinux> 1:2.11.7-alt2
- Making /etc/sysconfig/network optional (closes: #31827)
- Extra/chroot.conf: added support for alias_maps (closes: #31822)
- Disable TLS micro version check (closes: #31752)