9 votes

Installer le paquet Homebrew et ignorer le hachage md5

J'essaie d'installer un logiciel en utilisant homebrew, et lorsque je télécharge et essaie d'installer l'une des dépendances, le paquet ne s'installe pas en raison d'une non-concordance MD5.

Est-il possible de faire en sorte que homebrew ignore le hachage MD5 d'un fichier et poursuive l'installation ?

9voto

shsteimer Points 8749

Comme le mentionne un commentaire laissé sur votre OP : Je serais inquiet que les sommes MD5 ne correspondent pas. Cela pourrait signifier que l'archive que vous téléchargez est corrompue, et dans ce cas, faire ce qui précède pour annuler la correspondance vous causera des problèmes car vous installerez des outils défectueux. Ou bien, il se peut que le fichier tarball que vous téléchargez ne soit pas fiable, que l'on vous donne quelque chose qui n'est pas légal et qui contient des routines potentiellement dangereuses. Je m'assurerais que votre dépôt de homebrew est à jour :

brew update

Si elle est effectivement à jour, vous pouvez essayer :

brew install --force <package>

pour forcer l'installation. Cette option force généralement la réinstallation d'un paquetage déjà installé de la même version, mais elle peut ignorer une erreur MD5. J'ai parcouru la routine d'installation dans homebrew mais il n'était pas évident que cela fonctionnerait.

Dans le pire des cas, vous pouvez simplement télécharger le tarball de la formule, calculer le MD5 à la main, puis mettre à jour le fichier de formule avec la valeur MD5 appropriée pour passer la vérification. Par exemple, si vous avez des difficultés à installer dos2unix, vous trouverez le fichier de formule dans le répertoire /usr/local/Library/Formula/dos2unix.rb . En haut du fichier se trouve le tarball et la somme MD5 de celui-ci :

> more dos2unix.rb 
require 'formula'

class Dos2unix < Formula
  url 'http://waterlan.home.xs4all.nl/dos2unix/dos2unix-5.3.1.tar.gz'
  md5 '438c48ebd6891b80b58de14c022ca69e'
  homepage 'http://waterlan.home.xs4all.nl/dos2unix.html'

Si la vérification MD5 échoue, téléchargez l'archive tarball :

> wget http://waterlan.home.xs4all.nl/dos2unix/dos2unix-5.3.1.tar.gz
--2012-03-17 18:07:07--  http://waterlan.home.xs4all.nl/dos2unix/dos2unix-5.3.1.tar.gz
Resolving waterlan.home.xs4all.nl... 194.109.6.92, 2001:888:0:18::80
Connecting to waterlan.home.xs4all.nl|194.109.6.92|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 54967 (54K) [application/x-gzip]
Saving to: `dos2unix-5.3.1.tar.gz'

100%[==============================================================================================================>] 54,967      84.8K/s   in 0.6s    

2012-03-17 18:07:09 (84.8 KB/s) - `dos2unix-5.3.1.tar.gz' saved [54967/54967]

Calculez vous-même la somme de contrôle MD5 du fichier :

> md5 dos2unix-5.3.1.tar.gz 
MD5 (dos2unix-5.3.1.tar.gz) = 438c48ebd6891b80b58de14c022ca69e

Ensuite, entrez la valeur que vous avez calculée dans le fichier de formule pour le lot et exécutez à nouveau la commande d'installation du lot.

1voto

Kiley Hykawy Points 411

J'ai eu le même problème il y a quelques minutes avec une formule que j'essayais d'installer. J'ai essayé de lancer l'installation avec le drapeau --force, mais cela n'a pas annulé la vérification MD5 (ce qui est logique).

En suivant les conseils donnés par Ian C. dans sa réponse, j'ai lancé 'brew update'. Après cela, j'ai pu lancer l'installation de la formule que j'essayais d'installer et cela a parfaitement fonctionné / il n'y avait plus de différence entre les MD5.

Voici un lien vers un problème dans le repo Homebrew (celui-ci concernant httrack, qui était ce que j'essayais d'installer quand je suis tombé dessus) qui confirme simplement que l'exécution de 'brew update' devrait résoudre votre problème.

https://github.com/mxcl/homebrew/issues/11242

Si l'exécution de 'brew update' ne résout pas le problème, alors soit :

  • A) Le hachage MD5 de la formule est obsolète et doit être mis à jour.
  • B) Le téléchargement ne correspond pas à ce que l'on attend et il se passe quelque chose.

Dans le cas de A, vous pouvez mettre à jour la formule vous-même comme Ian C. l'a décrit - vous êtes également encouragé à soumettre une demande de pull pour la mettre à jour dans le repo amont pour que tout le monde en profite aussi !

Dans le cas de B, la formule peut faire référence à une ancienne URL ou le téléchargement peut être interrompu ou faire référence au mauvais fichier, etc. - Dans ce cas, vous devrez probablement faire des recherches et continuer à partir de là en contactant le propriétaire du projet ou autre.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X