Die Abhängigkeit mail-transport-agent mittels Pseudopaket auflösen

Aus DebianforumWiki
Zur Navigation springen Zur Suche springen
Wiki ‹ Web und Mailserver ‹ Die Abhängigkeit mail-transport-agent mittels Pseudopaket auflösen


Viele Pakete im Debian-Repository benötigen einen MTA und hängen deshalb vom virtuellen Paket mail-transport-agent ab.

Eine Liste aller Pakete, die von mail-transport-agent abhängen, kann wie folgt ermittelt werden:

user@debian:~$ aptitude search "?depends(mail-transport-agent)"

Hat man einen MTA von Hand, am Paketverwaltungssystem vorbei installiert und will ein von mail-transport-agent abhängiges Pakete installieren. Dann möchte man nicht noch einen MTA installieren. Also muss dem Paketsystem gesagt werden, dass ein MTA installiert ist.

Das geht indem man ein leeres Paket erstellt, das behauptet ein MTA zu sein.

Um innerhalb von Debians Paketverwaltung die Abhängigkeit mail-transport-agent aufzulösen, ohne einen konkreten MTA (wie Debianpackage.png exim, Debianpackage.png postfix, Debianpackage.png sendmail etc.) installieren zu müssen. Ist es gängige Praxis, ein leeres, sog. Pseudopaket zu installieren. Welches nur dazu da ist, die Abhängigkeit mail-transport-agent aufzulösen.

Zur Erstellung von Pseudopaketen, bietet sich das Paket Debianpackage.png equivs an.

Pseudopaket erstellen

Eine Vorlage für mail-transport-agent, liefert Debianpackage.png equivs bereits mit:

cat /usr/share/doc/equivs/examples/mail-transport-agent.ctl 
Package: mta-local
Provides: mail-transport-agent
Conflicts: mail-transport-agent
Description: A local MTA package 
 A package, which can be used to establish a locally installed
 mail transport agent.

Das Paket wird dann mit dem Befehl equivs-build gebaut:

cd /tmp
equivs-build /usr/share/doc/equivs/examples/mail-transport-agent.ctl

Pseudopaket installieren

dpkg --install /tmp/mta-local_1.0_all.deb

Nicht ganz so einfach ist die Installation, wenn bereits ein MTA installiert ist. Hier muss dann etwas getrickst werden:

dpkg --install --force-conflicts /tmp/mta-local_1.0_all.deb
apt-get remove old-mta # deinstallieren des alten MTA
Hinweis.png Hinweis: Sauberer ist es natürlich das Paket über APT zu installieren.


Somit ist dann für die Paketverwaltung ein MTA im System installiert und es lassen sich, von mail-transport-agent abhängige Pakete installieren. Ohne das ein konkreter MTA als Abhängigkeit mit installiert wird.