Entenda o Postfix travando após upgrade no AlmaLinux 9

Por Equipe Técnica AviraHost · 16 min de leitura · Atualizado em · Postfix, AlmaLinux 9, email, MTA, AviraHost · 0

Postfix travando após upgrade no AlmaLinux 9 geralmente é causado por parâmetros incompatíveis no main.cf, permissões alteradas em /var/spool/postfix ou conflito com bibliotecas como OpenSSL e cyrus-sasl. Para corrigir, identifique o erro nos logs, confirme a versão instalada, reverta o pacote se necessário e valide a configuração antes de reiniciar o serviço.

  1. Verifique os logs com journalctl -u postfix --since today para identificar o erro exato.
  2. Confirme a versão instalada com rpm -q postfix e liste versões anteriores com dnf list --showduplicates postfix.
  3. Faça downgrade com dnf downgrade postfix ou instale o RPM manualmente se o cache foi limpo.
  4. Bloqueie a versão com dnf versionlock add postfix para evitar nova atualização automática.
  5. Corrija parâmetros obsoletos no main.cf e reinicie com systemctl restart postfix.
  6. Valide a configuração final com postfix check e envie um e-mail de teste.

Pré-requisitos para diagnosticar o Postfix no AlmaLinux 9

  • Acesso root ou sudo ao servidor AlmaLinux 9.
  • Postfix instalado via DNF (pacote oficial do repositório AppStream ou EPEL).
  • Familiaridade básica com edição de arquivos de configuração no terminal (vi, nano).
  • Acesso ao histórico de transações do DNF (dnf history) para identificar o upgrade problemático.
  • Permissão para reiniciar serviços via systemctl.
  • Backup do arquivo /etc/postfix/main.cf antes de qualquer alteração — recomendado fortemente.

Entendendo por que o Postfix trava após upgrade no AlmaLinux 9

O Postfix é um MTA (Mail Transfer Agent) amplamente usado em servidores Linux para envio e recebimento de e-mails. No AlmaLinux 9, o gerenciador de pacotes DNF pode atualizar o Postfix junto com dependências críticas como openssl-libs, cyrus-sasl-lib e libdb em uma única transação. Quando isso acontece, o daemon pode falhar ao iniciar por três razões principais:

  • Parâmetros obsoletos no main.cf: versões mais recentes do Postfix removem ou renomeiam diretivas. Um parâmetro como smtpd_tls_loglevel pode ter comportamento alterado ou gerar aviso fatal dependendo da versão.
  • Permissões alteradas em /var/spool/postfix: o script de pós-instalação do RPM pode redefinir permissões de subdiretórios, quebrando a fila de mensagens.
  • Incompatibilidade de biblioteca compartilhada: se o openssl-libs foi atualizado para uma versão cujo ABI mudou, o binário do Postfix pode falhar ao carregar a biblioteca em tempo de execução.

Compreender qual dessas causas está ativa é o primeiro passo antes de qualquer ação corretiva. Pular direto para o downgrade sem diagnóstico pode mascarar um problema de configuração que reaparecerá na próxima atualização.

Como diagnosticar o erro do Postfix usando logs e journalctl

O diagnóstico correto de falhas no serviço de e-mail começa pela leitura dos logs do sistema. No AlmaLinux 9, o journald é a fonte primária de logs de serviços gerenciados pelo systemd.

Execute o comando abaixo para ver os eventos do Postfix desde o início do dia:

journalctl -u postfix --since today

Para acompanhar erros em tempo real enquanto tenta reiniciar o serviço:

journalctl -fu postfix

Em outro terminal, tente iniciar o Postfix:

systemctl start postfix

Output esperado em caso de falha típica por parâmetro inválido:

postfix/postfix-script: fatal: the Postfix mail system is not installed
postfix/master[12345]: fatal: bind port 25: Address already in use
-- ou --
postfix: error: parameter "smtpd_tls_protocols": unknown parameter value "!SSLv2"

