Apa cara yang benar untuk membuat Postfix berjalan secara permanen di Lion (bukan server)

35

Saya dapat memulai Postfix untuk sementara dengan:

$ sudo launchctl
launchd% start org.postfix.master

Namun, Console.app menunjukkan bahwa itu hanya berjalan untuk waktu yang singkat:

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

Saya pikir file /System/Library/LaunchDaemons/org.postfix.master.plist perlu diperbarui untuk membuat Postfix berjalan secara permanen, tetapi saya belum menemukan jawabannya.

Apa cara yang benar untuk mendapatkan Postfix mulai saat boot dan berjalan secara permanen?

Pembaruan Untuk mengedit file yang direkomendasikan oleh jawaban yang dipilih, saya pertama-tama mengonversinya menjadi XML.

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

Kemudian baru diedit dengan Vim:

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

Saya mengalami masalah saat mencoba Xcode mengedit file.

dkam
sumber

Jawaban:

36

Perubahan berikut ini berfungsi untuk saya:

  1. Hapus dua elemen berikut dari /System/Library/LaunchDaemons/org.postfix.master.plist:

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

    Ini akan menghentikannya setelah 60 detik.

  2. Tambahkan elemen berikut sebagai anak dari <dict>...</dict>elemen dalam file plist yang sama:

    <key>KeepAlive</key>
    <true/>
  3. Muat ulang file:

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

postfix sekarang harus dijalankan sebagai daemon.

Di atas bekerja di Mountain Lion, Mavericks, Yosemite dan El Capitan. Untuk sistem yang memiliki Perlindungan Integritas Sistem (El Capitan dan yang lebih baru) ada dua opsi:

  1. Menyalin /System/Library/LaunchDaemons/org.postfix.master.plistke /Library/LaunchDaemons/org.postfix.custom.plist, mengubah org.postfix.masterke org.postfix.customdan kemudian membongkar dan memuat seperti di atas.
  2. Menonaktifkan SIP (menggunakan csrutil), mengedit dan mengaktifkan kembali SIP.

Catatan: Dengan High Sierra dan Mojave, file konfigurasi com.apple.postfix.master.plistbukan org.postfix.custom.plist.

mjturner
sumber
1
Bekerja untuk saya di Mavericks, tetapi saya harus meletakkan path file lengkap untuk memuatnya: sudo launchctl memuat /System/Library/LaunchDaemons/org.postfix.master.plist
rich
1
Ada cd /System/Library/LaunchDaemonsgaris di sana sebelum unloaddan loadyang mungkin terlewatkan. Saya sebaris jalan penuh untuk membuatnya lebih jelas.
Jim Stewart
2
@ mjturner - nonaktifkan sip? nggak nggak nggak ... Jauh lebih baik hanya dengan membuat .plist baru yang Anda miliki di / Library / LaunchDaemons /
Chris Withers
1
@ mjturner - ya, itu aneh. Saya tidak mendapat pemberitahuan apa pun, dan ini agak menyedihkan. Ingin membuat edit yang sama?
Chris Withers
3
@ mjturner Di High Sierra, org.postfix.master.plistdiganti namanya menjadi com.apple.postfix.master.plist. Mungkin Anda ingin menambahkan itu ke jawabannya.
Utku