Як правильно змусити 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>елемент, у той самий файл плісту:

    <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 тепер повинен працювати як демон.

Вищевказані роботи про Гірського Лева, Мавериків, Йосеміті та Ель-Капітана. Для систем, які мають захист цілісності системи (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.

Примітка. Для High Sierra та 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 - відключити ковток? nope nope nope ... Набагато краще просто створити новий .plist, який ви є власником в / Бібліотека / LaunchDaemons /
Chris Withers

1
@mjturner - так, це дивно. Я не отримав жодного повідомлення, і це трохи сумно. Хочете зробити те ж саме редагування?
Кріс Вітерс

3
@mjturner на Високій Сьєррі org.postfix.master.plistперейменовано в com.apple.postfix.master.plist. Можливо, ви захочете додати це до відповіді.
Утку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.