AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1079362
Accepted
Guido Goluke
Guido Goluke
Asked: 2021-10-03 00:34:04 +0800 CST2021-10-03 00:34:04 +0800 CST 2021-10-03 00:34:04 +0800 CST

突然没有为 MySQL 配置 Postfix

  • 772

我已经使用这个服务器一周了。全新 Ubuntu 20.04 安装,所有软件包都通过 apt 安装。我可以在我的 IP 之外接收和发送邮件就好了。突然间,再也无法接收电子邮件了。

我检查了日志,很快就注意到了这error: unsupported dictionary type: mysql条消息,这意味着 postfix 无法根据我的数据库检查收件人。我检查了我的apt list --installed输出,但安装了 postfix-mysql,所以这不是问题。我很快发现我需要添加以下行: mysql /usr/lib/postfix/postfix-mysql.so.1.0.1 dict_mysql_open to/etc/postfix/dynamicmaps.cf并执行postfix reload.

我的问题是:这怎么可能发生?我确实有一个apt update && apt upgrade运行自动更新服务器的 cron。

更新

我看到的最后一个更新是这个:

2021-09-28 23:01:31 upgrade postfix:amd64 3.4.13-0ubuntu1.1 3.4.13-0ubuntu1.2 问题在那之后就开始了。dynamicmaps.cf除了顶部的注释指令行之外是空的。我添加了 mysql 行,现在这是文件中唯一的功能行。

更新 2

杀死所有发现的进程后,ps -Af | grep -E 'dpkg|debconf|apt|unatt'我跑了:

sudo apt update
sudo apt-get install --fix-broken
sudo dpkg --configure -a -D223

在尝试配置后缀时,这给了我以下错误:

D000001: process queue pkg postfix-mysql:amd64 queue.len 54 progress 1, try 1
dpkg: dependency problems prevent configuration of postfix-mysql:
 postfix-mysql depends on postfix (= 3.4.13-0ubuntu1.2); however:
  Package postfix is not installed.

dpkg: error processing package postfix-mysql (--configure):
 dependency problems - leaving unconfigured

我对 dpkg 了解不多,无法理解这一点。这里发生了什么事?

更新 3

dpkg-query --show --showformat='${package} ${status}\n' 'postfix*' 产量:

postfix install ok installed                                                                                            postfix-cdb unknown ok not-installed
postfix-doc unknown ok not-installed
postfix-ldap unknown ok not-installed
postfix-lmdb unknown ok not-installed
postfix-mysql install ok installed
postfix-pcre unknown ok not-installed
postfix-pgsql unknown ok not-installed
postfix-sqlite unknown ok not-installed

因此,两个请求的软件包都处于正常且已安装的状态。据我所见,apt 命令并没有提出修复建议(我仔细阅读了输出)。看来你的建议奏效了。

我不喜欢的是不知道自己在做什么,但那是由于我自己的 apt 和 dpkg 缺乏知识。

postfix
  • 1 1 个回答
  • 197 Views

1 个回答

  • Voted
  1. Best Answer
    anx
    2021-10-04T04:40:02+08:002021-10-04T04:40:02+08:00

    每次升级后缀地图包时,它将首先从中删除其各自的地图类型,/etc/postfix/dynamicmaps.cf并且仅在以后添加它(返回)。您可以通过强制重新配置手动查看这是否有效dpkg-reconfigure postfix-mysql。如果升级后文件为空,则可能意味着升级被中断 - 甚至仍然挂起,等待从未出现的用户输入。

    如果您正在应用所有 SRU,那么您将已将 Postfix 升级到3.4.13-0ubuntu1.2Ubuntu 20.04。我建议您确认当前没有应用升级:

    ps -Af | grep -E 'dpkg|debconf|apt|unatt'
    dpkg-query --show --showformat='${package} ${status}\n' 'postfix*'
    

    您的 cron 作业存在缺陷,因为它无法告诉 apt 这是一个非交互式调用,这可能是它挂起的原因。

    如有必要,请确保正确安装所有软件包。在此步骤中,您可能会看到有助于确定cron 作业失败原因的警告或问题。

    sudo apt update
    sudo apt-get install --fix-broken
    sudo dpkg --configure -a -D223
    

    不要忘记删除有问题的 cron 作业,因为它设置了一些可靠的东西。当没有管理员待命时,该程序unattended-upgrade通常是在 Ubuntu 系统上应用升级的首选方法。它将跳过或使用默认值来处理 apt 以交互方式要求的内容。

    • 0

相关问题

  • Postfix 在特定端口上接受邮件

  • 让 Postfix 以两种方式处理垃圾邮件

  • Postfix 或 exim:自动/程序化和转发电子邮件设置

  • 后缀电子邮件地址

  • 什么是最好的开源电子邮件解决方案包

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve