Já olhaste para o teu servidor Debian 11 e pensaste: "Está na hora de fazer upgrade, mas se aquilo falhar a meio, estou tramado"?

Eu sei como é. O meu servidor fuzzalab.pt já passou por esta jornada: começou em Bullseye, passou para Bookworm, e está agora em Trixie (Debian 13) com kernel 6.12.88. E posso dizer-te: o upgrade correu bem, mas só porque segui os passos certos e: mais importante: evitei os erros errados.

Vou mostrar-te como fazer o upgrade de Debian 11 (Bullseye) para Debian 12 (Bookworm) de forma segura. E se fores aventureiro, no final tens um bónus com o salto para Debian 13 (Trixie).

Nota: Este artigo foi escrito em Maio de 2026. O Debian 12 (Bookworm) é atualmente a oldstable, com suporte regular até Junho de 2026 e LTS até Junho de 2028. O Debian 13 (Trixie) é a stable atual.


O ciclo de vida do Debian

Antes de começar, convém perceber onde te encontras no ciclo de vida do Debian:

Ciclo de vida do Debian - timeline

⬆ Linha temporal das versões do Debian com datas de lançamento e estado de suporte

Versão Codename Lançamento Estado Suporte até
11 Bullseye 2021-08 LTS 2026-08
12 Bookworm 2023-06 Oldstable 2028-06 (LTS)
13 Trixie 2025-08 Stable atual 2030-06 (LTS)
14 Forky TBD Testing :

Se ainda estás em Bullseye (11), estás em LTS: ainda recebes atualizações de segurança, mas o suporte regular acabou. O momento ideal para fazer upgrade é agora.

Pré-requisitos

Sistema:

  • Estás em Debian 11 (Bullseye): confirma com cat /etc/debian_version
  • Tens acesso root ou sudo
  • O sistema está totalmente atualizado
  • Tens pelo menos 1 GB de espaço livre em disco (df -h)

Backup (não é opcional):

  • Backup completo de /etc/: sudo tar czf ~/etc-backup-$(date +%F).tar.gz /etc/
  • Lista de pacotes: dpkg --get-selections > ~/pacotes-$(date +%F).txt
  • Verifica que o backup é restaurável

Atenção: Usa screen ou tmux: nunca faças upgrade numa sessão SSH simples. Se a ligação cair a meio, o sistema pode ficar inconsistente. Corre screen -S debian-upgrade antes de começar.

Fluxograma do upgrade

Fluxograma do upgrade Debian

⬆ Visão geral do processo de upgrade: do Bullseye ao Bookworm

Passo 1: preparar o sistema

Começa por garantir que o Bullseye está no estado mais recente:

sudo apt update && sudo apt upgrade -y
sudo apt full-upgrade -y
Copy

Limpa o que não interessa:

sudo apt autoremove --purge -y
sudo apt clean
Copy

Verifica pacotes presos (held) e dependências quebradas:

apt-mark showhold
sudo dpkg --audit
sudo apt --fix-broken install
Copy

Importante: Se o --fix-broken reportar problemas, resolve-os antes de continuar. Nunca faças upgrade de versão com dependências quebradas.

Passo 2: atualizar as fontes de pacotes

Edita o /etc/apt/sources.list:

sudo nano /etc/apt/sources.list
Copy

Substitui todas as referências de bullseye para bookworm. Em Debian 12, a estrutura dos repositórios mudou: o non-free está dividido em non-free e non-free-firmware:

deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
Copy

Podes também usar sed para mudar tudo de uma vez:

sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/*.list 2/dev/null || true
Copy

Atenção: Se tens repositórios de terceiros (Docker, NodeSource, PostgreSQL, etc.), verifica se já suportam Bookworm antes de fazer upgrade. Comenta temporariamente os que não tiverem versão para Debian 12.

Passo 3: fazer o upgrade

Refresh dos repositórios e simulação:

sudo apt update
sudo apt full-upgrade --simulate
Copy

Se vires erros de dependências, não continues. Resolve os conflitos primeiro.

Upgrade mínimo (mais seguro, sem instalar novos pacotes):

sudo apt upgrade --without-new-pkgs -y
Copy

Upgrade completo:

sudo apt full-upgrade -y
Copy

Dica: Este passo pode demorar 30 a 60 minutos. O meu Intel Atom N2800 no fuzzalab demorou cerca de 45 minutos. Tem paciência.

Passo 4: limpeza e reboot

Depois do full-upgrade terminar:

sudo apt autoremove --purge -y
sudo apt clean
sudo systemctl reboot
Copy

Passo 5: verificar o upgrade

Verificar upgrade Debian - comandos de verificação

⬆ Comandos para verificar a versão do Debian, kernel e estado do sistema

Confirma a versão:

cat /etc/debian_version
lsb_release -a
Copy

Verifica serviços e dependências:

systemctl --failed
sudo needrestart
Copy

O needrestart verifica que serviços estão a usar bibliotecas desatualizadas (porque foram atualizadas durante o upgrade) e precisam de ser reiniciados. Isto é crítico: especialmente para serviços de rede como nginx, sshd, postfix, etc.

Troubleshooting: o que fazer se algo correr mal

Pacotes quebrados?

sudo apt --fix-broken install
sudo dpkg --configure -a
Copy

Repositório de terceiros sem suporte para Bookworm?

Comenta o repositório no /etc/apt/sources.list.d/ e corre o upgrade. Depois volta a adicionar quando o fornecedor lançar suporte.

A sessão SSH caiu durante o upgrade?

sudo dpkg --configure -a
sudo apt full-upgrade -y
Copy

/boot sem espaço?

sudo apt autoremove --purge
dpkg --list | grep linux-image
sudo apt remove --purge linux-image-5.10.0-xx-amd64
Copy

Bónus: upgrade para Debian 13 (trixie)

Se já estás em Debian 12 (Bookworm) e queres ir mais longe: o meu servidor fuzzalab.pt está em Debian 13 (Trixie) com kernel 6.12.88: o processo é exatamente o mesmo.

O que muda em Trixie:

  • Kernel 6.12 LTS (vs 6.1 no Bookworm)
  • Systemd 256: novas funcionalidades
  • Python 3.12 por defeito
  • OpenSSH 9.x: alterações em ciphers (pode afetar clientes SSH antigos)

Passos específicos para 12→13:

# 1. Backup
sudo tar czf /root/etc-trixie-$(date +%F).tar.gz /etc/
dpkg --get-selections > /root/pacotes-trixie-$(date +%F).txt

# 2. Mudar sources.list
sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list

# 3. Refresh + simular
sudo apt update
sudo apt full-upgrade --simulate

# 4. Upgrade
sudo apt upgrade --without-new-pkgs -y
sudo apt full-upgrade -y
Copy

Cuidado: O Trixie alterou o comportamento de alguns serviços systemd. Verifica especialmente systemd-resolved e openssh: ciphers descontinuados podem impedir conexões SSH de clientes antigos. Adiciona Ciphers +aes256-cbc ao /etc/ssh/sshd_config se precisares de compatibilidade.

Conclusão

Fazer upgrade do Debian não é complicado: mas é delicado. A diferença entre uma atualização suave e um sistema partido está nos detalhes: usar screen, simular antes, verificar needrestart depois, e garantir que os repositórios de terceiros estão compatíveis.

No meu servidor fuzzalab.pt, passei por Bullseye → Bookworm → Trixie sem grandes sobressaltos. Cada upgrade demorou os seus 30-60 minutos, mas correu sempre bem porque segui o princípio mais importante:

Prepara primeiro, atualiza depois.

Já fizeste algum upgrade do Debian? Tiveste problemas? Como resolveste? Deixa um comentário ou manda mensagem.

Recursos

Comentários (0)

Nenhum comentário ainda. Seja o primeiro!

Deixar comentário