如何解决常规系统日志错误?

dun*_*ead 4 syslog sendmail

我的系统日志中经常出现错误(它们恰好每 10 分钟发生一次,直到第二次):

Feb 22 13:01:24 computer sm-mta[5747]: q1MBVO6B003778: SYSERR(root): hash map "Alias0": missing map file /etc/mail/aliases.db: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我不知道如何解释这些错误,但我猜测sm-mta[5747]   错误的一部分是应用程序名称和进程 ID 是否正确?如果是这样,这对我来说似乎很奇怪,因为我没有安装 sm-mta 并且系统监视器没有具有该编号的进程 ID。我可能像往常一样愚蠢!

请问如何找出导致这些错误的原因并阻止它们发生?

Oli*_*Oli 6

我读sm-mtasendmailMTA(消息传输代理)。根据错误消息,这似乎是有道理的。

sendmail 是一个转发电子邮件消息的程序,要么让应用程序通过它发送电子邮件,要么接受电子邮件并将其路由到邮箱。

所以有几件事:

  • 你已经sendmail安装了!这是一个可怕的应用程序,因此除非您有充分的理由安装它,否则我建议您取消它。

    sudo apt-get remove sendmail
    
    Run Code Online (Sandbox Code Playgroud)

    如果这抱怨想要删除依赖于该sendmail软件包的其他应用程序,请权衡一下。如果这些应用程序只需要提供default-mta或提供某些东西mail-transport-agent,请考虑使用postfixwhich 提供这些角色。

  • 如果您需要本地 MTA(处理电子邮件),我建议您使用postfix. 不错,相当简单,非常有能力。

    sudo apt-get install postfix
    
    Run Code Online (Sandbox Code Playgroud)
  • 如果您需要 sendmail(即某些东西对它有不可替代的硬依赖性),那么您需要考虑修复此特定错误。像这样的事情可能会奏效:

    makemap hash /etc/mail/aliases.db < /etc/mail/aliases
    
    Run Code Online (Sandbox Code Playgroud)