ฉันจะติดตั้ง ImageMagick เวอร์ชันอัปสตรีมล่าสุดโดยไม่ต้องคอมไพล์ได้อย่างไร


15

ฉันมีปัญหาบางอย่างกับ ImageMagick และฉันได้รับการบอกว่าแพ็คเกจ ImageMagick ที่เป็นค่าเริ่มต้นของ Ubuntu เป็นรุ่นเก่าและฉันควรอัพเกรดเพื่อแก้ไขปัญหาของฉัน

ฉันจะทำสิ่งนั้นได้อย่างไร ฉันมี Ubuntu รุ่นล่าสุด (12.10) Synaptic แสดงให้ฉันเห็นว่า8:6.7.7.10-2ubuntu4เป็น IM เวอร์ชันล่าสุด มันหมายความว่าเวอร์ชั่น IM ของฉันคือ6.7.7.10( convert --versionส่งออกเหมือนกัน) IM ไม่ได้จัดเตรียมไบนารีของตัวเอง Debian มีสิ่งที่ใหม่กว่าแต่ในสาขาการทดสอบ / ทดลองบางสาขาถ้าฉันเข้าใจดี ฉันพบIM บน Launchpadแต่ไม่มีคำแนะนำวิธีเพิ่มสิ่งนี้ลงในแหล่งที่มาของฉันดูเหมือนว่าไม่ใช่หนึ่งใน PPA ปกติที่ฉันพบเมื่อค้นหาซอฟต์แวร์ล่าสุด / เบต้า ฉันไม่รู้วิธีทำงานกับอันนี้

มีวิธีทำเครื่องหมายแพคเกจที่จะนำมาจากบางแหล่งเลือดขอบและปล่อยให้ระบบของฉันเหลือจากแหล่งมาตรฐานหรือไม่ มันน่าจะดีที่สุดในการอัพเกรดเป็นเวอร์ชั่นเสถียรล่าสุดของ IM ( 6.8) แต่นั่นอาจเป็นไซไฟเพราะไม่ได้อยู่ในเดเบียน 6.7.9แต่ผมต้องไม่น้อยกว่า


หมายเหตุ:ฉันต้องการหลีกเลี่ยงการรวบรวมจากแหล่งที่มา ฉันเกลียดการติดตั้งบางอย่างและไม่สามารถจัดการกับมันได้อย่างง่ายดายด้วยapt-getหรือ Synaptic นอกจากนี้ยังไม่มีการอัพเดทสำหรับโปรแกรมที่คอมไพล์แล้ว ฉันจะรวบรวมเสมอฉันรู้สึกเหมือนจะขัดกับระบบเช่นการใช้กาวสายไฟและเทปเป็ด ไม่ฉันไม่ต้องการรวบรวมมันอย่างแน่นอน


วิธีที่ง่ายที่สุดในการรับเวอร์ชันใหม่คือการช่วยในการบรรจุเวอร์ชันใหม่และอัปโหลดให้กับผู้ดูแล แนะนำให้เข้าร่วมทีมlaunchpad.net/imagemagickหรือทำงานต้นน้ำอย่างยิ่ง
fossfreedom

น่าจะเป็นเรื่องดี แต่ฉันเป็นนักพัฒนา Python ที่ไม่มีความรู้เกี่ยวกับบรรจุภัณฑ์ Ubuntu / Debian อย่างจริงจังดังนั้นจึงเป็นเรื่องที่ค่อนข้างเหมาะสำหรับผู้ที่ใกล้ชิดกับ DevOps / บรรจุภัณฑ์ / การจัดการ UNIX ฉันจะช่วยให้โลกโดยการเขียนที่มาเปิดห้องสมุดหลาม :)
Honza Javorek

ไม่มีคำตอบจริงๆเท่าที่ฉันเห็นได้จากการคอมไพล์และบรรจุภัณฑ์ดังนั้นข้อเสนอแนะ
fossfreedom

ฉันรู้ว่าคุณบอกว่าคุณไม่ต้องการรวบรวม แต่สิ่งนี้อาจเป็นที่สนใจ: คุณสามารถรักษาimagemagickแพ็คเกจที่มีอยู่และการอ้างอิงด้วยวิธีนี้ได้ คุณสามารถเรียกใช้การกำหนดค่าด้วย--prefix=/optคอมไพล์โปรแกรมแล้วติดตั้ง/optด้วยcheckinstallดังนั้นคุณจึงสามารถจัดการเวอร์ชันที่คอมไพล์เป็นแพคเกจผ่านapt-getได้ หากคุณต้องการใช้เวอร์ชันใหม่คุณต้องระบุว่า /opt/bin/convertเมื่อคุณเรียกใช้convertยกเว้นว่าคุณสร้าง symlink ไม่ว่าจะด้วยวิธีใดคุณสามารถเก็บทั้งแพคเกจมาตรฐานและรุ่นที่คอมไพล์ของคุณไว้ได้

1
checkinstallดีฉันไม่ทราบเกี่ยวกับ หากฉันเข้าใจถูกต้องควรติดตั้งโปรแกรมที่คอมไพล์แล้วลงในระบบของฉันและแสดงเป็นแพ็คเกจใน Synaptic หรือมากกว่านั้นซึ่งหมายความว่าฉันสามารถลบออกได้อย่างง่ายดายและปลอดภัยในภายหลัง มันจะดีมาก!
Honza Javorek

คำตอบ:


18

