16 min de leitura · Guia técnico
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.
- Verifique os logs com
journalctl -u postfix --since todaypara identificar o erro exato. - Confirme a versão instalada com
rpm -q postfixe liste versões anteriores comdnf list --showduplicates postfix. - Faça downgrade com
dnf downgrade postfixou instale o RPM manualmente se o cache foi limpo. - Bloqueie a versão com
dnf versionlock add postfixpara evitar nova atualização automática. - Corrija parâmetros obsoletos no
main.cfe reinicie comsystemctl restart postfix. - Valide a configuração final com
postfix checke 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.cfantes 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_loglevelpode 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-libsfoi 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, !SSLv3em 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
ipv4para 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 postfixepostfix checkpara 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 postfixapós reverter para evitar que o próximodnf upgradequebre o serviço novamente. - Mantenha backups do main.cf: antes de qualquer upgrade de sistema, copie
/etc/postfix/main.cfe/var/spool/postfixpara um local seguro — isso reduz drasticamente o tempo de recuperação em caso de falha.
Leia também
- Solucionar falhas do Postfix não enviando emails no Debian 12
- Entenda o que é blacklist de IP: como verificar e remover seu servidor
- Passo a passo para configurar servidor de e-mail no VPS Linux
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