Installieren Sie das Homebrew-Paket und ignorieren Sie den MD5-Hash

9

Ich versuche, eine Software mit Homebrew zu installieren. Beim Herunterladen und Installieren einer der Abhängigkeiten wird das Paket aufgrund einer MD5-Nichtübereinstimmung nicht installiert.

Ist es möglich, Homebrew dazu zu bringen, den MD5-Hash einer Datei zu ignorieren und mit der Installation fortzufahren?

Pervez Choudhury
quelle
Würden Sie uns mitteilen, welches Paket und ob Sie Homebrew bereits auf die neueste Version aktualisiert haben?
Slhck
Laden Sie md5 filename.extension manuell herunter und brauen Sie den Formelnamen bearbeiten. Ersetzen Sie dort den md5-Hash.
Tuan Anh Tran

Antworten:

8

In einem Kommentar zu Ihrem OP heißt es: Ich würde mir Sorgen machen, dass die MD5-Summen nicht übereinstimmen. Dies könnte bedeuten, dass der Tarball, den Sie herunterladen, beschädigt ist. In diesem Fall verursachen die oben genannten Schritte zum Überschreiben des Spiels tatsächlich Probleme, da Sie defekte Tools installieren. Oder es kann sein, dass dem Tarball, den Sie herunterladen, nicht vertraut werden kann, dass Sie etwas erhalten, das nicht legitim ist und potenziell schädliche Routinen enthält. Ich würde sicherstellen, dass Ihr Homebrew-Repository auf dem neuesten Stand ist mit:

brew update

Wenn es tatsächlich aktuell ist, können Sie versuchen:

brew install --force <package>

um die Installation zu erzwingen. Diese Option erzwingt normalerweise nur eine Neuinstallation eines bereits installierten Pakets derselben Version, ignoriert jedoch möglicherweise einen MD5-Fehler. Ich habe die Installationsroutine durchgesehen, homebrewaber es war nicht klar, dass dies funktionieren würde.

Schlimmer noch: Sie können einfach den Tarball für die Formel herunterladen, den MD5 von Hand berechnen und dann die Formeldatei mit dem entsprechenden MD5-Wert aktualisieren, um die Prüfung zu bestehen. Wenn Sie beispielsweise Probleme bei der Installation von dos2unix hatten, finden Sie die Formeldatei in /usr/local/Library/Formula/dos2unix.rb. Am Anfang der Datei befindet sich der Tarball und die MD5-Summe dafür:

> 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'

Wenn die MD5-Prüfung fehlschlägt, laden Sie den Tarball herunter:

> 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]

Berechnen Sie die MD5-Prüfsumme für die Datei selbst:

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

Geben Sie dann den von Ihnen berechneten Wert in die Formeldatei für das Bundle ein und führen Sie den Installationsbefehl für das Bundle erneut aus.

Ian C.
quelle
1
@NewAlexandria ja, und ich erwähne die Bedenken, dies zu tun, im ersten Absatz meiner Antwort.
Ian C.
1

Ich hatte vor ein paar Minuten das gleiche Problem mit einer Formel, die ich installieren wollte. Ich habe versucht, die Installation mit dem Flag --force auszuführen, ohne jedoch die MD5-Prüfung zu überschreiben (was TBH sinnvoll macht).

Nach dem Rat von Ian C. in seiner Antwort ging ich voran und führte 'Brew Update' durch. Nachdem dies abgeschlossen war, konnte ich die Installation für die Formel ausführen, die ich zu installieren versuchte, und es funktionierte perfekt / es gab keine MD5-Nichtübereinstimmung mehr.

Hier ist ein Link zu einem Problem im Homebrew-Repo (dieses bezüglich httrack, das ich zu installieren versuchte, als ich darauf stieß), das im Grunde nur bestätigt, dass das Ausführen von "Brew Update" Ihr Problem beheben sollte.

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

Wenn das Problem durch Ausführen von 'Brew Update' nicht behoben werden kann:

  • A) Der MD5-Hash in der Formel ist veraltet und muss aktualisiert werden.
  • B) Der Download entspricht nicht den Erwartungen und es läuft tatsächlich etwas.

Im Fall von A können Sie die Formel selbst aktualisieren, wie von Ian C. beschrieben. Sie werden außerdem auf jeden Fall aufgefordert, eine Pull-Anfrage einzureichen, um sie im Upstream-Repo zu aktualisieren, damit auch alle davon profitieren können!

Im Fall von B verweist die Formel möglicherweise auf eine alte URL oder der Download ist möglicherweise fehlerhaft oder verweist auf die falsche Datei usw. In diesem Fall müssen Sie wahrscheinlich einige Nachforschungen anstellen und von dort aus fortfahren, indem Sie sich an den Projektbesitzer wenden oder ähnliches.

Arthur D'Antonio III
quelle