O erro HTTP 404 faz com que pareça alguns problemas comuns.
Estes são causados por repositórios desaparecendo ou sendo removidos.
Mas não é que nosso repositório não esteja mais em vigor:
wget -q http://archive.ubuntu.com//ubuntu/dists/precise/ -O - | html2text
****** Index of /ubuntu/dists/precise ******
[[ICO]] Name Last_modified Size
============================================================================
[[DIR]] Parent_Directory -
[[ ]] Contents-amd64.gz 26-Apr-2012 05:30 21M
[[ ]] Contents-i386.gz 26-Apr-2012 06:11 21M
[[ ]] Release 25-Apr-2012 22:49 48K
[[ ]] Release.gpg 25-Apr-2012 22:49 198
[[DIR]] main/ 05-Dec-2011 18:03 -
[[DIR]] multiverse/ 14-Oct-2011 00:29 -
[[DIR]] restricted/ 14-Oct-2011 00:29 -
[[DIR]] universe/ 14-Oct-2011 00:29 -
============================================================================
Apache/2.2.22 (Ubuntu) Server at archive.ubuntu.com Port 80
Olhando de perto, ele tenta acessar Packages
, não Packages.gz
como de costume.
Isso não parece realmente suspeito; Existem vários formatos disponíveis, como .bz2
também; descompactado é apenas outra codificação.
$ wget -q http://archive.ubuntu.com//ubuntu/dists/precise/restricted/binary-i386/ -O - | html2text
****** Index of /ubuntu/dists/precise/restricted/binary-i386 ******
[[ICO]] Name Last_modified Size
============================================================================
[[DIR]] Parent_Directory -
[[ ]] Packages.bz2 25-Apr-2012 22:42 8.2K
[[ ]] Packages.gz 25-Apr-2012 22:42 8.9K
[[ ]] Release 25-Apr-2012 22:49 102
============================================================================
Apache/2.2.22 (Ubuntu) Server at archive.ubuntu.com Port 80
Mesmo depois de descobrir que Packages
está realmente ausente, não é realmente um motivo para suspeitar que algo está errado: servidores Web comuns têm a opção de descompactar arquivos de forma transparente conforme necessário - exatamente o que parece acontecer aqui.
Algum tempo depois, encontrei um relatório de bug, de acordo com o qual o nome do arquivo sem .gz
está realmente errado neste lugar;
Mas a causa é realmente inesperada: porque os diretórios são mais profundos do que o normal, o tamanho do URL atinge algum limite. Não cabe em algum buffer de tamanho fixo. São três bytes longos demais; Então, três personagens são descartados; O URL não tem nenhum parâmetro de URL, etc. Assim, o caminho do URL é cortado;
Por três caracteres, removendo o .gz
. Deixando um nome de arquivo perfeitamente válido.
Packages.gz não encontrado porque, em vez disso, pesquisou apenas Pacotes