Installez le package Homebrew et ignorez le hachage md5

9

J'essaie d'installer certains logiciels en utilisant homebrew, et lors du téléchargement et de l'installation d'une des dépendances, le package ne s'installe pas en raison d'une incompatibilité MD5.

Est-il possible d'obtenir un homebrew pour ignorer le hachage MD5 d'un fichier et poursuivre l'installation?

Pervez Choudhury
la source
Pourriez-vous nous dire quel package, et si vous avez déjà mis à jour Homebrew vers la dernière version?
slhck
Téléchargez manuellement, md5 filename.extension et brew edit formula-name, remplacez ce hachage md5.
Tuan Anh Tran

Réponses:

8

Comme un commentaire laissé sur votre PO l'a mentionné: je crains que les sommes MD5 ne correspondent pas. Cela pourrait signifier que l'archive tar que vous téléchargez est corrompue, auquel cas faire ce qui précède pour remplacer la correspondance vous causera des problèmes car vous installerez des outils cassés. Ou il se peut que l'archive que vous téléchargez ne soit pas fiable, que l'on vous donne quelque chose qui n'est pas légitime et qui contient des routines potentiellement dangereuses. Je m'assurerais que votre dépôt homebrew est à jour avec:

brew update

Si en effet il est à jour, vous pouvez essayer:

brew install --force <package>

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

Pire: vous pouvez simplement télécharger l'archive tar de la formule, calculer manuellement le MD5, puis mettre à jour le fichier de formule avec la valeur MD5 appropriée pour passer le contrôle. Par exemple, si vous rencontrez des problèmes pour installer dos2unix, vous trouverez le fichier de formule dans /usr/local/Library/Formula/dos2unix.rb. En haut du fichier se trouve l'archive tar et la somme MD5:

> 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 tar:

> 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 bundle et réexécutez la commande d'installation pour le bundle.

Ian C.
la source
1
@NewAlexandria oui, et je mentionne les préoccupations liées à cette opération dans le premier paragraphe de ma réponse.
Ian C.
1

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

En suivant les conseils donnés par Ian C. dans sa réponse, je suis allé de l'avant et j'ai exécuté «mise à jour de la bière». Après cela, j'ai pu exécuter l'installation de la formule que j'essayais d'installer et cela a fonctionné parfaitement / il n'y avait plus de décalage MD5.

Voici un lien vers un problème dans le référentiel Homebrew (celui-ci concernant httrack, qui était ce que j'essayais d'installer lorsque je suis tombé sur ce problème), ce qui confirme simplement que l'exécution de la `` mise à jour de brassage '' devrait résoudre votre problème.

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

Si l'exécution de la mise à jour de brassage ne résout pas le problème, alors:

  • A) Le hachage MD5 dans la formule est obsolète et doit être mis à jour.
  • B) Le téléchargement n'est pas vraiment ce qui est attendu et quelque chose est en train de se produire.

Dans le cas de A, vous pouvez mettre à jour la formule vous-même comme décrit par Ian C. - vous êtes également fortement encouragé à soumettre une demande d'extraction pour la mettre à jour dans le référentiel en 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 rompu 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 similaire.

Arthur D'Antonio III
la source