OS X El Capitan के तहत स्थायी रूप से लॉन्च डेमॉन को कैसे संशोधित किया जाए?


6

मैं डिफ़ॉल्ट संशोधित org.postfix.master.plist की पोस्टफ़िक्स एक के रूप में चलाने के लिए डेमॉन , इसलिए जब भी किसी स्थानीय उपयोगकर्ता एक मेल प्राप्त करता है यह मुझे ई-मेल भेज सकते हैं।

चूक:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>org.postfix.master</string>
    <key>Program</key>
    <string>/usr/libexec/postfix/master</string>
    <key>ProgramArguments</key>
    <array>
        <string>master</string>
        <string>-e</string>
        <string>60</string>
    </array>
    <key>QueueDirectories</key>
    <array>
        <string>/var/spool/postfix/maildrop</string>
    </array>
    <key>AbandonProcessGroup</key>
    <true/>
</dict>
</plist>

संशोधित:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>KeepAlive</key>
        <true/>
        <key>Label</key>
        <string>org.postfix.master</string>
        <key>Program</key>
        <string>/usr/libexec/postfix/master</string>
        <key>ProgramArguments</key>
        <array>
                <string>master</string>
        </array>
        <key>QueueDirectories</key>
        <array>
                <string>/var/spool/postfix/maildrop</string>
        </array>
        <key>AbandonProcessGroup</key>
        <true/>
</dict>
</plist>

हालाँकि यह फ़ाइल है, /System/Library/LaunchDaemons/इसलिए मुझे फ़ाइल को संशोधित करने के लिए अस्थायी रूप से SIP को अक्षम करना पड़ा। मैंने पढ़ा कि अगले OS अपडेट के बाद मेरे सभी परिवर्तन एसआईपी के कारण चले जाएंगे। इसे स्थायी बनाने के लिए मैं क्या कर सकता हूं? क्या मैं /Library/LaunchDaemonsदूसरे के रूप में अपना लॉन्च डेमॉन डाल सकता हूं ?

जवाबों:


6

मुझे अभी तक इसके लिए "वास्तविक" के साथ सौदा नहीं करना पड़ा है, लेकिन मुझे लगता है कि इसका सबसे अच्छा समाधान है:

  1. .Plist फ़ाइल को / Library / LaunchDaemons में कॉपी करें।
  2. इसका नाम बदलें (उदाहरण के लिए "स्थानीय" जोड़कर फ़ाइल नाम की शुरुआत में), और Labelमिलान करने के लिए इसके मूल्य को संपादित करें । यदि आप इसे नहीं बदलते हैं, तो लॉन्च को इस और मूल के बीच भ्रमित होने की संभावना है।
  3. आपको जो भी अन्य संपादन चाहिए, वे करें
  4. सुनिश्चित करें कि स्वामित्व रूट: पहिया, और अनुमतियों के लिए 644 पर सेट है।
  5. उदाहरण के साथ मूल आइटम को निष्क्रिय करें sudo launchctl unload -w /System/Library/LaunchDaemons/org.postfix.master.plist( -wयह स्थायी बनाता है)।
  6. जैसे sudo launchctl load /Library/LaunchDaemons/local.org.postfix.master.plist(या सिर्फ रिबूट) के साथ अपने अनुकूलित प्रतिस्थापन को लोड करें ।

BTW, यदि आप SIP को निष्क्रिय करते हैं और मौजूदा फाइल को संशोधित करते हैं, तो यह जरूरी नहीं कि OS अपडेट द्वारा वापस किया जाएगा। लेकिन यह हो सकता है , और आपको हर अपडेट (सुरक्षा अपडेट आदि सहित) के बाद जांचना होगा, जो एक दर्द है।


आपका समाधान काम करता है। Labelमूल्य बदलना वास्तव में महत्वपूर्ण है। अन्यथा डेमॉन शुरू नहीं होगा।
बेंजामिनोवेन्डरवेइडन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.