มีวิธีใดที่จะทำให้ Postfix ทำงานอย่างถาวรใน Lion (ไม่ใช่เซิร์ฟเวอร์)


35

ฉันสามารถเริ่ม Postfix ชั่วคราวด้วย:

$ sudo launchctl
launchd% start org.postfix.master

อย่างไรก็ตาม Console.app แสดงว่ามันจะทำงานในช่วงเวลาสั้น ๆ เท่านั้น:

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

ฉันคิดว่าไฟล์ /System/Library/LaunchDaemons/org.postfix.master.plist ต้องได้รับการอัปเดตเพื่อให้ Postfix ทำงานอย่างถาวร แต่ฉันยังไม่พบคำตอบ

วิธีที่ถูกต้องในการรับ Postfix เริ่มตั้งแต่เวลาบูตและทำงานอย่างถาวรคืออะไร

อัปเดต เพื่อแก้ไขไฟล์ตามคำแนะนำที่เลือกไว้ฉันจะแปลงเป็น XML ก่อน

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

จากนั้นเพียงแก้ไขด้วย Vim:

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
    

ตอนนี้ postfix ควรจะทำงานเป็น daemon

งานด้านบนนี้เกี่ยวกับ Mountain Lion, Mavericks, Yosemite และ El Capitan สำหรับระบบที่มี System Integrity Protection (El Capitan และใหม่กว่า) มีสองตัวเลือกดังนี้:

  1. คัดลอก/System/Library/LaunchDaemons/org.postfix.master.plistไปยัง/Library/LaunchDaemons/org.postfix.custom.plistเปลี่ยนorg.postfix.masterเป็นorg.postfix.customแล้วยกเลิกการโหลดและโหลดตามด้านบน
  2. ปิดใช้งาน SIP (โดยใช้csrutil) ทำการแก้ไขและเปิดใช้งาน SIP อีกครั้ง

หมายเหตุ:ด้วยเทือกเขาสูงและซ้อมแฟ้มการกำหนดค่าเป็นแทนcom.apple.postfix.master.plistorg.postfix.custom.plist


1
ทำงานให้ฉันบน Mavericks แต่ฉันต้องใส่เส้นทางไฟล์แบบเต็มเพื่อโหลด: sudo launchctl load /System/Library/LaunchDaemons/org.postfix.master.plist
รวย

1
มีcd /System/Library/LaunchDaemonsบรรทัดอยู่ตรงนั้นก่อนunloadและloadอาจพลาด ฉันใส่เส้นทางทั้งหมดเพื่อให้ชัดเจนยิ่งขึ้น
จิมสจ๊วต

2
@mjturner - ปิดใช้งาน sip หรือไม่ nope nope nope ... ดีกว่ามากเพียงสร้างใหม่ .plist ที่คุณเป็นเจ้าของใน / Library / LaunchDaemons /
Chris Withers

1
@mjturner - ใช่นั่นเป็นเรื่องแปลก ฉันไม่ได้รับการแจ้งเตือนใด ๆ และมันค่อนข้างเศร้า สนใจทำการแก้ไขเดียวกันหรือไม่
Chris Withers

3
@mjturner บนเทือกเขาสูง, มีการเปลี่ยนชื่อเป็นorg.postfix.master.plist com.apple.postfix.master.plistบางทีคุณอาจต้องการเพิ่มเข้าไปในคำตอบ
Utku
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.