Instal paket Homebrew dan abaikan hash md5

9

Saya mencoba menginstal beberapa perangkat lunak menggunakan homebrew, dan ketika mengunduh dan mencoba menginstal salah satu dependensi, paket tidak akan menginstal karena ketidakcocokan MD5.

Apakah mungkin untuk mendapatkan homebrew untuk mengabaikan hash MD5 file dan melanjutkan instalasi?

Pervez Choudhury
sumber
Maukah Anda memberi tahu kami paket mana, dan jika Anda sudah memperbarui Homebrew ke versi terbaru?
slhck
Unduh secara manual, md5 filename.extension dan buat edit nama formula, ganti hash md5 di sana.
Tuan Anh Tran

Jawaban:

8

Sebagaimana satu komentar di OP Anda menyebutkan: Saya khawatir bahwa jumlah MD5 tidak cocok. Ini bisa berarti tarball yang Anda unduh korup, dalam hal melakukan hal di atas untuk menimpa pertandingan sebenarnya akan menyebabkan masalah karena Anda akan menginstal alat yang rusak. Atau bisa jadi tarball yang Anda unduh tidak dapat dipercaya, bahwa Anda diberi sesuatu yang tidak sah dan berisi rutinitas yang berpotensi berbahaya. Saya akan memastikan Anda memiliki repositori buatan sendiri yang terkini dengan:

brew update

Jika memang itu yang terbaru, Anda dapat mencoba:

brew install --force <package>

untuk memaksa instalasi. Opsi itu biasanya hanya memaksa instalasi ulang paket yang sudah diinstal dari versi yang sama tetapi mungkin mengabaikan kesalahan MD5. Saya menyodok melalui instalasi rutin homebrewtetapi tidak jelas ini akan berhasil.

Kasus yang lebih buruk: Anda bisa mengunduh tarball untuk formula, menghitung MD5 untuknya dengan tangan dan kemudian memperbarui file Formula dengan nilai MD5 yang sesuai untuk melewati pemeriksaan. Misalnya, jika Anda mengalami masalah dalam menginstal dos2unix Anda menemukan file formula di /usr/local/Library/Formula/dos2unix.rb. Di atas file adalah tarball dan jumlah MD5 untuk itu:

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

Jika pemeriksaan MD5 gagal, unduh 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]

Hitung sendiri checksum MD5 untuk file:

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

Dan kemudian masukkan nilai yang Anda hitung ke file rumus untuk bundel dan jalankan kembali perintah install untuk bundel.

Ian C.
sumber
1
@NewAlexandria ya, dan saya menyebutkan kekhawatiran dengan melakukan ini pada paragraf pertama dari jawaban saya.
Ian C.
1

Saya memiliki masalah yang sama hanya beberapa menit yang lalu dengan formula yang saya coba instal. Saya mencoba menjalankan instalasi dengan flag --force namun itu tidak mengesampingkan pemeriksaan MD5 (yang masuk akal TBH).

Mengikuti saran yang diberikan oleh Ian C. dalam jawabannya, saya melanjutkan dan menjalankan 'brew update'. Setelah selesai saya dapat menjalankan instalasi untuk formula yang saya coba instal & berfungsi dengan baik / tidak ada lagi ketidakcocokan MD5.

Berikut ini tautan ke masalah dalam repo Homebrew (yang ini tentang httrack, yang saya coba instal ketika saya menemukan ini) yang pada dasarnya hanya mengkonfirmasi bahwa menjalankan 'brew update' harus memperbaiki masalah Anda.

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

Jika menjalankan 'pembaruan minuman' tidak memperbaiki masalah, maka:

  • A) hash MD5 dalam formula sudah usang & perlu diperbarui.
  • B) Pengunduhan sebenarnya bukan apa yang diharapkan dan ada sesuatu yang benar-benar terjadi.

Dalam kasus A, Anda dapat memperbarui formula sendiri seperti yang dijelaskan Ian C. - Anda juga didorong untuk mengirimkan permintaan tarik untuk memperbaruinya di repo hulu agar semua orang mendapat manfaat juga!

Dalam kasus B, rumus mungkin merujuk ke URL lama atau unduhan mungkin rusak atau merujuk file yang salah, dll. - dalam hal ini Anda mungkin harus melakukan riset dan melanjutkan dari sana dengan menghubungi pemilik proyek atau serupa.

Arthur D'Antonio III
sumber