9 votos

Instalar el paquete Homebrew e ignorar el hash md5

Estoy tratando de instalar un software usando homebrew, y al descargar e intentar instalar una de las dependencias, el paquete no se instala debido a una falta de coincidencia MD5.

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

8voto

shsteimer Puntos 8749

Como mencionó un comentario en su OP: Me preocuparía que las sumas MD5 no coincidieran. Podría significar que el tarball que estás descargando está corrupto, en cuyo caso hacer lo anterior para anular la coincidencia en realidad te causará problemas porque estarás instalando herramientas rotas. O podría ser que el tarball que estás descargando no es de confianza, que te están dando algo que no es legítimo y contiene rutinas potencialmente dañinas. Yo me aseguraría de que tu repositorio homebrew está actualizado con:

brew update

Si efectivamente está actualizado puedes probar:

brew install --force <package>

para forzar la instalación. Esa opción normalmente sólo fuerza una reinstalación de un paquete ya instalado de la misma versión, pero puede ignorar un error MD5. He mirado la rutina de instalación en homebrew pero no era evidente que esto fuera a funcionar.

En el peor de los casos: podrías simplemente descargar el tarball de la fórmula, calcular el MD5 para ella a mano y luego actualizar el archivo de la fórmula con el valor MD5 apropiado para pasar la comprobación. Por ejemplo, si tiene 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 del mismo:

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

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

A continuación, introduzca el valor que ha calculado en el archivo de fórmula para el paquete y vuelva a ejecutar el comando de instalación del paquete.

1voto

Kiley Hykawy Puntos 411

He tenido el mismo problema hace unos minutos con una fórmula que estaba intentando instalar. Traté de ejecutar la instalación con la bandera --force, sin embargo, que no anula la comprobación MD5 (que tiene sentido TBH).

Siguiendo el consejo dado por Ian C. en su respuesta, seguí adelante y ejecuté 'brew update'. Después de que terminó yo era capaz de ejecutar la instalación de la fórmula que estaba tratando de instalar & funcionó perfectamente / ya no había un desajuste MD5.

Aquí hay un enlace a un problema en el repositorio de Homebrew (este en relación con httrack, que era lo que estaba tratando de instalar cuando me encontré con esto) que básicamente confirma que la ejecución de 'brew update' debe arreglar su problema.

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

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

  • A) El hash MD5 de la fórmula está obsoleto y debe ser actualizado.
  • B) La descarga no es realmente lo que se espera y algo pasa en realidad.

En el caso de A, puedes actualizar la fórmula tú mismo, tal y como ha descrito Ian C. - ¡también te animamos a que envíes un pull request para que se actualice en el repo de aguas arriba para que todo el mundo se beneficie 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 hacer referencia a un archivo equivocado, etc. - En este caso, es probable que tengas que investigar un poco y continuar a partir de ahí poniéndote en contacto con el propietario del proyecto o algo similar.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X