O log tradicional também está disponível em /var/log/maillog:

tail -f /var/log/maillog

Preste atenção especial a linhas com fatal:, warning: unknown parameter e error: open database. Cada uma aponta para uma causa diferente e exige uma solução específica.

Para verificar se há erro de biblioteca compartilhada, execute:

ldd $(which postfix) | grep "not found"

Se alguma biblioteca aparecer como not found, o problema é de dependência de runtime — não de configuração.

Como verificar a versão do Postfix e identificar o upgrade problemático

Antes de reverter qualquer pacote, confirme exatamente qual versão está instalada e qual estava funcionando antes. O histórico de transações do DNF é a ferramenta mais confiável para isso no AlmaLinux 9.

rpm -q postfix

Output esperado:

postfix-3.5.9-21.el9.x86_64

Para listar todas as versões disponíveis no repositório:

dnf list --showduplicates postfix

Para ver o histórico de transações e identificar quando o upgrade ocorreu:

dnf history list postfix

Output esperado:

ID     | Command line          | Date and time    | Action(s) | Altered
-------+-----------------------+------------------+-----------+--------
    42 | upgrade postfix       | 2026-02-15 03:12 | Upgrade   |       1
    38 | install postfix       | 2026-01-09 10:05 | Install   |       1

Para ver os detalhes da transação específica, incluindo quais pacotes foram alterados:

dnf history info 42

Isso mostrará a versão anterior e a versão atual, permitindo confirmar se o downgrade é a ação correta.

Como reverter o Postfix para a versão anterior no AlmaLinux 9

Com o diagnóstico concluído, o downgrade do Postfix é o caminho mais rápido para restaurar o serviço de e-mail. Existem dois cenários: cache do DNF disponível ou cache limpo.

Atenção: o downgrade de pacotes de e-mail pode afetar mensagens em fila. Faça backup da fila antes de prosseguir:

cp -a /var/spool/postfix /var/spool/postfix.bak.$(date +%Y%m%d)

Cenário 1: cache do DNF disponível

Se o upgrade foi recente e o cache não foi limpo, o DNF pode fazer o downgrade diretamente:

dnf downgrade postfix

Output esperado:

Downgrading:
 postfix    x86_64    3.5.9-19.el9    @System    1.4 M
Installing:
 postfix    x86_64    3.5.9-19.el9    baseos     1.4 M
Transaction Summary
Downgrade  1 Package
Is this ok [y/N]: y

Cenário 2: cache limpo ou versão não disponível localmente

Se o cache foi limpo com dnf clean all, é necessário baixar o RPM manualmente. Localize a versão anterior no repositório vault do AlmaLinux:

dnf download --downloadonly postfix-3.5.9-19.el9.x86_64

Se não estiver disponível via DNF, baixe diretamente do vault e instale com:

rpm -Uvh --oldpackage postfix-3.5.9-19.el9.x86_64.rpm

Bloqueando a versão para evitar novo upgrade automático

Após o downgrade bem-sucedido, bloqueie a versão para que o DNF não atualize o Postfix automaticamente:

dnf install 'dnf-command(versionlock)'
dnf versionlock add postfix

Confirme o bloqueio:

dnf versionlock list

Output esperado:

postfix-0:3.5.9-19.el9.*

Como corrigir parâmetros obsoletos no main.cf após upgrade do Postfix

Se o downgrade não for desejável ou se você preferir manter a versão nova, a correção dos parâmetros de configuração é a alternativa correta. O Postfix fornece ferramentas nativas para validar e identificar problemas no main.cf.

Execute a verificação de configuração:

postfix check

Para listar todos os parâmetros ativos e seus valores:

postconf -n

Para comparar com os valores padrão da versão instalada:

postconf -d | grep tls

