Problème de mise à jour - Hash mismatch

Bonjour,

Tout d’abord, merci pour votre outil et pour la documentation associée qui est très bien faite. Malheureusement, j’ai un petit soucis qui m’oblige à vous solliciter.

Mon serveur YunoHost

Matériel: Raspberry Pi 2
Version de YunoHost: 3.8.4.9
J’ai accès à mon serveur : En SSH et par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non

Description du problème

Depuis hier, j’ai systématiquement une erreur lorsque je tente une mise à jour des paquets.

sudo yunohost tools update
Info: Fetching available upgrades for system packages…
Warning: E: Failed to fetch http://archive.raspberrypi.org/debian/dists/stretch/main/binary-armhf/Packages.gz  Hash Sum mismatch
Warning:    Hashes of expected file:
Warning:     - Filesize:201437 [weak]
Warning:     - SHA256:7c26ed1f028d11ff8ef384a7af161d504d8ddf84601e99778a60df7d66f37d75
Warning:     - SHA1:b8ab529b1dcbe7829dbe02add51b7b308110be12 [weak]
Warning:     - MD5Sum:38464ed360aa386f4341cc0f9560eb77 [weak]
Warning:    Hashes of received file:
Warning:     - SHA256:ed829a5992f6d84822326fee9d44ca0e436efe79cf3a71a78c5c5b0bd9088880
Warning:     - SHA1:dd4ca2746c708ec0de92d603d67486e1cf10e799 [weak]
Warning:     - MD5Sum:b9eb9f150f1a88712613c356dd13a3d7 [weak]
Warning:     - Filesize:201437 [weak]
Warning:    Last modification reported: Fri, 26 Jun 2020 19:03:37 +0000
Warning:    Release file created at: Fri, 26 Jun 2020 19:02:30 +0000
Warning: E: Some index files failed to download. They have been ignored, or old ones used instead.
Error: Could not to update the cache of APT (Debian's package manager). Here is a dump of the sources.list lines, which might help identify problematic lines: 
sources.list:deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
sources.list.d/raspi.list:deb http://archive.raspberrypi.org/debian/ stretch main ui
sources.list.d/yunohost.list:deb http://forge.yunohost.org/debian/ stretch stable
sources.list.d/extra_php_version.list:deb https://packages.sury.org/php/ stretch main

J’ai essayé de supprimer le cache d’apt avec :

sudo apt-get clean && sudo rm -rf /var/lib/apt/lists/*

et de relancer la mise à jour, mais rien ne semble corriger ce problème.

Du coup, je me pose la question de savoir si le problème vient de ma configuration ou du dépôt archive.raspberrypi.org. J’aurai bien testé avec un mirroir alternatif mais je n’en ai pas trouvé.

Auriez-vous une idée de quel pourrait être le problème ?

Ebeeeen de mon côté quand je fais :

wget http://archive.raspberrypi.org/debian/dists/stretch/main/binary-armhf/Packages.gz
sha256sum Packages.gz

J’obtiens bien :

7c26ed1f028d11ff8ef384a7af161d504d8ddf84601e99778a60df7d66f37d75  Packages.gz

Du coup le problème a l’air d’être de côté mais j’ai du mal à trouver une explication … ça peut aussi être un soucis de réseau (voir même une attaque, mais bon, j’en doute …)

Est-ce que tu peux essayer de faire manuellement sur ton serveur (et aussi sur ta machine perso si tu peux) le wget suivi de sha256sum ? Eventuellement fait aussi un ls -lh sur le fichier pour voir si sa taille est bien ~197Ko

J’ai essayé sur mon ordi perso et sur mon serveur de faire le wget et le sha256sum. A chaque fois, je n’obtiens pas le bon hash.
La taille du fichier est correcte en revanche.

Chose étrange, j’ai essayé en en wifi et en 4G sur mon téléphone et en 4G j’ai le bon hash. C’est comme si le problème venait de mon réseau local.

Est-ce que si tu regardes l’IP qu’il contacte c’est la même ?

Quid de si tu remplaces http par https au début du wget ?

Est-ce que tu pourrais partager le fichier qui a un mauvais hash pour qu’on puisse l’étudier ?

L’IP qu’il contacte est pas toujours la même mais si je contrôle en faisant :

host archive.raspberrypi.org

l’ip contactée est toujours dans la liste.

En https, j’ai le bon hash.
Un lien vers le fichier avec le mauvais hash :

https://send.firefox.com/download/837af7753414d0a1/#2RPewKjd_WCLWJjlmBlbiA

Mouarf ben j’ai regardé la différence et j’ai ça :

$ diff Packages_faulty Packages
4144c4144
< Version: 6.0.590.0-202006170925
---
> Version: 6.0.591.0-202006230522
4153,4157c4153,4157
< Filename: pool/main/g/geogebra-classic/geogebra-classic_6.0.590.0-202006170925_armhf.deb
< Size: 54837322
< SHA256: aa7488851308edbaacd750d4e92353f556a1104cc750699dd494c2e6ecfb0792
< SHA1: 11134baf0d5150fbd7478bdb7f2aa001b3eb5ac3
< MD5sum: 8e6b2883a7ce5ed50efc4bebd5b30264
---
> Filename: pool/main/g/geogebra-classic/geogebra-classic_6.0.591.0-202006230522_armhf.deb
> Size: 54838444
> SHA256: 385eb4797dbad10854122c7e3260972d672838a4e25d7491e1793c6b999f79a3
> SHA1: da89bf114216ddc6f6e71da52eb324a45b72bbfd
> MD5sum: 259c756eac66576d1957fd91de529047

mais ça n’explique pas grand chose … Je pige vraiment pas pourquoi spécifiquement depuis ton réseau local tu aurais une différence, à moins qu’il y ai un espèce de serveur de cache bizarre dans l’histoire …

Bref, si ça marche en https, et si tu as bien le paquet apt-transport-https d’installé, je remplacerait naivement http par https dans /etc/apt/sources.list et /etc/apt/sources.list.d/raspi.list

Oui c’est ce que j’ai fait.
Merci pour l’aide en tout cas.

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.