Como Corrigir o Erro 404 Not Found Durante a Atualização com apt-get no Debian
O erro “404 Not Found” durante a atualização ocorre quando seu sistema tenta baixar pacotes de repositórios que não existem mais ou foram movidos, o que normalmente acontece com versões mais antigas do Debian que atingiram o status de fim de vida e cujos pacotes foram realocados para os servidores de arquivo.
Como o Debian mantém ciclos de lançamento rigorosos, versões mais antigas eventualmente são movidas de espelhos ativos para armazenamento de arquivo dedicado. Quando isso acontece, a configuração do seu repositório existente fica desatualizada e as operações do gerenciador de pacotes falham.
Entendendo erros 404 durante a atualização
Quando você executa apt-get update ou apt-get upgrade, o sistema lê sua lista de fontes a partir de /etc/apt/sources.list e tenta obter informações dos pacotes a partir das URLs especificadas lá. Se essas URLs apontarem para repositórios que foram movidos ou removidos, você receberá erros 404.
A solução envolve atualizar sua lista de fontes para apontar para os locais corretos dos repositórios. Como diferentes versões do Debian exigem URLs de repositório diferentes, primeiro vamos identificar sua versão atual e, em seguida, modificar a configuração de acordo.
Verificando Sua Versão do Debian
Antes de fazer qualquer alteração, você precisa determinar qual versão do Debian está executando.
lsb_release -a
O comando acima exibe informações sobre sua distribuição, incluindo o número da versão e o codinome.
- Bookworm → Debian 12
- Bullseye → Debian 11
- Buster → Debian 10
Anote seu codinome, pois você precisará dele nos próximos passos.
Fazendo Backup da Configuração de Arquivo de Fontes
Como você estará modificando arquivos do sistema, criar um backup garante que você possa restaurar sua configuração original, se necessário.
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
Isso cria uma cópia da sua lista de fontes no mesmo diretório; se algo der errado, você pode restaurá-la revertendo a fonte e o destino no comando acima.
Atualizando fontes do repositório
Em seguida, você precisa editar sua lista de fontes para apontar para os repositórios corretos. Para versões mais antigas do Debian que atingiram o fim de vida, você deve mudar para os servidores de arquivo.
Abra o arquivo com um editor de texto:
sudo nano /etc/apt/sources.list
Para versões Debian que chegaram ao fim da vida útil
Se a sua versão do Debian não for mais suportada (por exemplo, Jessie, Stretch ou mais antigas), substitua o conteúdo do arquivo por:
deb http://archive.debian.org/debian/ CODENAME main contrib non-free
deb http://archive.debian.org/debian-security/ CODENAME/updates main contrib non-free
Substitua CODENAME pelo codinome do seu Debian (por exemplo, stretch para o Debian 9).
Para as Versões Atualmente Suportadas
Se a sua versão do Debian ainda for suportada, mas você está recebendo erros 404 (problemas com espelhos), use os repositórios principais do Debian:
deb http://deb.debian.org/debian/ CODENAME main contrib non-free
deb http://deb.debian.org/debian/ CODENAME-updates main contrib non-free
deb http://security.debian.org/debian-security CODENAME-security main contrib non-free
Substitua CODENAME pela sua versão:
- Debian 12 → bookworm
- Debian 11 → bullseye
- Debian 10 → buster
Depois de fazer essas alterações, salve o arquivo pressionando Ctrl+O, depois Enter, e saia com Ctrl+X.
Manipulação da Validação do Repositório de Arquivos
Os repositórios de arquivos de versões Debian que chegaram ao fim de vida não recebem atualizações de segurança, o que significa que seus arquivos de lançamento não são mais assinados com chaves válidas. Para evitar que o comando apt falhe devido a assinaturas expiradas, você precisa desativar as verificações de validação para esses repositórios.
Abra ou crie o seguinte arquivo de configuração:
sudo nano /etc/apt/apt.conf.d/99allow-unauthenticated
Adicione esta única linha:
Acquire::Check-Valid-Until "false";
Essa configuração instrui o apt a ignorar o período de validade dos arquivos de lançamento, o que é necessário para repositórios arquivados que não recebem mais atualizações.
Atualizando informações do pacote
Com as fontes do seu repositório agora corretamente configuradas, atualize suas listas de pacotes, o que buscará as informações mais recentes dos pacotes dos seus repositórios recém-configurados. Se tudo estiver configurado corretamente, deverá ser concluído sem erros 404.
sudo apt-get update
Uma vez que suas listas de pacotes estejam atualizadas, você pode atualizar os pacotes instalados, o que fará o download e a instalação das atualizações disponíveis para o seu sistema atual. Para versões arquivadas, você pode perceber que poucos ou nenhum pacote é atualizado, já que eles não recebem mais atualizações.
sudo apt-get upgrade
Considerando uma Atualização de Distribuição
Embora corrigir os erros 404 permita que seu sistema atual funcione, usar uma versão Debian que chegou ao fim de sua vida útil significa que você não recebe mais atualizações de segurança, o que representa riscos significativos em ambientes de produção ou expostos à internet.
Você deveria considerar atualizar para uma versão do Debian que seja atualmente suportada.
sudo apt-get dist-upgrade
No entanto, atualizar entre versões principais do Debian requer planejamento cuidadoso e não deve ser feito de forma desprevenida, pois pode quebrar configurações existentes ou softwares instalados. Consulte as notas de lançamento oficiais do Debian para a versão desejada antes de tentar uma atualização principal.
Resumo
Os erros 404 durante o apt-get upgrade ocorrem devido a URLs de repositório desatualizadas na configuração de suas fontes. Identificar a versão do Debian, atualizar sua lista de fontes para apontar para os repositórios apropriados e ajustar as configurações de validação pode restaurar a funcionalidade de gerenciamento de pacotes.
Como executar versões não suportadas acarreta implicações de segurança, planejar uma atualização para uma versão Debian atual continua sendo a solução recomendada a longo prazo.