Tidak dapat memuat daemon rsync di Sierra. Log menunjukkan: "pernyataan gagal: 16G1408: libxpc.dylib"

2

Saya mencoba memulai rsync --daemon di Sierra (10.12.6), menggunakan launchctl. Dulu bekerja dengan baik (terakhir kali di Mavericks, saya pikir). Tapi sekarang di Sierra, dasmon tidak dimulai dan grep rsync /var/log/system.log hanya menunjukkan ini:

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

Googling pesan samar ini juga tidak memberi saya petunjuk.

Saya tahu tentang SIP, dan menonaktifkannya:

$ csrutil status
System Integrity Protection status: disabled.

Cara saya mencoba mengkonfigurasi Damon saya adalah dengan mengikuti panduan ini , yang pada dasarnya terdiri dari:

  • menciptakan /etc/rsyncd.conf dan rsyncd.secrets
  • menciptakan /Library/LaunchDaemons/org.samba.rsync.plist
  • memuat file plist dengan launchctl load -w /Library/LaunchDaemons/org.samba.rsync.plist
  • dan memulainya dengan launchctl start org.samba.rsync

File plist memang bisa dimuat, tetapi daemon tidak berjalan:

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

Apa yang bisa ini assertion failed: 16G1408: libxpc.dylib pesan artinya?

Apakah ada yang berubah di Sierra dengan cara memulai daemon?

mivk
sumber
Bisakah Anda menjalankan r sinkronisasi dari baris perintah?
Mark
Ya, itu dijalankan dari baris perintah
mivk

Jawaban:

2

Rupanya, Sierra dan mungkin versi sebelumnya juga, memerlukan daemon rsync untuk memulai dengan --no-detach opsi, yang tidak diperlukan sebelumnya.

Pesan kesalahan assertion failed: 16G1408: libxpc.dylib yang muncul di log ketika tidak berfungsi tetap menjadi misteri. Tapi file .plist ini sekarang berfungsi untuk menyelesaikan masalah aslinya:

<?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>
mivk
sumber