Atualização do Debian
Conselhos gerais para atualizar o Debian. Para orientações sobre a atualização para uma versão específica, consulte as Notas de lançamento do Debian 12 (bookworm) ou Notas de lançamento do Debian 13 (trixie). Para outros tópicos de upgrade/downgrade, consulte Instalar, remover e modificar versões de software.
Contents
Faça backup dos seus dados antes de atualizar
Atualizar seu sistema sempre traz riscos. Mesmo se você fizer tudo certo, o volume de atividade do disco pode provar que seu disco estava mais próximo do fim da vida útil do que você imaginava.
Antes de atualizar, copie todos os seus dados pessoais (no mínimo o conteúdo de /home) para um disco que possa permanecer desconectado e em uma gaveta enquanto você atualiza. Considere aproveitar a oportunidade para fazer um cronograma de backup mensal, caso seu disco esteja apenas um pouco mais perto do fim da vida útil do que você imagina.
Para mais informações sobre o que fazer backup, consulte DebianStability.
Certifique-se de que cryptsetup-initramfs permanece instalado
Se você usa um sistema de arquivos com raiz criptografada, certifique-se de que cryptsetup-initramfs continua instalado:
apt-mark manual cryptsetup-initramfs
cryptsetup-initramfs garante que o suporte de criptografia de disco esteja disponível no initramfs que monta o sistema de arquivos raiz. Se cryptsetup-initramfs foi originalmente instalado como uma dependência quando você estava instalando algum outro pacote, e a nova versão desse pacote não necessita mais dessa dependência, o apt pode pensar que você não está usando cryptsetup-initramfs e pode decidir removê-lo. O comando acima marca como sendo instalado manualmente, então o apt sabe que deve mantê-lo.
Crie um dispositivo de resgate
Se algo der errado e seu sistema não inicializar, um dispositivo de resgate permite que você inicialize outro sistema e corrija o problema. Você pode usar um dispositivo de resgate dedicado, uma imagem Debian Live ou apenas um sistema Linux normal instalado em um pendrive em vez de um disco rígido.
Antes de atualizar o Debian, verifique se você pode inicializar seu dispositivo de resgate do seu computador e se o próprio dispositivo de resgate está atualizado para a versão mais recente.
Faça uma execução de teste no QEMU
Se você está esperando uma atualização particularmente difícil, você pode atualizar uma cópia temporária do seu sistema em uma máquina virtual e só confirmar suas alterações quando verificou que tudo está OK.
Inicialize seu dispositivo de resgate
Você não pode executar seu sistema em sua máquina real e uma máquina virtual ao mesmo tempo, então inicialize seu dispositivo de resgate.
Certifique-se de que qemu-system-x86 (ou o equivalente para a sua arquitetura) esteja instalado no seu dispositivo de resgate, para que ele possa executar seu sistema principal em uma máquina virtual.
Crie um mecanismo de imagem de disco sobre seu disco físico
O Qemu permite criar uma imagem de disco que é garantida pelo seu disco físico. Isso significa que ele começa a ler a partir do seu disco físico, mas grava alterações na imagem em vez do disco. Portanto, as atualizações são aplicadas com segurança à imagem até que você explicitamente as grave no disco físico.
Primeiro, descobra qual nome seu sistema de resgate deu ao seu disco físico:
sudo blockdev --report /dev/disk/by-id/* | grep -v -- -part[0-9]*$ | sort -n -k6
Você deve ver uma lista de dispositivos, com tamanhos de dispositivos e algumas informações técnicas. Seu disco físico pode ser qualquer um deles, mas é provavelmente aquele com o tamanho maior e um nome que começa com /dev/disk/by-id/ata-. Quando você decidir qual disco usar, faça uma variável para lembrá-lo:
TARGET_DEVICE="/dev/disk/by-id/ata-<alguma-coisa>"
Em seguida, verifique se alguma partição no seu alvo está montada no momento:
grep "$(readlink -f "$TARGET_DEVICE")" /proc/mounts
Se o comando não disser nada, você está em segurança para continuar. Se diz algo como /dev/sda1 /media/user/EFI ..., desmonte /media/user/EFI e repita o comando anterior até que você fique sem pontos de montagem. Se ele disser algo como /dev/sda1 / ..., você escolheu o disco errado - tente outro da lista blockdev.
Por fim, crie uma imagem de disco no seu dispositivo alvo:
sudo qemu-img create -f qcow2 ~/hd_image.qcow2 -F raw -b "$TARGET_DEVICE"
o comando acima cria uma imagem de disco no diretório home do seu dispositivo de resgate. Se o seu computador tiver muita memória (>10GB), seu dispositivo de resgate estiver executando pelo menos trixie e tiver um disco lento, altere ~/hd_image.qcow2 para /tmp/hd_image.qcow2 para usar um arquivo temporário na memória.
Faça boot da sua máquina na máquina virtual
Execute este comando (ou o equivalente para sua arquitetura):
sudo qemu-system-x86_64 \
-m 1G -cpu max -enable-kvm \
-device virtio-net-pci,netdev=net0 \
-netdev user,id=net0,hostfwd=tcp::2222-:22 \
-drive file=~/hd_image.qcow2,cache=unsafe
Seu sistema principal deve inicializar em uma janela! Se o programa se recusar a executar até que você remova -enable-kvm, talvez seja necessário ativar a virtualização em seu BIOS.
cache=unsafe significa que fechar a máquina virtual incorretamente pode corromper ~/hd_image.qcow2, mas podemos simplesmente jogá-la fora e começar de novo se isso acontecer.
Para provar que as alterações a esta máquina virtual não são aplicadas à sua máquina real, faça alguma pequena alteração (por exemplo, crie um arquivo vazio), desligue o computador, exclua e recrie ~/hd_image.qcow2, e reinicie a máquina virtual. O novo arquivo não deve existir.
Se você executa um servidor ssh no seu sistema principal, você deve ser capaz de se conectar à sua máquina virtual com ssh -p 2222 localhost.
Atualize sua máquina na máquina virtual
Agora você tem uma simulação do sistema principal em execução em uma máquina virtual, e as alterações na máquina virtual não são salvas no disco físico. Atualize seu sistema principal da maneira normal, fazendo anotações de qualquer coisa que precise fazer durante o processo.
Depois de concluir a atualização, reinicie a máquina virtual e verifique se o sistema funciona. Ele deve inicializar, seus programas devem funcionar, seus arquivos devem estar lá, e assim por diante. Caso contrário, tudo certo - basta fechar a máquina virtual, excluir e recriar ~/hd_image.qcow2, e tentar novamente.
Faça as alterações no disco físico (opcional)
Uma vez que a atualização funcione, ~/hd_image.qcow2 conterá todas as modificações que você precisa. Você pode atualizar seu dispositivo alvo salvando as alterações no disco:
sudo qemu-img commit -p ~/hd_image.qcow2
Isso pode demorar um pouco para concluir, mas cancelá-lo irá corromper o seu dispositivo de destino. Se seu computador é um laptop, certifique-se de que está conectado na tomada antes de começar!
Se você confia em suas anotações mais do que você confia no qemu-img, você pode preferir tratar tudo isso como um teste - jogue o arquivo fora, reinicie seu sistema principal e atualize da maneira normal.
Veja também
DontBreakDebian discute algumas coisas que podem fazer com que as atualizações quebrem
DebianInstaller/Qemu discute instalar um sistema novo em uma máquina virtual
CrossGrading discute atualizar do i386 para x86_64
