लायन (सर्वर नहीं) पर स्थायी रूप से पोस्टफ़िक्स रन बनाने का सही तरीका क्या है


35

मैं पोस्टफ़िक्स को अस्थायी रूप से शुरू कर सकता हूं:

$ sudo launchctl
launchd% start org.postfix.master

हालाँकि, Console.app दिखाता है कि यह केवल थोड़े समय के लिए चलता है:

26/11/11 2:00:55.710 PM postfix/master: master exit time has arrived

मुझे लगता है कि पोस्ट / रन को स्थायी रूप से चलाने के लिए फ़ाइल / सिस्टम / नियम /LaunchDaemons/org.postfix.master.plist को अपडेट करने की आवश्यकता है, लेकिन मुझे अभी तक इसका उत्तर नहीं मिला है।

बूट समय पर पोस्टफ़िक्स को शुरू करने और स्थायी रूप से चलाने का सही तरीका क्या है?

अद्यतन चयनित उत्तर द्वारा अनुशंसित फ़ाइल को संपादित करने के लिए, मैंने इसे पहले XML में परिवर्तित किया।

plutil  -convert xml1 /System/Library/LaunchDaemons/org.postfix.master.plist

फिर बस इसे विम के साथ संपादित किया:

sudo vim /System/Library/LaunchDaemons/org.postfix.master.plist

मेरे पास फ़ाइल को संपादित करने के लिए Xcode प्राप्त करने की कोशिश करने के मुद्दे थे।

जवाबों:


36

निम्नलिखित परिवर्तन मेरे लिए काम करते हैं:

  1. निम्नलिखित दो तत्वों को इसमें से निकालें /System/Library/LaunchDaemons/org.postfix.master.plist:

    <string>-e</string>
    <string>60</string>

    यह 60 सेकंड के बाद बाहर निकलना बंद कर देगा।

  2. निम्नलिखित तत्व को <dict>...</dict>उसी plist फ़ाइल में तत्व के एक बच्चे के रूप में जोड़ें :

    <key>KeepAlive</key>
    <true/>
  3. फ़ाइल पुनः लोड करें:

    sudo launchctl unload /System/Library/LaunchDaemons/org.postfix.master.plist 
    sudo launchctl load /System/Library/LaunchDaemons/org.postfix.master.plist

उपसर्ग अब एक डेमन के रूप में चलना चाहिए।

उपरोक्त माउंटेन लायन, मावेरिक्स, योसेमाइट और एल कैपिटन पर काम करता है। सिस्टम इंटीग्रिटी प्रोटेक्शन (एल कैपिटन और बाद में) के लिए दो विकल्प हैं:

  1. प्रतिलिपि बनाई जा रही /System/Library/LaunchDaemons/org.postfix.master.plistकरने के लिए /Library/LaunchDaemons/org.postfix.custom.plist, बदल रहा है org.postfix.masterकरने के लिए org.postfix.customऔर फिर उतारने और इसके बाद के संस्करण के रूप में लोड हो रहा है।
  2. SIP का उपयोग करना (उपयोग करना csrutil), संपादन करना और फिर SIP को फिर से सक्षम करना।

नोट: उच्च सिएरा और Mojave के साथ, कॉन्फ़िगरेशन फ़ाइल com.apple.postfix.master.plistइसके बजाय है org.postfix.custom.plist


1
मेरे लिए Mavericks पर काम किया है, लेकिन मुझे इसे लोड करने के लिए पूरा फ़ाइल पथ रखना पड़ा: sudo launchctl load /System/Library/LaunchDaemons/org.postfix.master.plist
अमीर '

1
cd /System/Library/LaunchDaemonsइससे पहले कि वहाँ एक लाइन थी unloadऔर loadवह छूट गई होगी। मैंने इसे स्पष्ट करने के लिए पूरे रास्ते को रेखांकित किया।
जिम स्टीवर्ट

2
@mjturner - सिप को अक्षम करें? नहींं, नहींं ... नहीं, बस एक नया .plist बनाने के लिए बेहतर है कि आप में / लाइब्रेरी / LaunchDaemons /
क्रिस 7:22

1
@mjturner - हाँ, यह अजीब है। मुझे कोई सूचना नहीं मिली, और यह थोड़ा दुखद है। उसी को संपादित करने के लिए देखभाल?
क्रिस विथर्स

3
@mjturner ऑन हाई सिएरा, org.postfix.master.plistका नाम बदला गया है com.apple.postfix.master.plist। हो सकता है कि आप उसे उत्तर में जोड़ना चाहें।
उत्कर्ष
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.