Parâmetros comumente problemáticos após upgrade no AlmaLinux 9:

  • smtpd_tls_protocols: o formato de exclusão mudou em versões mais recentes. Use !SSLv2, !SSLv3 em vez de !SSLv2:!SSLv3.
  • smtpd_tls_mandatory_protocols: mesma questão de sintaxe de separador.
  • inet_protocols: se o servidor não tem IPv6 configurado, defina como ipv4 para evitar warnings.
  • compatibility_level: adicione compatibility_level = 3.6 (ou a versão instalada) para suprimir avisos de compatibilidade retroativa.

Edite o arquivo de configuração:

cp /etc/postfix/main.cf /etc/postfix/main.cf.bak
nano /etc/postfix/main.cf

Após as correções, valide novamente e reinicie:

postfix check && systemctl restart postfix

Verifique o status do serviço:

systemctl status postfix

Output esperado:

● postfix.service - Postfix Mail Transport Agent
     Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled)
     Active: active (running) since Fri 2026-02-15 10:30:00 UTC; 5s ago

Para servidores que também hospedam painéis como o VirtualMin, consulte o guia Instalando painel de gerenciamento de hospedagem VirtualMin para verificar se o painel sobrescreve configurações do Postfix após atualizações.

Como resolver conflito do Postfix com OpenSSL após atualização

O conflito entre o Postfix e o OpenSSL é uma das causas mais frequentes de falha após upgrades no AlmaLinux 9. Quando o openssl-libs é atualizado para uma versão com ABI incompatível, o Postfix pode falhar ao carregar a biblioteca TLS em tempo de execução.

Verifique os parâmetros TLS ativos:

postconf -d | grep tls

Verifique se há bibliotecas ausentes ou incompatíveis:

ldd /usr/sbin/postfix

Se o problema for de cache de bibliotecas dinâmicas desatualizado, atualize o cache:

ldconfig

Se o erro persistir e for claramente relacionado ao OpenSSL, faça o downgrade da biblioteca:

Atenção: o downgrade do openssl-libs pode afetar outros serviços que dependem do OpenSSL, como o Apache, Nginx e o SSH. Avalie o impacto antes de prosseguir.

dnf downgrade openssl-libs

Após o downgrade, reinicie o Postfix:

systemctl restart postfix

Para confirmar que o Postfix está usando a versão correta do OpenSSL:

postconf -d smtpd_tls_protocols
postconf -d smtp_tls_protocols

Se você gerencia múltiplos serviços de e-mail no mesmo servidor, veja também as Dicas de Otimização de Servidores Linux para manter dependências de sistema sob controle.

Problemas comuns e como resolver

Sintoma: Postfix inicia mas não aceita conexões na porta 25

Causa: outro processo está ocupando a porta 25, ou o parâmetro inet_interfaces foi alterado para loopback-only durante o upgrade.
Solução: verifique qual processo está na porta com ss -tlnp | grep :25. Se for o próprio Postfix em estado zumbi, execute pkill -f postfix e reinicie. Se o parâmetro foi alterado, edite o main.cf e defina inet_interfaces = all ou o endereço IP correto, depois reinicie o serviço.

Sintoma: erro "fatal: open database /etc/aliases.db: No such file or directory"

Causa: o banco de dados de aliases não foi regenerado após o upgrade. O arquivo /etc/aliases.db pode ter sido removido ou corrompido durante a atualização do pacote.
Solução: regenere o banco de dados de aliases com o comando newaliases e reinicie o Postfix. Verifique também se o arquivo /etc/aliases existe e contém pelo menos a entrada root: root.

Sintoma: autenticação SASL falha após upgrade (erro 535 Authentication credentials invalid)

Causa: o pacote cyrus-sasl-plain ou cyrus-sasl-md5 pode não ter sido atualizado junto com o Postfix, gerando incompatibilidade de versão entre o daemon SASL e o Postfix.
Solução: instale ou atualize os pacotes SASL necessários com dnf install cyrus-sasl cyrus-sasl-plain cyrus-sasl-md5. Reinicie o daemon SASL com systemctl restart saslauthd e depois reinicie o Postfix. Verifique os logs do SASL em /var/log/maillog para confirmar a autenticação.

