今天我有点惊讶地在 Debian 安装中发现以下内容:
$ sudo apt-get install mdadm
...
The following NEW packages will be installed:
exim4-base exim4-config exim4-daemon-light guile-2.0-libs libfribidi0
libgc1c2 libgsasl7 libkyotocabinet16v5 libltdl7 liblzo2-2 libmailutils5
libmariadbclient18 libntlm0 libpython2.7 libpython2.7-minimal
libpython2.7-stdlib mailutils mailutils-common mdadm mysql-common psmisc
...
After this operation, 44.7 MB of additional disk space will be used.
这里有很多依赖项似乎与管理 RAID 阵列无关。我可以看到当 RAID 阵列发生故障时发送电子邮件的依赖项可能非常松散,但除此之外,上面的列表对我来说毫无意义。它有 45 MB 的依赖项。
这些依赖关系的原因是什么?
答案1
除 exim4(通过 default-mta)之外,以上都不属于 mdadm 依赖树的一部分。
然而它智能工具依赖关系树。许多守护进程本身会生成 RFC x822 电子邮件消息并将其提供给 /usr/sbin/sendmail,但smartd_warning.sh
smartmontools 附带的脚本更简单,只需运行mail
命令即可。
mail
有多种来源,包括蜗牛和bsd-mailx,但默认情况下 Debian 从 GNU 安装它邮件实用程序包裹。
- 一些 mail/mailx 客户端,包括来自邮件实用程序,支持访问远程 POP3 和 IMAP 服务器(而不是仅限本地邮件池),并且实际上任何现代 IMAP 客户端都需要 SASL 实现。mailutils 使用的 SASL 是 Cyrus SASL,它具有选修的Berkeley DB 账户存储的“服务器端”模块。
- Mailutils 包括 POP3 和 IMAP服务器以及客户端,它们支持将用户帐户存储在 SQL 数据库中。Debian 将这些守护进程拆分成自己的包,这通常是为了避免大量的依赖关系——但出于某种原因,不必要的依赖关系不是从主包中删除。有一个Debian 错误报告。
- 邮件过滤工具
maidag
(类似于 procmail)包括Python 和 Scheme(guile)脚本支持。同样,这似乎被拆分成一个单独的包,但依赖项并未被删除。
调查使用:
apt rdepends mailutils
debtree smartmontools | dot -T png -o debtree.png