Instale el paquete Homebrew e ignore el hash md5

9

Estoy tratando de instalar algún software usando homebrew, y cuando descargo e intento instalar una de las dependencias, el paquete no se instalará debido a una falta de coincidencia MD5.

¿Es posible hacer que homebrew ignore el hash MD5 de un archivo y continúe con la instalación?

Pervez Choudhury
fuente
¿Podría decirnos qué paquete y si ya ha actualizado Homebrew a la última versión?
slhck
Descargue manualmente, md5 filename.extension y brew edit formula-name, reemplace ese hash md5 allí.
Tuan Anh Tran

Respuestas:

8

Como un comentario dejó en su OP mencionado: Me preocuparía que las sumas de MD5 no coincidieran. Podría significar que el tarball que está descargando está dañado, en cuyo caso, hacer lo anterior para anular el partido realmente le causará problemas porque instalará herramientas rotas. O podría ser que no se puede confiar en el tarball que está descargando, que se le está dando algo que no es legítimo y contiene rutinas potencialmente dañinas. Me aseguraría de que tu repositorio homebrew esté actualizado con:

brew update

Si de hecho está actualizado, puede probar:

brew install --force <package>

para forzar la instalación. Esa opción generalmente solo fuerza la reinstalación de un paquete ya instalado de la misma versión, pero puede ignorar un error MD5. Revisé la rutina de instalación homebrewpero no era evidente que esto funcionaría.

En el peor de los casos: puede descargar el tarball para la fórmula, calcular el MD5 a mano y luego actualizar el archivo de Fórmula con el valor MD5 apropiado para pasar la verificación. Por ejemplo, si tenía problemas para instalar dos2unix, encontrará el archivo de fórmula en /usr/local/Library/Formula/dos2unix.rb. En la parte superior del archivo está el tarball y la suma MD5 para ello:

> 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 verificación MD5 falla, descargue el 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]

Calcule la suma de comprobación MD5 para el archivo usted mismo:

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

Y luego ingrese el valor que calculó en el archivo de fórmula para el paquete y vuelva a ejecutar el comando de instalación para el paquete.

Ian C.
fuente
1
@NewAlexandria sí, y menciono las preocupaciones con hacer esto en el primer párrafo de mi respuesta.
Ian C.
1

Tuve el mismo problema hace unos minutos con una fórmula que estaba tratando de instalar. Intenté ejecutar la instalación con el indicador --force, sin embargo, eso no anuló la verificación MD5 (lo cual tiene sentido TBH).

Siguiendo el consejo dado por Ian C. en su respuesta, seguí adelante y ejecuté 'brew update'. Después de que terminé, pude ejecutar la instalación de la fórmula que estaba intentando instalar y funcionó perfectamente / ya no hubo una falta de coincidencia MD5.

Aquí hay un enlace a un problema en el repositorio de Homebrew (este con respecto a httrack, que era lo que estaba tratando de instalar cuando me encontré con esto) que básicamente confirma que ejecutar 'brew update' debería solucionar su problema.

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

Si ejecutar 'brew update' no soluciona el problema, entonces tampoco:

  • A) El hash MD5 dentro de la fórmula está desactualizado y necesita actualizarse.
  • B) La descarga no es realmente lo que se esperaba y algo está realmente funcionando.

En el caso de A, puede actualizar la fórmula usted mismo, como lo describió Ian C.

En el caso de B, la fórmula puede estar haciendo referencia a una URL anterior o la descarga puede estar interrumpida o hacer referencia al archivo incorrecto, etc. o similar.

Arthur D'Antonio III
fuente