โปรดทราบ:ถึงแม้ในตอนแรกHonzaจะกล่าวว่าเขาไม่ต้องการรวบรวม แต่เราได้พูดถึงcheckinstallการติดตั้งแพ็คเกจที่คอมไพล์ในความคิดเห็นข้างต้น นั่นเป็นเพียงสิ่งที่Honzaต้องการเมื่อติดตั้งโปรแกรมด้วยcheckinstallสามารถลบออกได้เหมือนกับแพ็คเกจอื่น ๆ ที่มีผู้จัดการแพ็คเกจ


ในขณะที่เรากำลังติดตั้งเพื่อ/optใช้checkinstallหลังจากการสร้างเราสามารถออกจากimagemagickแพคเกจเดิมในสถานที่ (Infact ติดตั้งรุ่นที่เก็บถ้ามันไม่ได้ติดตั้ง.) The imagemagickอ้างอิงสามารถด้านซ้ายติดตั้งและพวกเขาจะแตกต่างกันสำหรับรุ่นล่าสุดของไม่มี สิ่งที่เราต้องทำคือติดตั้ง build dependencies และเครื่องมืออื่น ๆ ก่อนอื่น:

sudo apt-get install build-essential checkinstall && sudo apt-get build-dep imagemagick

ดาวน์โหลดซอร์สโค้ดจากเว็บไซต์ทางการและโดยใช้เทอร์มินัลcdไปยังที่ที่แพคเกจต้นทางอยู่และแตกไฟล์:

tar -xzvf ImageMagick-6.8.3-9.tar.gz

ตอนนี้ย้ายไปที่โฟลเดอร์ด้วย

cd Imagemagick-6.8.3-9

ตอนนี้ถ้าคุณต้องการค้นหาตัวเลือกที่มีอยู่สำหรับบิลด์ให้รัน

./configure --help

แต่ส่วนใหญ่ทุกอย่างที่มีการตั้งค่าแล้วจึงมีน้อยต้องระบุอะไรเพิ่มเติมนอกเหนือจากที่จำเป็นenabled --prefixคุณสามารถใช้สถานที่อื่นได้ แต่เราจะใช้/optที่นี่ ตอนนี้ทำงานconfigureและmake:

./configure --prefix=/opt/imagemagick-6.8 && make

ตอนนี้สิ่งสุดท้ายที่ต้องทำคือใช้checkinstallเพื่อติดตั้งแพ็คเกจ ตรวจสอบให้แน่ใจว่าคุณอยู่ในImagemagick-6.8.3-9โฟลเดอร์และเรียกใช้

sudo checkinstall

แน่นอนคุณสามารถเรียกใช้checkinstallด้วยพารามิเตอร์เช่น--pkgversion=หรือเลือกพวกเขาหลังจากที่คุณได้ทำงานsudo checkinstallแต่ค่าเริ่มต้นทั้งหมดจะถูกปรับที่นี่ ชื่อแพ็คเกจที่จะถูกสร้างขึ้นจะถูกเรียกimagemagick-6.8.3-9และจะถูกติดตั้ง/opt/imagemagick-6.8ด้วย

ตอนนี้คุณจะสามารถดูแพ็คเกจได้ Synapticและจัดการได้เช่นเดียวกับแพคเกจอื่น ๆ และการลบมันจะไม่ทำให้เกิดปัญหากับแพคเกจอื่น ๆ

หากคุณต้องการเรียกใช้เวอร์ชันใหม่ของคุณคุณจะต้องใช้/opt/imagemagick-6.8/convertตัวอย่างเช่น/optไม่ได้อยู่ใน$PATHนั้นและเพียงแค่เรียกใช้convertจะเรียกเวอร์ชัน repo คุณสามารถสร้าง symlink ได้หากคุณต้องการรัน/optเวอร์ชันของโปรแกรมเสมอ

โปรดทราบว่านี่คือสิ่งที่Honzaต้องการแม้ในขั้นต้นเขาจะเกลียดการรวบรวมจนกว่าจะcheckinstallมีการพูดคุยกัน


ขอขอบคุณ! ที่จริงแล้วคำถามของฉันคือ "ฉันจะติดตั้ง ImageMagick เวอร์ชันล่าสุดได้อย่างไร" ส่วนที่ "ไม่ต้องคอมไพล์" ถูกเพิ่มโดยผู้ดูแลระบบfossfreedomหลังจากอ่านโน้ตของฉันเมื่อสิ้นสุดคำถาม
Honza Javorek

1
เส้นทางที่เหมาะสมที่จะมีconvert /opt/imagemagick-6.x/bin/convertอย่างน้อยมันก็เป็นแบบนั้นเวอร์ชั่น 6.9.1 ที่ผมติดตั้งตอนนี้ /bin/เส้นทางของคุณจะหายไป
Rafal

Unable to find a source package for imagemagickผมได้รับข้อผิดพลาดต่อไปนี้เมื่อพยายามที่จะติดตั้งสร้างอ้างอิง: ผมสามารถที่จะติดตั้งการอ้างอิงวิธีนี้sudo apt-get install imagemagick libmagick++-devเป็นรายละเอียดที่นี่
bwroga

อีกเหตุผลที่คุณอาจเห็นUnable to find a source package for imagemagickคือคุณต้องยกเลิกการคอมเม้นต์แหล่ง deb-src ใน /etc/apt/source.list เพื่อหาแพ็คเกจ
Michael

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