我的 Debian 工作站不会安装 courier-mta。该命令aptitude install courier-mta
看似完成且没有错误,但实际上却安装了 sendmail。
我做了什么
我将在不安装任何提供邮件传输代理的软件包的情况下开始:
dpkg --get-selections 'courier*' 'sendmail*' 'exim*' sensible-mda | awk '{print $1}' | xargs sudo dpkg --purge --force-depends
...
root@treebeard:/etc/logcheck/violations.ignore.d$ dpkg -l 'courier*' 'sendmail*' 'exim*' sensible-mda
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===============================================-============================-============================-===================================================================================================
un exim4 <none> (no description available)
dpkg-query: no packages found matching courier*
dpkg-query: no packages found matching sendmail*
dpkg-query: no packages found matching sensible-mda
然后安装courier-mta:
root@treebeard:/etc/logcheck/violations.ignore.d$ sudo aptitude install courier-mta
The following NEW packages will be installed:
courier-authdaemon{a} courier-authlib{a} courier-authlib-userdb{a} courier-base{a} courier-mta
0 packages upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/1,261 kB of archives. After unpacking 2,887 kB will be used.
Do you want to continue? [Y/n/?]
Preconfiguring packages ...
Configuring courier-base
------------------------
Courier uses several configuration files in /etc/courier. Some of these files can be replaced by a subdirectory whose contents are concatenated and treated as a single, consolidated, configuration file.
The web-based administration provided by the courier-webadmin package relies on configuration directories instead of configuration files. If you agree, any directories needed for the web-based administration tool
will be created unless there is already a plain file in place.
Create directories for web-based administration? no
Configuring courier-mta
-----------------------
Please specify a valid email domain. Most header rewriting functions will append this domain to all email addresses which do not specify a domain, such as local accounts.
Default domain: fake.domain
Please specify a valid value for the "From" header for mail delivery notifications. These notifications cannot be sent without that setting.
"From" header for delivery notifications: [email protected]
Selecting previously unselected package courier-authlib.
(Reading database ... 249566 files and directories currently installed.)
Unpacking courier-authlib (from .../courier-authlib_0.63.0-6+b1_i386.deb) ...
Selecting previously unselected package courier-authdaemon.
Unpacking courier-authdaemon (from .../courier-authdaemon_0.63.0-6+b1_i386.deb) ...
Selecting previously unselected package courier-authlib-userdb.
Unpacking courier-authlib-userdb (from .../courier-authlib-userdb_0.63.0-6+b1_i386.deb) ...
Selecting previously unselected package courier-base.
Unpacking courier-base (from .../courier-base_0.68.2-1_i386.deb) ...
Selecting previously unselected package courier-mta.
Unpacking courier-mta (from .../courier-mta_0.68.2-1_i386.deb) ...
Adding 'diversion of /usr/bin/addcr to /usr/bin/addcr.ucspi-tcp by courier-mta'
Adding 'diversion of /usr/share/man/man1/addcr.1.gz to /usr/share/man/man1/addcr.ucspi-tcp.1.gz by courier-mta'
Processing triggers for man-db ...
Setting up courier-authlib (0.63.0-6+b1) ...
Setting up courier-authdaemon (0.63.0-6+b1) ...
[ ok ] Starting Courier authentication services: authdaemond.
Setting up courier-authlib-userdb (0.63.0-6+b1) ...
Setting up courier-base (0.68.2-1) ...
update-alternatives: using /usr/bin/deliverquota.courier to provide /usr/bin/deliverquota (deliverquota) in auto mode
update-alternatives: using /usr/share/man/man5/maildir.courier.5.gz to provide /usr/share/man/man5/maildir.5.gz (maildir.5.gz) in auto mode
update-alternatives: using /usr/bin/maildirmake.courier to provide /usr/bin/maildirmake (maildirmake) in auto mode
update-alternatives: using /usr/share/man/man7/maildirquota.courier.7.gz to provide /usr/share/man/man7/maildirquota.7.gz (maildirquota.7.gz) in auto mode
update-alternatives: using /usr/bin/makedat.courier to provide /usr/bin/makedat (makedat) in auto mode
Setting up courier-mta (0.68.2-1) ...
update-alternatives: using /usr/bin/lockmail.courier to provide /usr/bin/lockmail (lockmail) in auto mode
update-alternatives: using /usr/bin/preline.courier to provide /usr/bin/preline (preline) in auto mode
Starting Courier mail server: done.
Starting Courier mail filter: done.
Starting Courier SMTP server: done.
Current status: 0 broken [-2].
问题
courier-mta 似乎已安装且没有错误,但 courier-mta 尚未安装。相反,安装了 sendmail:
root@treebeard:/etc/logcheck/violations.ignore.d$ dpkg -l 'courier*' 'sendmail*' 'exim*' sensible-mda
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===============================================-============================-============================-===================================================================================================
ii courier-authdaemon 0.63.0-6+b1 i386 Courier authentication daemon
ii courier-authlib 0.63.0-6+b1 i386 Courier authentication library
ii courier-authlib-userdb 0.63.0-6+b1 i386 userdb support for the Courier authentication library
un courier-authmysql <none> (no description available)
un courier-authpostgresql <none> (no description available)
ii courier-base 0.68.2-1 i386 Courier mail server - base system
un courier-debug <none> (no description available)
un courier-doc <none> (no description available)
un courier-faxmail <none> (no description available)
un courier-filter-perl <none> (no description available)
un courier-imap <none> (no description available)
rc courier-mta 0.68.2-1 i386 Courier mail server - ESMTP daemon
un couriergrey <none> (no description available)
un exim4 <none> (no description available)
ii sendmail 8.14.4-4 all powerful, efficient, and scalable Mail Transport Agent
ii sendmail-base 8.14.4-4 all powerful, efficient, and scalable Mail Transport Agent
ii sendmail-bin 8.14.4-4 i386 powerful, efficient, and scalable Mail Transport Agent
ii sendmail-cf 8.14.4-4 all powerful, efficient, and scalable Mail Transport Agent
un sendmail-doc <none> (no description available)
un sendmail-tls <none> (no description available)
ii sensible-mda 8.14.4-4 i386 Mail Delivery Agent wrapper
sendmail-bin(及其要求)已安装。 courier-mta 所需的软件包已安装,但 courier-mta 本身尚未安装。
历史
这是一个 Debian Wheezy(稳定)盒子。它正在运行 Debian Jessy(测试),但我通过以下 /etc/apt/preferences 文件将其降级为 Wheezy:
Package: *
Pin: release a=stable
Pin-Priority: 1001
并将 /etc/apt/sources 文件更改为:
deb http://ftp.debian.org/debian wheezy main non-free contrib
deb http://security.debian.org/ wheezy/updates main contrib non-free
并通过一系列我不记得的 apt-get/dpkg 命令。我记得有很多脏话。
问题
为什么当我尝试安装 courier-mta 时,却安装了 sendmail-bin?
答案1
在提出问题之前,我通常会在干净的虚拟映像上进行测试,以确保我的问题不依赖于错误配置。
Debian 稳定(喘息)虚拟机:
apt-get install courier-mta sensible-mda
工作了。
dpkg -l|grep -e mta -e courier -e exim -e sendmail -e sensible
输出:
ii courier-authdaemon 0.63.0-6+b1 i386 Courier authentication daemon
ii courier-authlib 0.63.0-6+b1 i386 Courier authentication library
ii courier-authlib-userdb 0.63.0-6+b1 i386 userdb support for the Courier authentication library
ii courier-base 0.68.2-1 i386 Courier mail server - base system
ii courier-mta 0.68.2-1 i386 Courier mail server - ESMTP daemon
rc exim4 4.80-7 all metapackage to ease Exim MTA (v4) installation
rc exim4-base 4.80-7 i386 support files for all Exim MTA (v4) packages
rc exim4-config 4.80-7 all configuration for the Exim MTA (v4)
rc exim4-daemon-light 4.80-7 i386 lightweight Exim MTA (v4) daemon
ii sensible-mda 8.14.4-4 i386 Mail Delivery Agent wrapper
ii sensible-utils 0.0.7 all Utilities for sensible alternative selection
没有问题。
我做到了
time xz -dc debian-stable.img.xz >testsource.img
xz: debian-stable.img.xz: ok
real 0m35.918s
user 0m32.130s
sys 0m1.126s
并kvm
从这张图片开始。我没花那么长时间。