systemd müllt Log zu mit "Cannot add dependency job for unit..."

  • Jedes Mal, wenn auf meinem Server eine Email mit sendmail verschickt wird, müllt systemd das Log mit einem Schwall von Meldungen zu:


    Die genannten Services habe ich natürlich nicht installiert, da das ein möglichst "schlanker" Server sein soll.
    Weiß vielleicht jemand, wie man dem systemd das austreiben kann?


    Klaus

  • Das hat erstmal wenig mit systemd zu tun.
    Irgendeines deiner Service-Files oder die Service-Files von OpenSuse ziehen diese Services.


    Sieht ein bisschen nach Socket Activation aus.


    Da musst du mal in /usr/lib/systemd/system bzw. /etc/systemd/system auf die Suche gehen, wo das ist und den entsprechenden Service deaktivieren.

  • Falls das so aufgebaut ist wie im Paket ftp://rpmfind.net/linux/opensu…ail-8.14.9-5.1.x86_64.rpm müsste man die Abhängigkeiten aus den Service-Files rausnehmen (die Originale müssten unter /usr/lib/systemd/system/ als sendmail.service und sendmail-client.service) liegen und die geänderte Datei dann nach /etc/systemd/system speichern, dann können Updates das nicht kaputt machen.


    Ich denke der Dienst wird gestartet, wenn das Spooler-Verzeichnis nicht leer ist (wegen der sendmail-client.path).

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Einmal editiert, zuletzt von seahawk1986 ()

  • Ich würde sagen das ganze 'systemd' ist Pfusch! Ich meine, was müssen das für kranke Gehirne sein, die einen Dateinamen mit '-' beginnen lassen? In /usr/lib/systemd/system gibt es doch tatsächlich eine Datei namens '-.slice'. Ein einfacher 'grep' fällt da bereits auf die Nase:


    root@falcon:/usr/lib/systemd/system > grep mail *
    grep: invalid option -- '.'
    Usage: grep [OPTION]... PATTERN [FILE]...
    Try 'grep --help' for more information.


    Ich nehme obige Aussage natürlich zurück, sollte das auch ein SUSE-Pfusch sein - aber in -.slice steht "This file is part of systemd."...



    Aber B2T: ich habe in /usr/lib/systemd/system/sendmail.service die Zeilen


    Wants=amavis.service cyrus.service ldap.service nscd.service ypbind.service saslauthd.service
    After=amavis.service cyrus.service ldap.service nscd.service ypbind.service saslauthd.service


    auskommentiert und damit waren die meisten Log-Meldungen weg. Allerdings hält sich


    Apr 17 17:02:42 racoon systemd[1]: Cannot add dependency job for unit mail-transfer-agent.target, ignoring: Unit mail-transfer-agent.target failed to load: Invalid argument.


    hartnäckig. Müsste ich da noch wo was ändern?


    Copperhead: einfach den Fileinhalt von fedora zu übernehmen dürfte wenig sinnvoll sein, da da ja wieder ganz andere Variablennamen benutzt werden.
    Jeder pfuscht halt, wie er's mag...


    Klaus

  • Ich würde sagen das ganze 'systemd' ist Pfusch! Ich meine, was müssen das für kranke Gehirne sein, die einen Dateinamen mit '-' beginnen lassen?

    Das ist dann wieder Murks von OpenSUSE. Diese Datei gibt es weder unter Arch Linux noch unter Fedora.


    Ernsthaft. Schau' dir für die Zukunft doch ein richtiges Linux an. Von SUSE kommt schon seit Jahren nichts Hochwertiges mehr.
    Am besten für dich geeignet wäre wohl Fedora (Als kleiner Tipp. Die Server Netinstall Disc erlaubt deutlich mehr Möglichkeiten beim Setup. So Sachen wie Basisinstallation usw.)


    Copperhead: einfach den Fileinhalt von fedora zu übernehmen dürfte wenig sinnvoll sein, da da ja wieder ganz andere Variablennamen benutzt werden.
    Jeder pfuscht halt, wie er's mag...

    Nein, das hilft klar nicht. Um den Müll von OpenSUSE zu umgehen musst du die Want-Zeilen rausschmeißen. Ich habe schon lange nicht mehr so ein Chaos in einem Service-File gesehen. Die sollen normalerweise klein und ordentlich sein. Das was SUSE da liefert ist eine Katastrophe

  • Apr 17 17:02:42 racoon systemd[1]: Cannot add dependency job for unit mail-transfer-agent.target, ignoring: Unit mail-transfer-agent.target failed to load: Invalid argument.


    hartnäckig. Müsste ich da noch wo was ändern?

    Das müsste von sendmail-client.service aus dem gleichen Ordner stammen:

    Zitat


    Die Path-Activation startet sendmail-client.service, der Dienst startet dann sendmail.service, wenn er noch nicht läuft.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Nachdem ich auch aus sendmail-client.service und sendmail-client.path die entsprechenden Zeilen entfern habe, ist das jetzt weg.


    Hier mein "Kochrezept:


    Danke für eure Hilfe!


    Klaus

  • Ich weiß nicht, wie das Paketmanagement unter OpenSuSE das handhabt, aber ein mögliches Problem bei dieser Vorgehensweise ist, dass deine Änderungen bei einem Update des Pakets sendmail überschrieben werden können. Systemd sieht vor, dass man angepasste Konfigurationsdateien entweder komplett oder als Drop-In unter /etc/systemd/system/ platziert - im Arch Linux Wiki ist das Vorgehen beschrieben: https://wiki.archlinux.org/ind…iting_provided_unit_files

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hier mein neues "Kochrezept":


    Klaus

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!