ติดตั้งแพคเกจ Homebrew และละเว้น md5 hash


9

ฉันกำลังพยายามติดตั้งซอฟต์แวร์บางอย่างโดยใช้ homebrew และเมื่อดาวน์โหลดและพยายามติดตั้งการอ้างอิงอย่างใดอย่างหนึ่งแพคเกจจะไม่ติดตั้งเนื่องจาก MD5 ไม่ตรงกัน

เป็นไปได้ไหมที่จะทำให้ homebrew ละเว้นการแฮช MD5 ของไฟล์และดำเนินการติดตั้งต่อไป?


คุณจะบอกเราว่าแพคเกจใดและถ้าคุณได้อัพเดต Homebrew เป็นเวอร์ชันล่าสุดแล้ว
slhck

ดาวน์โหลดด้วยตนเอง, md5 filename.extension และชงแก้ไขชื่อสูตรแทนที่ md5 แฮชที่นั่น
Tuan Anh Tran

คำตอบ:


8

ในฐานะที่เป็นหนึ่งความคิดเห็นที่เหลือใน OP ของคุณกล่าวถึง: ฉันจะกังวลว่าผลรวม MD5 ไม่ตรงกัน อาจหมายถึง tarball ที่คุณดาวน์โหลดเสียหายซึ่งในกรณีดังกล่าวข้างต้นเพื่อแทนที่การจับคู่จริง ๆ แล้วจะทำให้คุณมีปัญหาเพราะคุณจะติดตั้งเครื่องมือที่ใช้งานไม่ได้ หรืออาจเป็นไปได้ว่า tarball ที่คุณดาวน์โหลดไม่สามารถเชื่อถือได้ว่าคุณได้รับสิ่งที่ไม่ถูกต้องและมีการปฏิบัติที่อาจเป็นอันตราย ฉันต้องแน่ใจว่าคุณเป็นที่เก็บ homebrew เป็นปัจจุบันด้วย:

brew update

หากเป็นข้อมูลล่าสุดคุณสามารถลอง:

brew install --force <package>

เพื่อบังคับให้ติดตั้ง ตัวเลือกนั้นมักจะบังคับให้ติดตั้งแพคเกจที่ติดตั้งแล้วของรุ่นเดียวกันอีกครั้ง แต่อาจละเว้นข้อผิดพลาด MD5 ฉันแหย่ผ่านรูทีนการติดตั้งในhomebrewแต่มันก็ไม่ชัดเจนว่าจะทำงานได้

กรณีที่เลวร้ายยิ่ง: คุณสามารถดาวน์โหลด tarball สำหรับสูตรคำนวณ MD5 ด้วยมือแล้วอัปเดตไฟล์สูตรด้วยค่า MD5 ที่เหมาะสมเพื่อให้ผ่านการตรวจสอบ ตัวอย่างเช่นถ้าคุณกำลังมีปัญหาในการติดตั้ง dos2unix /usr/local/Library/Formula/dos2unix.rbคุณพบไฟล์สูตรใน ที่ด้านบนของไฟล์คือ tarball และผลรวมของ 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'

หากการตรวจสอบ MD5 ล้มเหลวให้ดาวน์โหลด 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]

คำนวณ MD5 checksum สำหรับไฟล์ด้วยตัวคุณเอง:

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

จากนั้นป้อนค่าที่คุณคำนวณในไฟล์สูตรสำหรับบันเดิลและรันคำสั่ง install สำหรับบันเดิลอีกครั้ง


1
@ NewAlexandria ใช่และฉันพูดถึงความกังวลด้วยการทำเช่นนี้ในวรรคแรกของคำตอบของฉัน
Ian C.

1

ฉันมีปัญหาเดียวกันเมื่อไม่กี่นาทีที่ผ่านมาด้วยสูตรที่ฉันพยายามจะติดตั้ง ฉันพยายามเรียกใช้การติดตั้งด้วย --force สถานะ แต่ไม่ได้แทนที่การตรวจสอบ MD5 (ซึ่งสมเหตุสมผล TBH)

ทำตามคำแนะนำของ Ian C. ในคำตอบของเขาฉันไปข้างหน้าและวิ่งไปที่ 'brew update' หลังจากนั้นฉันสามารถรันการติดตั้งสำหรับสูตรที่ฉันพยายามติดตั้ง & มันทำงานได้อย่างสมบูรณ์ / ไม่มี MD5 ไม่ตรงกันอีกต่อไป

นี่คือลิงค์ของปัญหาใน Homebrew repo (อันนี้เกี่ยวกับ httrack ซึ่งเป็นสิ่งที่ฉันพยายามจะติดตั้งเมื่อฉันเจอสิ่งนี้) ซึ่งโดยทั่วไปเพิ่งยืนยันว่าการเรียกใช้ 'การอัพเดตชง' ควรแก้ไขปัญหาของคุณ

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

หากใช้งาน 'การอัพเดตการชง' ไม่สามารถแก้ไขปัญหาได้เช่นกัน:

  • A) MD5 แฮชภายในสูตรล้าสมัยและจำเป็นต้องได้รับการอัพเดท
  • B) การดาวน์โหลดไม่ใช่สิ่งที่คาดหวังและมีบางอย่างเกิดขึ้นจริง

ในกรณีของ A คุณสามารถอัปเดตสูตรด้วยตัวเองตามที่ Ian C. อธิบายไว้ - คุณควรสนับสนุนให้ส่งคำขอดึงเพื่อให้ได้รับการอัปเดตใน repo อัปสตรีมเพื่อให้ทุกคนได้รับประโยชน์เช่นกัน!

ในกรณีของ B สูตรอาจอ้างอิง URL เก่าหรือการดาวน์โหลดอาจใช้งานไม่ได้หรืออ้างอิงไฟล์ผิดเป็นต้น - ในกรณีนี้คุณอาจต้องทำการวิจัยและดำเนินการต่อจากที่นั่นโดยติดต่อเจ้าของโครงการ หรือคล้ายกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.