Мы используем CentOS 7 и только что обновили Postfix до версии 3. Postfix не запускается после обновления. Во-первых, в журнале есть проблема совместимости, но мы решили ее, как было предложено (postconf compatibility_level=2
).
Более серьезная проблема
postfix: /usr/libexec/postfix/post-install: Error: /etc/postfix/postfix-files is not a file
Абсолютно застрял там. Мы пытались установить chmod 777
на /etc/postfix
, мы пытались использовать postfix-install
, но ничего не помогло.
Наконец нашел решение. /etc/postfix/postfix-files
отсутствовал, поэтому мы просто использовали:
touch /etc/postfix/postfix-files
... и проблема решена.
Postfix ищет файл postfix-files в каталоге, указанном в meta_directory вариант конфигурации. Некоторые пакеты, похоже, устанавливают это в /usr/share/postfix
. Мой main.cf (и, предположительно, ваш) был установлен на /etc/postfix/
вместо этого, и это похоже на значение по умолчанию, которое postfix использует в отсутствие какой-либо конфигурации. (Пакеты, которые помещают его в другое место, помещают правильный путь в свой main.cf по умолчанию, но это, конечно, не помогает, если вы не используете их конфигурацию по умолчанию и вместо этого используете свой собственный файл.) Решение состоит в том, чтобы установить его в main. .cf туда, где его фактически помещает установочный пакет, например
meta_directory = /usr/share/postfix
Та же проблема после обновления постфикса из http://repos.oostergo.net/7/postfix-3.2/
Кажется, что файл установлен в /usr/share/postfix/
хотя, поэтому лучшим решением, чем просто создание пустого файла, вероятно, будет его копирование в место, где post-install
ожидает найти:
cp -a /usr/share/postfix/postfix-files /etc/postfix/