PROLEGÔMENOS
Leia todo o artigo antes de sair executando comandos!
A atualização "online", ou seja, diretamente pelo sistema de uma versão atual para outra versão imediatamente superior do Debian está muito boa desde o Debian 10 (Bullseye).
A vantagem é que você mantém o sistema sem precisar reinstalar do zero.
Não é recomendado atualizar pulando versões, por exemplo, do Debian 10 direto para o Debian 12, deve ir-se de uma versão para outra até chegar na mais atual.
Antes de realizar qualquer atualização é altamente recomendável fazer um backup dos dados para evitar perda em caso de problemas.
Escolha um horário no qual a internet esteja com pouco uso, de preferência quanto mais de noite ou de madrugada, melhor.
Caso fizer de madrugada, antes verifique se a operadora fará alguma manutenção na internet.
Ao utilizar esse tipo de atualização é necessário sempre observar o terminal durante a execução do comando "full-upgrade", esse comando é bastante seguro, porém, como é pela internet pode acontecer uma falha na rede e faltar algum pacote, corromper outro, etc, apesar de que o APT gerencia muito bem e retoma o download em caso de falha na rede.
Venho utilizando esse modo de atualização desde o Debian 9 (Stretch) e somente nessa época que tive alguns problemas, sendo que foram sanados manualmente depois, nada que exigisse muito esforço.
Atualmente essa atualização online do Debian está bastante segura.
Ela é desaconselhada para quem tem uma internet instável e/ou um hardware obsoleto (mais de 10 anos e sem upgrades).
A atualização online do Debian 12 (Bookworm) para o 13 (Trixie) teve algumas mudanças em relação ao procedimento, mudanças estas que veremos depois.
O Debian seguia há anos a mesma configuração de repositórios básicos bastando mudar o nome do sistema, por exemplo, do Debian 11 para o 12:
deb http://deb.debian.org/debian bullseye main contrib non-free non-free-firmware
fica
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
Você pode encontrar os repositórios atuais e maiores explicações no link abaixo:
No Debian Trixie (13) o arquivo de repositórios mudou para /etc/apt/sources.list.d/debian.sources, como veremos adiante.
Antes da atualização propriamente dita veremos algumas explicações.
Lembrando que o Debian tira dos filmes Toy Story os nomes que acompanham os números das versões.
O APT (Advanced Package Tool), além de ser uma biblioteca, é um projeto amplo cujos planos originais incluem uma interface gráfica e outras funcionalidades. Ele é baseado numa biblioteca que contém as aplicações principais e o 'apt-get' é a primeira interface — em linha de comando — que foi desenvolvida dentro do projeto.
O 'apt' é uma interface de linha de comandos de alto nível para o sistema de gestão de pacotes e também é uma interface para a biblioteca APT.
O 'aptitude' é uma interface de linha de comando para o sistema de pacotes Debian GNU/Linux da biblioteca APT. Ele permite ao usuário visualizar a lista de pacotes e executar tarefas de gerenciamento de pacotes, como instalação, atualização e remoção de pacotes.
O 'apt-get' é a ferramenta de linha de comando (terminal) para lidar com pacotes e pode ser considerado o "back-end" dos usuários para outras ferramentas que usam a biblioteca APT.
O 'dpkg' é uma ferramenta de nível médio para instalar, compilar, remover e gerir pacotes .deb. O próprio dpkg é controlado inteiramente via parâmetros de linha de comandos o que consiste exatamente de uma ação com zero ou mais opções. A ação diz ao dpkg o que fazer e as opções, quando tiver, controlam o comportamento da ação. O 'dpkg' pode também ser usado como "front-end" para dpkg-deb e dpkg-query.
No diretório /etc/apt/sources.list.d é onde ficam os arquivos dos repositórios externos para atualizações de pacotes/programas como PostgreSQL, Google-chrome, Opera, Skype, etc. Quando for necessário criar um arquivo '.list' para um programa que você está instalando, sempre crie-o dentro de /etc/apt/sources.list.d.
No arquivo /etc/apt/sources.list é onde ficam os links para os repositórios do Debian.
Utilize sempre repositórios oficiais recomendados pelo site oficial do Debian.
Comandos Utilizados
update e upgrade
Em qualquer dos casos (apt-get, apt ou aptitude), a ação update somente sincroniza os arquivos de índices de pacotes (atualiza a lista de pacote disponíveis e baixa somente alguns arquivos de informações) e sempre deve ser usada antes de qualquer comando com apt-get, apt ou aptitude. A ação upgrade é a que realmente atualiza os pacotes. Sempre devem ser executadas juntas e em sequência: primeiro update, depois upgrade.
Obs.: Antes de qualquer ação (upgrade, install, remove, etc) é recomendado executar update.
full-upgrade
Executa a função de upgrade, mas removerá pacotes atualmente instalados (caso for necessário) e atualizará o sistema como um todo observando pacotes e suas dependências. O full-upgrade executa o dist-upgrade, no entanto, é um comando mais moderno com alguma segurança a mais, é um pouco mais do que um simples alias para dist-upgrade. No man apt não consta mais dist-upgrade, no man apt-get tem dist-upgrade, todavia, o apt-get aceita "apt-get full-upgrade".
autoremove
Usado para remover pacotes que foram instalados automaticamente para satisfazer dependências de outros pacotes e que já não são necessários.
autoclean
Limpa o cache do repositório de arquivos para que não cresça demais. Remove apenas os pacotes que não podem mais ser baixados (por terem sumido dos espelhos Debian).
purge ~c
Os pacotes são removidos e purgados (quaisquer arquivos de configuração são também apagados). O comando purge não remove arquivos de configuração e dados armazenados nos diretórios "home" dos usuários, somente de todos os outros diretórios onde o pacote esteja instalado. É um alias para "purge ?config-files".
dpkg --configure -a
Configura um pacote que foi desempacotado, mas ainda não configurado. Se for fornecido -a ou --pending em vez de 'pacote', todos os pacotes desempacotados, mas não configurados, serão configurados.
ATUALIZANDO VERSÕES ANTERIORES
A atualização sugerida nesta seção é até o Debian 12, por exemplo, do Debian 9 para o 10, do 10 para o 11 e do 11 para o 12.
Lembrando que jamais se deve pular versões, por exemplo, do 10 direto para o 12.
Para atualizar do Debian 12 para o 13 veja a seção ATUALIZANDO DO DEBIAN 12 PARA O 13.
1- Atualize o sistema atual
$ sudo apt update
$ sudo apt clean
$ sudo apt upgrade
2- Abra o terminal
Faça backup do arquivo:
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
Abra o arquivo:
$ sudo vim /etc/apt/sources.list <<< usei o vim, use teu editor preferido
Na atualização online sempre deixe somente os repositórios básicos, depois, caso quiser, incremente o arquivo sources.list (veja a sugestão na CONCLUSÃO).
Apague todo o conteúdo e coloque dentro:
deb http://deb.debian.org/debian/ bookworm main non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main non-free-firmware
deb http://deb.debian.org/debian/ bookworm-updates main non-free-firmware
Salve e saia.
Nos Debians 10, 11 e 12 pode-se utilizar já o novo formato e caminho do arquivo de repositórios, mas aqui utilizaremos o antigo por questão de padronização.
Caso queira pode alterar depois para o novo formato e caminho.
3- Execute:
$ sudo apt update
$ sudo apt autoclean
$ sudo apt full-upgrade
Aguarde, deverá terminar sem erros (pode demorar um pouco).
4- Atualize o Debian 12, remova pacotes desnecessários, limpe o sistema e atualize o GRUB:
$ sudo apt update
$ sudo apt upgrade
$ sudo apt autoremove
$ sudo apt purge ~c
$ sudo apt autoclean
$ sudo update-grub
5- Reinicie:
$ sudo shutdown -r now
Reiniciará sem erros.
Verifique:
$ cat /etc/os-release
PRETTY_NAME="Debian
GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
E terminamos a atualização online do Debian 11 para o 12.
Recomendações
Eu pessoalmente sempre executo no Debian, aproximadamente uma vez por semana no mínimo:
$ sudo apt update
$ sudo aptitude safe-upgrade
Antes você terá de instalar o aptitude:
$ sudo apt update
$ sudo apt install aptitude
E o comando "sudo apt upgrade" substitua por:
$ sudo aptitude safe-upgrade
Os manuais recomendam apt-upgrade, pois dizem ele faz a mesma coisa que o "aptitude safe-upgrade" (faz uma atualização segura), mas por uma questão de tradição e por não estar convencido de que executam as mesmas ações (a documentação não é clara) eu continuo usando o aptitude para esta ação de atualização segura do sistema como um todo.
Uma sequência sugerida para manutenção regular do sistema (talvez a cada dois meses, depende do uso e caso aconteça alguma quebra de pacotes) é a seguinte (com sudo ou como root):
$ sudo apt -f install
$ sudo apt -f remove
$ sudo apt autoremove
$ sudo apt purge ~c
$ sudo apt autoclean
$ sudo dpkg --configure -a
$ sudo apt update
$ sudo aptitude safe-upgrade
ATUALIZANDO DO DEBIAN 12 PARA O 13
O Debian 13 teve várias modificações estruturais, mas a que nos interessa no momento é a mudança do sources.list que agora se chama debian.sources e mudou de formato e caminho.
Na seção CONCLUSÃO tem maiores explicações.
Antes de atualizar o seu sistema é fortemente recomendado que faça uma cópia de segurança total (backup), ou que pelo menos salvaguarde quaisquer dados ou informações de configuração que não se possa dar ao luxo de perder. As ferramentas de atualização e o processo são bastante confiáveis, mas uma falha de hardware/internet durante a atualização pode resultar num sistema fortemente danificado.
Aconselho a fazer pela rede cabeada, utilize wi-fi somente em último caso.
1- Atualize o sistema atual Bookworm para o último lançamento também Bookworm:
$ sudo apt update
$ sudo apt clean
$ sudo apt full-upgrade
2- Verifique se é a versão 12.11:
$ cat /etc/debian_version
3- Procurando e removendo pacotes obsoletos e dependências não mais necessárias:
$ sudo apt list '~o'
$ sudo apt purge '~o'
$ sudo apt list '~c'
$ sudo apt purge '~c'
$ sudo apt autoremove
4- Procurando e removendo arquivos obsoletos de configuração:
$ sudo find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
Exemplo, mas a saída para você pode ser diferente:
/etc/default/grub.ucf-dist
/etc/default/grub.ucf-old
/etc/ca-certificates.conf.dpkg-old
/etc/samba/smb.conf.ucf-dist
/etc/conky/conky.conf.dpkg-dist
$ sudo rm -rf /etc/default/grub.ucf-dist
e assim por diante com os arquivos listados anteriormente.
5- Abra o terminal
Renomeie o arquivo sources.list:
$ sudo mv /etc/apt/sources.list /etc/apt/sources.list.old
Verifique se dentro do diretório não ficou um arquivo de backup criado automaticamente pelo sistema, um arquivo seguido do sinal de til(~):
$ cd /etc/apt
$ ls
Caso tiver um arquivo "sources.list~" (com til no final), apague-o:
$ sudo rm -rf sources.list~
$ cd
Crie o arquivo:
$ sudo vim /etc/apt/sources.list.d/debian.sources <<< usei o vim, use teu editor preferido.
Na atualização online sempre deixe somente os repositórios básicos, depois, caso quiser, incremente o arquivo debian.sources (veja a sugestão na CONCLUSÃO).
Caso você não tenha no sources.list do Bookworm os non-free-firmware, retire-os do debian.sources, deixe somente "Components: main".
Coloque dentro:
# Arquivo de repositórios para o Debian Trixie (13)
Types: deb
URIs: http://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main non-free-firmware
Enabled: yes
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb
URIs: https://security.debian.org/debian-security
Suites: trixie-security
Components: main non-free-firmware
Enabled: yes
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Salve e saia.
O primeiro bloco corresponde às duas linhas antigas, por exemplo, do Bookworm:
deb https://deb.debian.org/debian bookworm main non-free-firmware
deb https://deb.debian.org/debian bookworm-updates main non-free-firmware
O segundo bloco corresponde a linha do security:
deb https://security.debian.org/debian-security bookworm-security main non-free-firmware
Caso você não tenha no sources.list do Bookworm os non-free-firmware, retire-os do debian.sources, deixe somente "Components: main".
Caso queira os deb-src (os fontes dos arquivos) basta, em Types, acrescentar: Types: deb deb-src.
Adicionar a estrofe "Enabled: no" desativa a entrada. Removendo a estrofe ou defini-la para "yes" volta a ativá-la (equivale à comentar ou descomentar todo o bloco).
Como é atualização online de uma versão para outra não tem necessidade de usar os fontes.
Para entender mais sobre os blocos do debian.sources:
6- Atualização mínima do sistema
Na maioria dos casos, fazer a atualização completa diretamente removerá um grande número de pacotes que poderá querer manter.
Portanto, faremos um processo de atualização em duas partes: primeiro uma atualização mínima para ultrapassar conflitos e depois uma atualização completa.
Durante as atualizações mantive as opções padrões de reiniciar os serviços (caso pedir) e fui somente dando enter mantendo os arquivos modificados localmente e mantendo as versões atuais.
Aconselho a fechar todos os programas/aplicativos/janelas e deixar somente o terminal aberto!
1º- Atualização Mínima
$ sudo apt update
$ sudo apt upgrade --without-new-pkgs
Digite S e dê enter.
Aguarde terminar.
2º- Atualização Completa
$ sudo apt full-upgrade
Digite S e dê enter.
Aguarde terminar, pode demorar de 10 minutos até meia hora (ou mais), dependendo do hardware/internet.
7- Atualize o Debian 13, remova pacotes desnecessários, limpe o sistema e atualize o GRUB:
$ sudo apt update
$ sudo apt upgrade
$ sudo apt autoremove
$ sudo apt purge ~c
$ sudo apt autoclean
$ sudo update-grub
8- Reinicie:
$ sudo shutdown -r now
Reiniciará sem erros.
9- Verifique a versão:
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.0
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Possíveis Erros
Fiz esse procedimento em um notebook Dell Vostro 3550 Xfce com 16 GB DDR3 e core i7 (que já vem desde o Debian 10 Bullseye atualizando online); fiz num PC antigo Cinnamon com core 2 duo e 6 GB DDR2 e fiz num PC Cinnamon com core i9 e 24 GB DDR4.
Todos atualizaram e reiniciaram sem nenhum erro!
Porém, erros muitas vezes acontecem, talvez eu tenha tido sorte.
Um dos erros mais comuns nesses casos é quando, ao reiniciar, não entra sequer no GRUB, daí deve-se reinstalar o GRUB com o modo RESCUE da ISO de instalação, evite de usar um LIVE, pois os comandos de uma mesma versão de uma distribuição podem não funcionar em outra versão.
Caso o GRUB funcionar, mas não entrar no sistema, então deve se usar as opções do GRUB.
Caso você tenha algum arquivo de repositório externo dentro de /etc/apt/sources.list.d como, por exemplo, php.list ou outro, modifique de bookworm para trixie dentro do arquivo e depois execute "sudo apt update" seguido de "sudo apt upgrade", caso necessário.
Provavelmente depois do Debian 13 para o 14 não será necessário todo esse procedimento, bastará alterar o arquivo debian.sources... isso se os caras não resolverem mudar tudo de novo!
Maiores explicações encontram-se na CONCLUSÃO.
CONCLUSÃO
O Debian 13 teve várias modificações estruturais como, por exemplo, suporte reduzido para i386 sendo suportado apenas como co-arquitetura para execução de software de 32 bits em AMD64, mudança do sources.list que agora se chama debian.sources e mudou o formato e o caminho, suporte wcurl e HTTP/3 em curl, OpenSSH já não suporta chaves DSA, etc:
"formato debian.sources
Este é agora o formato recomendado desde o Debian Trixie:
Types: deb deb-src
URIs: http://deb.debian.org/debian
Suites: bookworm bookworm-updates
Components: main non-free-firmware
Enabled: yes
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg"
"formato sources.list
Antes do Debian Trixie (13), as fontes do APT eram geralmente configuradas em /etc/apt/sources.list , que usa um formato menos legível. Este arquivo ainda é suportado, mas provavelmente será descontinuado em uma versão futura do Debian. O novo formato pode ser usado (pelo menos) a partir do Debian Bullseye ."
O arquivo /etc/apt/sources.list ainda existe e será compatível até ser descontinuado em versões futuras.
O arquivo agora chama-se debian.sources e fica no diretório /etc/apt/sources.list.d/*.sources, ou seja, /etc/apt/sources.list.d/debian.sources.
Todo arquivo de repositórios agora deve ser colocado nesse diretório com a extensão .sources, por exemplo, postgresql.sources, a não ser aqueles arquivos que são colocados automaticamente pela instalação do programa/aplicativo/software.
Estilo do formato Deb822
Os arquivos de definição agora estão no diretório "/etc/apt/sources.list.d/*.sources".
Cada bloco de linhas separado por uma linha em branco define a fonte de dados para o sistema APT.
A estrofe "Types:" define a lista de tipos tais como "deb" e "deb-src".
A estrofe "URIs:" define a lista de URIs raiz do repositório Debian.
A estrofe "Suites:" define a lista de nomes da distribuição utilizando o nome da suite ou o nome de código.
A estrofe "Components:" define a lista de nomes de áreas de arquivo válidas do arquivo Debian.
Adicionar a estrofe "Enabled: no" desativa a entrada. Removendo a estrofe ou defini-la para "yes" volta a ativá-la (equivale à comentar ou descomentar todo o bloco).
O formato do arquivo agora tem mais linhas a serem digitadas, pois as linhas do antigo arquivo transformaram-se num bloco.
No link abaixo tem a lista de URLs dos sites de arquivo Debian e o nome da suíte ou nome de código usado no arquivo de configuração:
No link abaixo tem maiores explicações sobre o formato DEB822:
Sugestão de debian.sources para o Trixie (Debian 13):
# Arquivo de repositórios para o Debian Trixie (13)
Types: deb
URIs: http://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main contrib non-free non-free-firmware
Enabled: yes
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb
URIs: https://security.debian.org/debian-security
Suites: trixie-security
Components: main contrib non-free non-free-firmware
Enabled: yes
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# Types: deb
# URIs: http://deb.debian.org/debian
# Suites: trixie-backports
# Components: main non-free-firmware
# Enabled: yes
# Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Salve e saia.
Os backports devem ser usados com cuidado e somente quando necessário:
SOURCES.LIST
Depois, caso queira incrementar o sources.list do formato antigo, substitua o conteúdo pelo seguinte:
# deb cdrom:[Debian GNU/Linux 12.11.0 _Bookworm_ - Official amd64 NETINST with firmware 20250517-09:51]/ bookworm contrib main non-free-firmware
# deb-src http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
# deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# bookworm-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
# deb-src http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware
# deb https://deb.debian.org/debian/ bookworm-proposed-updates main contrib non-free-firmware non-free
# deb http://deb.debian.org/debian bookworm-backports main contrib non-free
# deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free
# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
Salve e saia.
Execute:
$ sudo apt update
$ sudo aptitude safe-upgrade
Maiores explicações sobre configuração e significado dos repositórios você encontra aqui:
Referências
man apt
man apt-get
man aptitude
Nenhum comentário:
Postar um comentário