Linux

Upgrade para Debian 12

O Debian 12 (Bookworm) foi lançado a 10 de junho de 2023, trazendo melhorias significativas, pacotes atualizados e melhor suporte para hardware moderno. Se ainda estás no Debian 11 (Bullseye), que já saiu do suporte, este guia ajuda-te a fazer o upgrade de forma segura.

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á fez este caminho: começou em Bullseye, passou para Bookworm, e está agora em Trixie (Debian 13) com kernel 6.12. E posso dizer-te: o upgrade correu bem, mas só porque segui os passos certos e — mais importante — evitei os erros comuns.

Vamos fazer o upgrade de Debian 11 (Bullseye) para Debian 12 (Bookworm) de forma segura. E, se fores aventureiro, no final há um bónus com o salto para Debian 13 (Trixie).

Nota: Este artigo foi escrito em maio de 2026 e revisto em outubro de 2026. O Debian 12 (Bookworm) é a oldstable: o suporte regular terminou em junho de 2026 e o LTS vai até junho de 2028. O Debian 13 (Trixie) é a stable atual. O Debian 11 (Bullseye) já saiu do LTS, a 31 de agosto de 2026.


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 Fim de vida 2026-08 (terminou)
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), o LTS terminou a 31 de agosto de 2026 e já não recebes atualizações de segurança (só com o suporte alargado, o ELTS, que é um serviço à parte). 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 por 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

Atualiza a lista de pacotes e simula o upgrade:

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.


Resolução de Problemas — 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 257 — novas funcionalidades
  • Python 3.13 por defeito
  • OpenSSH 10.0 — alterações nos algoritmos de cifra (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 — algoritmos de cifra descontinuados podem impedir ligações SSH de clientes antigos. Adiciona Ciphers +aes256-cbc ao /etc/ssh/sshd_config se precisares de compatibilidade.


Conclusão

Fazer upgrade do Debian é simples, mas exige cuidado. 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

Partilhar

Comentários 0

Ainda sem comentários — sê o primeiro.