What is the difference between the mail-server^
task and the mail-stack-delivery
package?
-
Hey Paul, I don't want to migrate this (at least no yet) because I'm not entirely sure it is appropriate for Server Fault. I'd hate to migrate good content only for it to be closed on the other site. You might ask in their chat. I also don't understand how Sylvain's answer didn't address your question. Perhaps you could edit it to expound on exactly what you want?– SethApr 21, 2014 at 4:02
1 Answer
Visit the mail-stack-delivery package page and download the tar.gz containing the Debian/Ubuntu packaging.
Open the debian/control
file and look for lines beginning with Provides:
like this one:
Package: dovecot-imapd
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, dovecot-core (= ${binary:Version}), ucf (>= 2.0020)
Provides: imap-server
Description: secure IMAP server that supports mbox, maildir, dbox and mdbox mailboxes
You can see that dovecot-imapd
provides a package named imap-server
, which is a virtual package, as defined in the Debian Policy Manual:
Sometimes, there are several packages which offer more-or-less the same functionality. In this case, it's useful to define a virtual package whose name describes that common functionality. (The virtual packages only exist logically, not physically; that's why they are called virtual.) The packages with this particular function will then provide the virtual package. Thus, any other package requiring that function can simply depend on the virtual package without having to specify all possible packages individually.
Edit: mail-server^
is not a metapackage, it's a task as defined in /usr/share/tasksel/**/*.desc
Apt can understand task if the "^" is appended to the task name but the installation process is a bit different from what tasksel is doing.
Visit Should I use tasksel, tasks in APT or install regular metapackages? for a complete description of both installation processes.
In terms of installed packages, you can easily dry-run apt-get install
for both mail-server^
and mail-stack-delivery
:
sudo apt-get install -s mail-server^
sudo apt-get install -s mail-stack-delivery
The task mail-server
will install:
bsd-mailx
dovecot-core
dovecot-imapd
dovecot-pop3d
libgpgme11
libpth20
libtokyocabinet8
mutt
postfix
procmail
ssl-cert
But mail-stack-delivery
will install those packages instead:
dovecot-core
dovecot-imapd
dovecot-managesieved
dovecot-pop3d
dovecot-sieve
mail-stack-delivery
postfix
ssl-cert
I hope that answers your initial question.
-
This answer does not make it clear to me what the difference is between the
mail-stack-delivery
package and themail-server^
metapackage.– PaulApr 7, 2014 at 20:40 -
Where did you find the
mail-server^
metapackage, could you please add a link for reference? Apr 7, 2014 at 20:51 -
MetaPackages - Official Ubuntu Documentation describes what a metapackage is, although it doesn't mention that, as I understand it, metapackages are one implementation in Ubuntu of
tasksel
. I have seen themail-server^
metapackage in several articles describing how to set up and configure a mail-server.– PaulApr 7, 2014 at 21:46 -
My initial question was really very specific: what is the difference between
mail-server^
andmail-stack-delivery
? You did a good job of identifying the differences in the installation processes, but I'm not clear what the difference is in what ends up installed on the server.– PaulApr 7, 2014 at 22:16 -
1In the case of
mail-stack-delivery
, you can download the package yourself and extract it and look at the various scripts that run pre and post install and remove as well as the01-mail-stack-delivery.conf
file you mention.– MikeOct 30, 2014 at 1:13