Зависит от: exim vs mail-transport-agent
Я создаю установочный пакет.deb для нашего программного обеспечения, который зависит от установленного действующего SMTP-сервера. В настоящее время control
состояние файла:
Depends: mail-transport-agent
Однако один пользователь Debian пожаловался, что пакет не будет установлен, возможно потому, что у него есть exim
установлены. Теперь я немного растерялся. Является ли exim действительным MTA? Если так, то почему он не "предоставляет" виртуальный пакет mail-transport-agent
?
Если я отредактирую свой control
файл, чтобы заявить:
Depends: exim | mail-transport-agent
Можно ли предположить, что работающий SMTP-сервер будет доступен, когда exim
пакет установлен? Или есть exim
не совсем замена для postfix, sendmail и т.д?
1 ответ
Exim - полный MTA, как и Postfix.
Несколько разновидностей Exim, таких как exim4-daemon-light
Всем приятного
Provides: [...] mail-transport-agent
линия там.
Если ваш пользователь жалуется, что не установится, я вижу следующие очевидные причины:
sudo dpkg -i package.deb
приведет к сбою, если зависимости не будут выполнены, как это произойдет с любым другим пакетом с зависимостями. Он должен бежатьsudo apt-get install -f
чтобы удовлетворить их и завершить установку, но он может не знать, что он должен это сделать.Решение: запросите полный вывод его попытки установки, и это, вероятно, намекает на выполнение какой-либо команды исправления неисправности.
Он установил exim из исходного кода, и его управление пакетами пытается установить его поверх своей локальной установки (и он отказывается это сделать - по причине).
Решение: сделать это
Recommends:
вместо жесткогоDepends:
, чтобы немного ослабить зависимость. Обычные методы установки устанавливают рекомендуемые зависимости, но могут быть смягчены пользователем, например--no-install-recommends
с помощьюapt-get
,