Rsync-Daemon kann in Sierra nicht geladen werden. Protokoll zeigt: „Assertion fehlgeschlagen: 16G1408: libxpc.dylib“

Ich versuche, rsync --daemonauf Sierra (10.12.6) zu starten, indem ich launchctl. Früher hat es gut funktioniert (letztes Mal in Mavericks, glaube ich). Aber jetzt auf Sierra startet der Daemon nicht und grep rsync /var/log/system.logzeigt nur dies:

... rsync[12201]: assertion failed: 16G1408: libxpc.dylib + 20887 [BF896DF0-D8E9-31A8-A4B3-01120BFEEE52]: 0xf

Auch das Googeln dieser kryptischen Nachricht brachte mich nicht weiter.

Ich kenne SIP und habe es deaktiviert:

$ csrutil status
System Integrity Protection status: disabled.

Ich versuche, meinen Damon zu konfigurieren, indem ich dieser Anleitung folge , die im Wesentlichen besteht aus:

  • erstellen /etc/rsyncd.confundrsyncd.secrets
  • Erstellen/Library/LaunchDaemons/org.samba.rsync.plist
  • Laden der plist-Datei mitlaunchctl load -w /Library/LaunchDaemons/org.samba.rsync.plist
  • und beginne damitlaunchctl start org.samba.rsync

Die Plist-Datei wird geladen, aber der Daemon läuft nicht:

$ launchctl list | grep rsync
-   0   org.samba.rsync

Was könnte diese assertion failed: 16G1408: libxpc.dylibMeldung bedeuten?

Hat sich in Sierra etwas daran geändert, wie man Daemons startet?

Können Sie r sync von der Befehlszeile aus ausführen?
Ja, es wird über die Befehlszeile ausgeführt

Antworten (1)

Anscheinend benötigen Sierra und möglicherweise auch frühere Versionen den rsync-Daemon, um mit der --no-detachOption gestartet zu werden, was zuvor nicht benötigt wurde.

Die Fehlermeldung assertion failed: 16G1408: libxpc.dylib, die in den Protokollen erschien, als es nicht funktionierte, bleibt ein Rätsel. Aber diese .plist-Datei funktioniert jetzt, um das ursprüngliche Problem zu lösen:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <false/>
    <key>Label</key>
    <string>org.samba.rsync</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/rsync</string>
        <string>--daemon</string>
        <string>--no-detach</string> <!-- This is needed now -->
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <dict>
        <key>SuccessfulExit</key>
        <false/>
    </dict>
</dict>
</plist>