Estou usando uma imagem docker como base para meu próprio desenvolvimento que adiciona o repositório jessie backports em seu Dockerfile e usa isso para instalar uma dependência. Esta imagem usa o seguinte comando para adicionar o repositório:
echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
O problema é que a busca de pacotes do repositório backports agora falha com o seguinte erro (isso costumava funcionar anteriormente):
W: Failed to fetch
http://ftp.debian.org/debian/dists/jessie-backports/main/binary-amd64/Packages
404 Not Found
W: Failed to fetch
http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages
404 Not Found
Eu olhei nesse servidor e esses caminhos realmente não estão presentes lá.
Eu tentei descobrir no site de backports do Debian se esse repositório específico ainda deveria estar disponível, e não encontrei nenhuma indicação de que isso estava obsoleto ou algo assim.
Este é um problema temporário com o repositório ou o repositório jessie-backports não está mais disponível? E se isso não for um problema temporário, quais opções eu tenho para usar este ou um repositório equivalente sem atualizar para a versão estável do Debian mais recente?
Wheezy e Jessie foram recentemente removidos da rede de espelhos , então se você quiser continuar buscando backports de Jessie, você precisa usar
archive.debian.org
:(As verificações de validade precisam ser desabilitadas, pois o repositório não está mais sendo atualizado. Jessie's
apt
não suporta ocheck-valid-until
sinalizador, veja a resposta da inostia para obter detalhes e o resumo da configuração mais abaixo nesta resposta.)O
jessie-updates
repositório foi removido: todas as atualizações foram mescladas com o repositório principal e não haverá mais atualizações não relacionadas à segurança. Portanto, quaisquer referências a arquivosjessie-updates
insources.list
ousources.list.d
precisam ser removidas. As atualizações de segurança continuarão a ser fornecidas , em arquiteturas compatíveis com LTS, no repositório de segurança, até 30 de junho de 2020.Como você está construindo uma imagem de contêiner, recomendo baseá -la no Debian 9 (Stretch). Para permanecer no Debian 8 (Jessie), seus repositórios devem ficar parecidos com
(sem o
jessie-updates
repositório).Você também precisará desabilitar as verificações de validade
/etc/apt/apt.conf
(que se aplicarão a todos os repositórios):Depois de tentar soluções sugeridas por @inostia e @Stephen Kitt, ainda estava recebendo o seguinte erro:
Eu descobri que isso pode ser resolvido removendo a linha
deb http://deb.debian.org/debian jessie-updates main
de/etc/apt/sources.list
.Acabei com o seguinte trecho no meu Dockerfile:
Para aqueles que usam o NodeJS com fundações de imagem do docker mais antigas. Eu tinha algumas imagens congeladas que tinham essas fontes mais antigas para a compilação de libs extras.
Contexto: se você quisesse instalar o python durante uma compilação do docker, você se deparou com esse problema durante uma compilação da imagem (nas últimas 24 horas), pois ela falhou ao fornecer dependências durante uma compilação do docker.
Eu tentei as recomendações de caminho de arquivo neste post, mas não consegui passar dos 404. (também vindo da localização archive.debian.org a partir de hoje)
Solução: acabei mudando para a versão mais recente do container do node (que tem libs python já pré-instaladas) que, e atualizando algumas libs no pacote json (que agora também inclui libs binárias que antes queriam python) tornou o problema obsoleto .
No final, atualizar a imagem de base para a pilha de contêineres (node:latest) parecia ser o caminho mais direto para a resolução.
Desconfie de pilhas de imagens obsoletas com dependências binárias incluídas, elas provavelmente demorarão um pouco para atualizar a camada principal do sistema operacional.
Se nada funcionar mais, com um painel desses erros:
Considere uma atualização de distribuição completa e uma lista de fontes limpa para salvar sua máquina. Leva apenas alguns minutos com essas notas, mas é pior.
Primeira visita
/etc/apt/sources.list.d/
e remova tudo. ( Faça backups ).Edit
/etc/apt/sources.list
, deixe apenas esta linha:Então, como root, execute:
Confirme as várias mensagens. Então tente:
Não deve gerar erros, apenas confirmando:
Alguns vários pacotes podem gerar alguns conflitos , nesses casos, para serem usados uma vez, isso resolverá os vários conflitos:
Possível outro erro:
Para resolver, importe as chaves públicas conforme especificado:
Você pode receber uma mensagem muito rara!
Você pode encontrar um problema com kernels antigos e libc:
Não aplique essas notas para servidores públicos. Sempre vá para o último LTS.
https://www.debian.org/doc/manuals/debian-faq/ch-uptodate.en.html
https://askubuntu.com/questions/364404/e-unable-to-fetch-some-archives-maybe-run-apt-get-update-or-try-with-fix-mis
https://askubuntu.com/questions/766883/there-is-no-public-key-available-for-the-following-key-ids-1397bc53640db551