Sintoma: fila de e-mails parada após downgrade (mensagens presas em deferred)

Causa: mensagens na fila podem ter sido marcadas como deferred durante o período em que o Postfix estava inativo ou com erro. O downgrade não limpa automaticamente o status da fila.
Solução: force o reprocessamento da fila com postqueue -f. Para ver o estado atual da fila, use postqueue -p. Se houver mensagens corrompidas, remova-as com postsuper -d ALL deferred — mas apenas após confirmar que não há mensagens legítimas na fila.

Perguntas frequentes sobre Postfix travando após upgrade no AlmaLinux 9

Por que o Postfix para de funcionar após uma atualização no AlmaLinux 9?

Atualizações do Postfix ou de bibliotecas dependentes como OpenSSL e cyrus-sasl podem introduzir mudanças de configuração incompatíveis com o arquivo main.cf existente. O daemon postfix pode falhar ao iniciar se parâmetros obsoletos ou renomeados estiverem presentes, ou se permissões de diretórios como /var/spool/postfix forem alteradas pelo pacote atualizado. Por isso, é recomendável sempre fazer backup do main.cf antes de qualquer upgrade e revisar o changelog da nova versão.

Como verificar qual versão do Postfix está instalada no AlmaLinux 9?

Execute o comando rpm -q postfix para ver a versão instalada. Para listar versões disponíveis no repositório e identificar a versão anterior, use dnf list --showduplicates postfix. Isso permite comparar a versão atual com a que estava funcionando antes do upgrade e planejar o downgrade com precisão.

É possível reverter o Postfix para a versão anterior sem reinstalar o sistema?

Sim. No AlmaLinux 9, use o comando dnf downgrade postfix para retornar à versão imediatamente anterior disponível no cache do DNF. Se o cache foi limpo, é necessário baixar o RPM da versão anterior manualmente via repositório vault ou backup local e instalar com rpm -Uvh --oldpackage. Após o downgrade, bloqueie a versão com dnf versionlock add postfix para evitar nova atualização automática.

Como diagnosticar erros do Postfix usando journalctl no AlmaLinux 9?

Execute journalctl -u postfix --since today para ver os logs do daemon desde o início do dia. Para erros em tempo real, use journalctl -fu postfix. O log também pode ser consultado em /var/log/maillog com tail -f /var/log/maillog, que exibe mensagens de entrega, rejeições e falhas de autenticação SASL. Combine as duas fontes para um diagnóstico completo.

O que fazer se o Postfix travar por conflito com o OpenSSL após atualização?

Verifique se a versão do OpenSSL instalada é compatível com o Postfix em uso executando postconf -d | grep tls. Se houver erro de biblioteca compartilhada, execute ldconfig para atualizar o cache de bibliotecas dinâmicas. Em casos de incompatibilidade grave, faça downgrade do pacote openssl-libs para a versão anterior com dnf downgrade openssl-libs e reinicie o Postfix com systemctl restart postfix.

Conclusão

  • Diagnostique antes de agir: use journalctl -u postfix e postfix check para identificar a causa exata — parâmetro inválido, permissão ou biblioteca — antes de fazer downgrade.
  • Bloqueie versões após downgrade: sempre use dnf versionlock add postfix após reverter para evitar que o próximo dnf upgrade quebre o serviço novamente.
  • Mantenha backups do main.cf: antes de qualquer upgrade de sistema, copie /etc/postfix/main.cf e /var/spool/postfix para um local seguro — isso reduz drasticamente o tempo de recuperação em caso de falha.

Leia também

Precisa de ajuda com Postfix e e-mail no seu servidor?

Configurar e manter um servidor de e-mail com Postfix exige atenção a cada atualização do sistema. Um VPS Linux com suporte técnico especializado pode fazer a diferença entre horas de downgrade manual e uma recuperação rápida e assistida.

Conheça os planos de VPS da AviraHost e mantenha seu servidor de e-mail sempre operacional


Esta resposta foi útil?