Installa il pacchetto Homebrew e ignora l'hash md5


9

Sto cercando di installare alcuni software usando homebrew e quando si scarica e si tenta di installare una delle dipendenze, il pacchetto non verrà installato a causa di una mancata corrispondenza MD5.

È possibile ottenere homebrew per ignorare l'hash MD5 di un file e continuare con l'installazione?


Ci diresti quale pacchetto e se hai già aggiornato Homebrew all'ultima versione?
slhck,

Scarica manualmente, md5 nomefile.estensione e modifica modifica nome-formula, sostituisci lì l'hash md5.
Tuan Anh Tran,

Risposte:


8

Come un commento lasciato sul tuo PO menzionato: sarei preoccupato che le somme MD5 non corrispondessero. Potrebbe significare che il tarball che stai scaricando è corrotto, nel qual caso fare ciò che precede per sovrascrivere la partita causerà effettivamente problemi perché installerai strumenti rotti. Oppure potrebbe non essere affidabile il tarball che stai scaricando, che ti viene dato qualcosa che non è legittimo e contiene routine potenzialmente dannose. Mi assicurerei che il tuo repository homebrew sia aggiornato con:

brew update

Se effettivamente è aggiornato puoi provare:

brew install --force <package>

per forzare l'installazione. Tale opzione di solito forza solo una reinstallazione di un pacchetto già installato della stessa versione ma può ignorare un errore MD5. Ho esaminato la routine di installazione homebrewma non era chiaro che avrebbe funzionato.

Caso peggiore: potresti semplicemente scaricare il tarball per la formula, calcolare manualmente MD5 per esso e quindi aggiornare il file Formula con il valore MD5 appropriato per superare il controllo. Ad esempio, se hai avuto problemi con l'installazione di dos2unix, trovi il file della formula in /usr/local/Library/Formula/dos2unix.rb. Nella parte superiore del file si trova il tarball e la somma MD5 per esso:

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

Se il controllo MD5 non riesce, scarica il 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]

Calcola tu stesso il checksum MD5 per il file:

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

Quindi immettere il valore calcolato nel file della formula per il bundle ed eseguire nuovamente il comando install per il bundle.


1
@NewAlexandria sì, e menziono le preoccupazioni nel farlo nel primo paragrafo della mia risposta.
Ian C.

1

Ho avuto lo stesso problema solo pochi minuti fa con una formula che stavo cercando di installare. Ho provato a eseguire l'installazione con il flag --force ma non ha ignorato il controllo MD5 (il che ha senso TBH).

Seguendo il consiglio dato da Ian C. nella sua risposta, sono andato avanti e ho eseguito "brew update". Al termine sono stato in grado di eseguire l'installazione per la formula che stavo tentando di installare e ha funzionato perfettamente / non c'era più una mancata corrispondenza MD5.

Ecco un link a un problema nel repository Homebrew (questo per quanto riguarda httrack, che era quello che stavo tentando di installare quando mi sono imbattuto in questo) che sostanzialmente conferma che l'esecuzione di "brew update" dovrebbe risolvere il tuo problema.

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

Se l'esecuzione di "brew update" non risolve il problema, allora:

  • A) L'hash MD5 all'interno della formula è obsoleto e deve essere aggiornato.
  • B) Il download non è in realtà ciò che ci si aspetta e qualcosa è effettivamente funzionante.

Nel caso di A, puoi aggiornare tu stesso la formula come descritto da Ian C. - sei anche decisamente incoraggiato a inviare una richiesta pull per aggiornarla nel repository upstream affinché anche tutti ne possano beneficiare!

Nel caso di B, la formula potrebbe fare riferimento a un vecchio URL o il download potrebbe essere interrotto o fare riferimento al file errato, ecc. - In questo caso probabilmente dovrai fare qualche ricerca e continuare da lì contattando il proprietario del progetto o simili.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.