Fedora Linux: falha transitória ao baixar atualizações de segurança

0

Esta é a parte N de "por que não estou recebendo atualizações de segurança". O que causa isso?

  • SO: Estação de trabalho Fedora 23
  • Data: 2016-03-03

1. falha de significado transitório, então sucesso

# dnf check-update

Error: Failed to synchronize cache for repo 'updates' from 'http://download.fedoraproject.org/pub/fedora/linux/updates/23/x86_64/': Yum repo downloading error: Downloading error(s): repodata/0e95ae636347564e66b0e600c9a1369d5c57415ed969bc7bba13e1a190d195c1-filelists.xml.gz - Cannot download, all mirrors were already tried without success; repodata/33467a86da0d3b3b24c27bf054700c0e35041a0643054e62f961d687b2a8c628-prestodelta.xml.xz - Cannot download, all mirrors were already tried without success; repodata/6ae21040c8354039ebdaebd0b3ebb99d6b577c0231e83faf5fdd906944bf32ee-primary.xml.gz - Cannot download, all mirrors were already tried without success; repodata/125571cd75bc296f2b59a8f11d92652f8faa8cbfc9e0fe0637b37c26e9a258fd-updateinfo.xml.xz - Cannot download, all mirrors were already tried without success

1.1 então houve uma falha, o que o wget mostra?

# wget http://download.fedoraproject.org/pub/fedora/linux/updates/23/x86_64/repodata/0e95ae636347564e66b0e600c9a1369d5c57415ed969bc7bba13e1a190d195c1-filelists.xml.gz
--2016-03-03 23:32:47--  http://download.fedoraproject.org/pub/fedora/linux/updates/23/x86_64/repodata/0e95ae636347564e66b0e600c9a1369d5c57415ed969bc7bba13e1a190d195c1-filelists.xml.gz
Resolving download.fedoraproject.org (download.fedoraproject.org)... 140.211.169.206, 85.236.55.6, 152.19.134.198, ...
Connecting to download.fedoraproject.org (download.fedoraproject.org)|140.211.169.206|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/updates/23/x86_64/repodata/0e95ae636347564e66b0e600c9a1369d5c57415ed969bc7bba13e1a190d195c1-filelists.xml.gz [following]
--2016-03-03 23:32:48--  https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/updates/23/x86_64/repodata/0e95ae636347564e66b0e600c9a1369d5c57415ed969bc7bba13e1a190d195c1-filelists.xml.gz
Resolving www.mirrorservice.org (www.mirrorservice.org)... 212.219.56.184
Connecting to www.mirrorservice.org (www.mirrorservice.org)|212.219.56.184|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2016-03-03 23:32:48 ERROR 404: Not Found.

1.2 só para ficar claro, não há proxy HTTP para se preocupar aqui

# echo $http_proxy

#

1.3 coçar minha cabeça, tente novamente

# dnf check-update

Fedora 23 - x86_64 - Updates 1.3 MB/s | 20 MB 00:15

google-chrome 55 kB/s | 3.4 kB 00:00

Last metadata expiration check performed 0:00:00 ago on Thu Mar 3 23:35:26 2016.

google-chrome-stable.x86_64 49.0.2623.75-1 google-chrome

^ obviamente isso inclui atualizações de segurança ...

graphite2.x86_64 1.3.6-1.fc23 updates

.... Atualização de segurança do Fedora ...

pcre.x86_64 8.38-6.fc23 updates

... outra atualização de segurança do Fedora .

1.4 OBSERVAÇÃO

Em seguida, consultei o diretório em mirrorservice.org no meu navegador (ou seja, após a verificação de atualização bem-sucedida). A lista de arquivos mudou o nome para 85f1054756ada3a2a9ab2f6c40c23378c74afb22ba4599c3cbb46334be0820a1-filelists.xml.gz. Então, estávamos tentando buscar um arquivo antigo que foi excluído.

2. Contexto

A investigação acima começou porque notei as atualizações de segurança do Fedora acima, mas o GNOME não estava me notificando sobre elas. O GNOME Software mostrou 0 atualizações mesmo depois de clicar em refresh, o que não é o comportamento que eu esperaria.

pkcon update fez mostrar as atualizações, embora eu tenha esquecido de gravá-las. Não sei se incluiu as atualizações de segurança nesse ponto.

Após a verificação bem-sucedida da atualização com dnf , a atualização do GNOME Software mostrou atualizações. No momento em que escrevo, sei que o dnf e o PackageKit-on-Fedora usam diretórios de cache totalmente distintos. Portanto, dnf preenchendo seu cache não foi a causa direta para o Software GNOME funcionar.

    
por sourcejedi 04.03.2016 / 16:56

1 resposta

2

Meu primeiro palpite é que o mirrorservice.org não leu as instruções e não sabe como espelho. Em outras palavras, seu repositório pode parecer inconsistente enquanto está sendo atualizado. O antigo filelists.xml.gz poderia ser excluído antes de repomd.xml ser atualizado para apontar para a nova lista de arquivos. Mas é muito estranho que um grande espelho desse errado.

Depois lembrei-me do problema. download.fedoraproject.org é apenas quebrado . Ele redireciona você para diferentes repositórios para cada pedido. O problema é que você não pode assumir que os repositórios individuais serão atualizados exatamente ao mesmo tempo. (E o repositório principal do Fedora não está formatado para suportar isso, porque não mantém a lista de arquivos anterior por perto).

A configuração padrão não usa o download.fedoraproject.org, então está tudo bem . Isso só aconteceu porque eu mudei de metalink downloads e não comentei a linha padrão baseurl , nos arquivos .repo config. baseurl é ótimo se você criar seu próprio repositório do Fedora para usar localmente, mas caso contrário você deseja usar o sistema metalink padrão, onde seu computador escolhe de quais repositórios (s) fazer download.

No meu caso, a inconsistência provavelmente foi entre mirrorservice.org e o espelho bytemark. Você pode ver os redirecionamentos com o curl:

$ curl --head http://download.fedoraproject.org/
HTTP/1.1 302 Found
Date: Fri, 04 Mar 2016 15:34:58 GMT
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5
Location: https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux//
AppTime: D=328174
AppServer: proxy02.fedoraproject.org
Content-Type: text/html; charset=UTF-8

$ curl --head http://download.fedoraproject.org/
HTTP/1.1 302 Found
Date: Fri, 04 Mar 2016 15:35:00 GMT
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5
Location: http://mirror.bytemark.co.uk/fedora/linux//
AppTime: D=363432
AppServer: proxy07.fedoraproject.org
Content-Type: text/html; charset=UTF-8
    
por 04.03.2016 / 16:56