Módulo 4 · 4.3
Ciclo de vida e atualizações de versão
Módulo 4: Software e atualizações · Tempo de leitura: 11 minutos
Objetivo de aprendizagem: No final desta lição, saberá consultar o ciclo de vida da sua distribuição, saberá o que "end of life" significa para o seu servidor e conseguirá planear e executar uma atualização de versão em segurança.
Conceitos-chave: versão (release), LTS, suporte padrão, Debian LTS, Ubuntu ESM e Ubuntu Pro, fim de vida (end of life, EOL), /etc/os-release, do-release-upgrade, atualização mínima e completa, repositórios de terceiros, snapshot, curl | bash
Cada versão tem um prazo de validade
As atualizações automáticas (lição 4.2) só funcionam enquanto a sua distribuição continuar a produzir atualizações para a sua versão. Cada versão do Debian e do Ubuntu recebe atualizações de segurança durante um período fixo. Depois disso, acabam: o seu servidor deixa de receber correções, mesmo para vulnerabilidades graves. A isto chama-se end of life (EOL), ou fim de vida.
Para ver que versão tem, faça o seguinte:
anna@web1:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
...No Ubuntu aparece, por exemplo, VERSION="24.04.3 LTS (Noble Numbat)".
Debian
O Debian dá suporte completo a uma versão durante cerca de três anos. Depois, a equipa do Debian LTS assume durante mais dois anos, com atualizações de segurança para os pacotes mais utilizados. Para as versões atuais (situação em novembro de 2026, confirme em debian.org/releases):
| Versão | Lançamento | Fim do suporte normal | Fim do LTS |
|---|---|---|---|
| Debian 13 "trixie" | 9 de agosto de 2025 | agosto de 2028 | 30 de junho de 2030 |
| Debian 12 "bookworm" | 10 de junho de 2023 | 11 de julho de 2026 | 30 de junho de 2028 |
O Debian 12 continua, portanto, a receber atualizações através do LTS, mas já está na fase final. Um servidor novo deve ser instalado com o Debian 13.
Ubuntu
O Ubuntu lança de dois em dois anos, em abril, uma versão LTS (Long Term Support), com cinco anos de manutenção de segurança padrão. Com uma subscrição Ubuntu Pro (gratuita para uso pessoal em algumas máquinas), acrescenta-se o ESM (Expanded Security Maintenance), até dez anos no total.
| Versão | Suporte padrão até | Com ESM até |
|---|---|---|
| Ubuntu 26.04 LTS | maio de 2031 | maio de 2036 |
| Ubuntu 24.04 LTS | maio de 2029 | maio de 2034 |
Entre as versões LTS surgem versões intermédias (como a 25.10) com apenas nove meses de suporte. Não se destinam a um servidor que tem de funcionar durante anos. Para um servidor, escolha sempre uma LTS.
O que o EOL significa para si
Um servidor com uma versão que já não recebe atualizações continua a funcionar normalmente. É precisamente isso que o torna traiçoeiro: não nota nada, até alguém explorar uma vulnerabilidade que foi corrigida em todo o lado exceto no seu servidor. Além disso:
- o software novo (uma nova versão de PHP, uma nova versão do Docker) deixa de ser compilado para a sua versão;
- os repositórios de terceiros também deixam de dar suporte, muitas vezes mais cedo;
- quanto mais tempo esperar, maior é o salto. O Debian não suporta saltar uma versão: da 11 para a 13 tem de passar pela 12.
Por isso, registe a data de EOL do seu servidor na sua agenda, com um lembrete seis meses antes.
Duas abordagens: atualizar ou reconstruir
Existem dois caminhos corretos para uma nova versão.
- Atualização no local (in-place): atualiza o servidor existente para a nova versão. É rápido e tudo se mantém, mas os restos antigos e as suas próprias alterações vêm junto.
- Reconstruir: cria um servidor novo com a nova versão, volta a instalar os seus serviços (prático com as notas da lição 10.4 ou com o Docker Compose, módulo 9), transfere os dados a partir da sua cópia de segurança e muda o DNS (lição 7.1). Dá mais trabalho, mas fica limpo, e é ao mesmo tempo um teste à sua cópia de segurança.
Para um servidor pequeno com alguns serviços, uma atualização no local é perfeitamente adequada. Se houver muito trabalho à medida, ou se o servidor já tiver sido atualizado várias vezes, considere reconstruí-lo.
Preparar uma atualização no local
Antes de começar, garanta estas cinco coisas:
- Um snapshot no painel do seu fornecedor, mesmo antes de começar, e uma cópia de segurança recente fora do servidor (módulo 8). Um snapshot é o seu caminho rápido de volta se a atualização correr mal a meio.
- Uma segunda via de acesso: a consola do seu fornecedor. Trabalha via SSH e, se as definições de rede ou o servidor SSH mudarem durante a atualização, convém poder continuar através da consola. As notas de lançamento do Debian dizem-no literalmente: garanta previamente outra forma de iniciar sessão.
- Ler as notas de lançamento, sobretudo o capítulo "Issues to be aware of". Para o Debian 13, constam por exemplo:
/tmppassa a estar em memória por predefinição,/etc/sysctl.confdeixa de ser lido (utilize/etc/sysctl.d/) e/boottem de ser suficientemente grande. - Verificar os repositórios de terceiros. Os pacotes que não vêm do próprio Debian ou Ubuntu podem entrar em conflito durante a atualização. Veja que repositórios tem (
ls /etc/apt/sources.list.d/) e se o fabricante já tem uma versão para a nova versão da distribuição. - Uma sessão que sobreviva a uma ligação interrompida. Inicie a atualização no
tmuxou noscreen. Se a sua ligação à internet falhar, a atualização continua e pode retomá-la comtmux attach.
Debian: os passos
Das notas de lançamento do Debian 13, para uma atualização da 12 para a 13:
root@web1:~# apt update && apt full-upgrade # primeiro atualizar totalmente a versão atual
root@web1:~# sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/debian.sources
root@web1:~# apt update
root@web1:~# apt upgrade --without-new-pkgs # atualização mínima
root@web1:~# apt full-upgrade # atualização completa
root@web1:~# rebootSe ainda utiliza /etc/apt/sources.list, altere aí o nome de código. Os repositórios de terceiros são desativados temporariamente durante a atualização (mudando o nome para .disabled) e depois reativados com o nome de código da nova versão, se o fabricante a disponibilizar.
Durante a atualização, preste atenção às perguntas sobre ficheiros de configuração. Se alterou um ficheiro, como sshd_config, o dpkg pergunta se pretende manter a sua versão. Mantenha a sua versão se souber porque a alterou e compare-a depois com a nova versão (.dpkg-dist).
Após o reinício:
anna@web1:~$ cat /etc/os-release | grep VERSION=
VERSION="13 (trixie)"
anna@web1:~$ systemctl --failed
anna@web1:~$ sudo apt autoremovesystemctl --failed (lição 6.1) deve estar vazio. Verifique também se os seus sites e contentores funcionam e se a sua monitorização (lição 8.3) está a verde.
Ubuntu: do-release-upgrade
O Ubuntu tem um programa próprio para isso:
anna@web1:~$ sudo apt update && sudo apt full-upgrade
anna@web1:~$ sudo do-release-upgradeHá duas coisas a saber. Em primeiro lugar, o Ubuntu só propõe a atualização de uma LTS para a seguinte após a primeira versão pontual (por exemplo, a 26.04.1, alguns meses depois de abril). É intencional: nos primeiros meses são resolvidos os maiores problemas. Em segundo lugar, se executar a atualização via SSH, o do-release-upgrade avisa que, por precaução, inicia um servidor SSH adicional numa porta de reserva. Essa porta tem de ser permitida pela sua firewall (lição 5.2) se precisar dela; normalmente não precisa, porque tem a consola.
A grande armadilha: software de fora da distribuição
As atualizações correm mal quase sempre por causa de software que não vem da distribuição. Três hábitos fazem a diferença:
- Nada de
curl https://... | bash. Um script da internet que executa diretamente como root pode alterar tudo no seu servidor: acrescentar repositórios, confiar em chaves para todos os repositórios, substituir ficheiros. Não sabe o que aconteceu e, na atualização seguinte, algo deixa de funcionar. Descarregue esse script, leia-o e, de preferência, execute os passos manualmente. - Um repositório adicional apenas do próprio fabricante, com uma chave própria (
Signed-By, lição 4.1), e registe na documentação do seu servidor porque está lá. - Nada de ficheiros
.debsoltos descarregados de sites se o mesmo estiver disponível na distribuição ou no repositório do fabricante. Esses ficheiros nunca recebem atualizações.
No AlmaLinux e no Rocky Linux
Aí, uma versão "major" (9, 10) recebe cerca de dez anos de atualizações, e as versões intermédias (9.6, 9.7) são atualizadas normalmente com dnf upgrade. Um salto no local para uma nova versão major é possível com a ferramenta ELevate (AlmaLinux), mas muitos administradores preferem, ainda assim, reconstruir o servidor ao passar para uma nova versão major.
Na prática
No ecrã do VPS da WebOké, cria um snapshot antes de uma atualização (no máximo dois em simultâneo, no mesmo armazenamento que o seu VPS) e tem a consola como segunda via de acesso. Noutros fornecedores, os nomes são semelhantes: snapshot, consola VNC ou web, rescue. Um snapshot não substitui uma cópia de segurança fora do servidor; elimine-o quando tudo estiver a funcionar, porque cresce com cada alteração.
Resumo
- Cada versão recebe atualizações de segurança durante um período fixo; depois disso atinge o fim de vida e o seu servidor deixa de receber correções.
- Debian: cerca de três anos mais dois anos de LTS; Ubuntu LTS: cinco anos mais ESM até dez anos. Para um servidor, escolha sempre uma LTS e registe a data de fim na sua agenda.
- Prepare uma atualização com um snapshot, uma cópia de segurança, a consola, as notas de lançamento e uma sessão tmux.
- Debian: repositórios para o novo nome de código,
apt upgrade --without-new-pkgs,apt full-upgrade; Ubuntu:do-release-upgrade, após a primeira versão pontual. - O software de fora da distribuição é a maior fonte de problemas nas atualizações: nada de
curl | bash, apenas repositórios do fabricante com uma chave própria.
Questionário
Exercício
Exercício O4.3: O seu plano de atualização de versão. Descubra que versão o seu servidor executa e até quando recebe atualizações de segurança. Em seguida, elabore um plano de atualização: que repositórios de terceiros tem, como cria um snapshot e uma cópia de segurança, como acede através da consola, que passos executa, como testa depois e se opta por uma atualização no local ou por reconstruir (com justificação)?
Exercício O4.3: O seu plano de atualização de versão
Este exercício faz você mesmo; ninguém o verifica. Assinale o que já fez e marque o exercício como concluído.
Snapshot e cópia de segurança, ler as notas de lançamento, trabalhar em tmux; Debian: fontes para o novo nome de código, apt upgrade --without-new-pkgs, apt full-upgrade, reiniciar; Ubuntu: do-release-upgrade. Depois, verificar systemctl --failed, sites, contentores e monitorização. Reconstruir compensa quando há muita personalização e é logo um teste à sua cópia de segurança.
As suas marcações e notas ficam apenas neste navegador; não as enviamos para lado nenhum. Se tiver sessão iniciada, guardamos em Os meus cursos apenas que concluiu o exercício.
Para saber mais
- Snapshots e cópias de segurança do seu VPS
- Associar uma ISO própria ou reinstalar o seu VPS
- Versões do Debian e períodos de suporte: https://www.debian.org/releases/
- Debian 13, notas de lançamento, capítulo 4 (atualização) e 5 (pontos de atenção): https://www.debian.org/releases/trixie/release-notes/
- Ubuntu, ciclo de lançamentos: https://ubuntu.com/about/release-cycle
- Documentação do Ubuntu Server, Upgrade your release: https://ubuntu.com/server/docs/how-to/software/upgrade-your-release/
