Instalar el paquete Homebrew e ignorar el hash md5

9

Estoy intentando instalar algún software usando homebrew, y al descargar e intentar instalar una de las dependencias, el paquete no se instalará debido a una discrepancia de MD5.

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

    
pregunta Pervez Choudhury 15.01.2012 - 14:50

2 respuestas

8

Como mencionó un comentario en su OP: Me preocuparía que las sumas de MD5 no coincidieran. Podría significar que el archivo comprimido que está descargando está dañado, en cuyo caso hacer lo anterior para anular la coincidencia realmente le causará problemas porque instalará herramientas dañadas. O podría ser que no se pueda confiar en el tarball que estás descargando, que te den algo que no es legítimo y contiene rutinas potencialmente dañinas. Me aseguraría de que tu repositorio casero esté actualizado con:

brew update

Si de hecho está actualizado, puedes intentarlo:

brew install --force <package>

para forzar la instalación. Esa opción generalmente obliga a una reinstalación de un paquete ya instalado de la misma versión, pero puede ignorar un error MD5. Hojeé la rutina de instalación en homebrew pero no estaba claro que esto funcionaría.

En el peor de los casos: simplemente puede descargar el archivo comprimido para la fórmula, calcular el MD5 para él a mano y luego actualizar el archivo de Fórmula con el valor adecuado de MD5 para pasar la comprobación. Por ejemplo, si tuvo problemas para instalar dos2unix, encontrará el archivo de fórmula en /usr/local/Library/Formula/dos2unix.rb . En la parte superior del archivo se encuentra el archivo tar y la suma 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 comprobación MD5 está fallando, descargue el archivo comprimido:

> 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 usted mismo la suma de comprobación MD5 para el archivo:

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

    
respondido por el Ian C. 17.03.2012 - 23:09
1

Hace unos minutos tuve el mismo problema con una fórmula que estaba intentando instalar. Intenté ejecutar la instalación con el indicador --force, sin embargo, no se anuló la comprobación MD5 (lo que tiene sentido TBH).

Siguiendo los consejos dados por Ian C. en su respuesta, seguí adelante y ejecuté 'brew update'. Después de que terminé, pude ejecutar la instalación para la fórmula que estaba intentando instalar & funcionó perfectamente / ya no había un desajuste MD5.

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

enlace

Si la ejecución de 'brew update' no soluciona el problema, entonces:

  • A) El hash MD5 dentro de la fórmula está desactualizado & necesita actualizarse.
  • B) La descarga no es en realidad lo que se espera y algo está en marcha.

En el caso de A, puede actualizar la fórmula usted mismo como lo describió Ian C. - ¡definitivamente también se le recomienda enviar una solicitud de extracción para que se actualice en el repositorio ascendente para que todos se beneficien también!

En el caso de B, la fórmula puede estar haciendo referencia a una URL antigua o la descarga puede estar rota o al archivo incorrecto, etc. - en este caso, es probable que tenga que hacer una investigación y continuar desde allí contactando El propietario del proyecto o similar.

    
respondido por el Arthur D'Antonio III 12.05.2012 - 17:05

Lea otras preguntas en las etiquetas