Cách chính xác để làm cho Postfix chạy vĩnh viễn trên Lion (không phải máy chủ)


35

Tôi có thể bắt đầu Postfix tạm thời bằng:

$ sudo launchctl
launchd% start org.postfix.master

Tuy nhiên, Console.app cho thấy nó chỉ chạy trong một thời gian ngắn:

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

Tôi nghĩ rằng tập tin / System / L Library / LaunchDaemons / org.postfix.master.plist cần được cập nhật để Postfix chạy vĩnh viễn, nhưng tôi chưa tìm thấy câu trả lời.

Cách chính xác để nhận Postfix bắt đầu từ lúc khởi động và chạy vĩnh viễn là gì?

Cập nhật Để chỉnh sửa tệp theo khuyến nghị của câu trả lời đã chọn, trước tiên tôi đã chuyển đổi nó thành XML.

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

Sau đó, chỉ cần chỉnh sửa nó với Vim:

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

Tôi gặp sự cố khi cố lấy Xcode để chỉnh sửa tệp.

Câu trả lời:


36

Những thay đổi sau đây có tác dụng với tôi:

  1. Loại bỏ hai yếu tố sau khỏi /System/Library/LaunchDaemons/org.postfix.master.plist:

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

    Điều này sẽ ngăn nó thoát sau 60 giây.

  2. Thêm phần tử sau dưới dạng con của <dict>...</dict>phần tử trong cùng một tệp plist:

    <key>KeepAlive</key>
    <true/>
    
  3. Tải lại tập tin:

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

postfix bây giờ sẽ được chạy như một daemon.

Các tác phẩm trên về Mountain Lion, Mavericks, Yosemite và El Capitan. Đối với các hệ thống có Bảo vệ toàn vẹn hệ thống (El Capitan trở lên), có hai tùy chọn:

  1. Sao chép /System/Library/LaunchDaemons/org.postfix.master.plistđến /Library/LaunchDaemons/org.postfix.custom.plist, thay đổi org.postfix.masterđể org.postfix.customrồi dỡ, bốc xếp như trên.
  2. Vô hiệu hóa SIP (sử dụng csrutil), thực hiện các chỉnh sửa và sau đó kích hoạt lại SIP.

Lưu ý: Với High Sierra và Mojave, tệp cấu hình com.apple.postfix.master.plistthay vì org.postfix.custom.plist.


1
Làm việc cho tôi trên Mavericks, nhưng tôi đã phải đặt đường dẫn file đầy đủ để tải nó: sudo /System/Library/LaunchDaemons/org.postfix.master.plist tải launchctl
giàu

1
Có một cd /System/Library/LaunchDaemonsdòng trong đó trước unloadloadcó thể đã bị bỏ lỡ. Tôi đã vạch ra đường dẫn đầy đủ để làm cho nó rõ ràng hơn.
Jim Stewart

2
@mjturner - Vô hiệu hóa ngụm? nope nope nope ... Tốt hơn nhiều là chỉ để tạo ra một plist mới mà bạn sở hữu trong / Library / LaunchDaemons /
Chris Withers

1
@mjturner - ừ, thật lạ. Tôi đã không nhận được bất kỳ thông báo nào, và nó hơi buồn. Muốn thực hiện chỉnh sửa tương tự?
Chris Withers

3
@mjturner Trên High Sierra, org.postfix.master.plistđược đổi tên thành com.apple.postfix.master.plist. Có lẽ bạn có thể muốn thêm nó vào câu trả lời.
Utku
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.