Qual é a maneira correta de fazer o Postfix ser executado permanentemente no Lion (não no servidor)


35

Posso iniciar o Postfix temporariamente com:

$ sudo launchctl
launchd% start org.postfix.master

No entanto, o Console.app mostra que ele é executado apenas por um curto período de tempo:

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

Acho que o arquivo /System/Library/LaunchDaemons/org.postfix.master.plist precisa ser atualizado para que o Postfix seja executado permanentemente, mas ainda não encontrei a resposta.

Qual é a maneira correta de obter o Postfix iniciando no momento da inicialização e executando permanentemente?

Atualizar Para editar o arquivo conforme recomendado pela resposta selecionada, eu o convertei primeiro em XML.

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

Depois, edite-o com o Vim:

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

Tive problemas ao tentar obter o Xcode para editar o arquivo.

Respostas:


36

As seguintes alterações funcionaram para mim:

  1. Remova os dois seguintes elementos de /System/Library/LaunchDaemons/org.postfix.master.plist:

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

    Isso interromperá a saída após 60 segundos.

  2. Adicione o seguinte elemento como filho do <dict>...</dict>elemento no mesmo arquivo plist:

    <key>KeepAlive</key>
    <true/>
  3. Recarregue o arquivo:

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

O postfix agora deve estar sendo executado como um daemon.

O acima trabalha em Mountain Lion, Mavericks, Yosemite e El Capitan. Para sistemas com Proteção de Integridade do Sistema (El Capitan e posterior), existem duas opções:

  1. Copiando /System/Library/LaunchDaemons/org.postfix.master.plistpara /Library/LaunchDaemons/org.postfix.custom.plist, alterando org.postfix.masterpara org.postfix.custome, em seguida, descarregando e carregando como acima.
  2. Desativando o SIP (usando csrutil), fazendo as edições e reativando o SIP.

Nota: Com High Sierra e Mojave, o arquivo de configuração é em com.apple.postfix.master.plistvez de org.postfix.custom.plist.


1
Trabalhou para mim no Mavericks, mas tive que colocar o caminho completo do arquivo para carregá-lo: sudo launchctl load /System/Library/LaunchDaemons/org.postfix.master.plist
rich

1
Havia uma cd /System/Library/LaunchDaemonsfila lá antes do unloade loadque pode ter sido perdida. Eu descrevi o caminho completo para torná-lo mais claro.
Jim Stewart

2
@mjturner - desativar o gole? Nope Nope Nope ... Muito melhor é apenas para criar um novo .plist que você possui em / Library / LaunchDaemons /
Chris Withers

1
@mjturner - sim, isso é estranho. Não recebi nenhuma notificação e é um pouco triste. Gostaria de fazer a mesma edição?
21816 Chris Withers

3
@mjturner Em High Sierra, org.postfix.master.plisté renomeado para com.apple.postfix.master.plist. Talvez você queira adicionar isso à resposta.
Utku
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.