मैं संकलन के बिना ImageMagick का नवीनतम अपस्ट्रीम संस्करण कैसे स्थापित कर सकता हूं?


15

ImageMagick के साथ मेरे कुछ मुद्दे थे और मुझे Ubuntu के डिफ़ॉल्ट ImageMagick पैकेज को एक प्राचीन संस्करण बताया गया था और मुझे इन मुद्दों को हल करने के लिए अपग्रेड करना चाहिए।

मैं उसे कैसे कर सकता हूँ? मेरे पास नवीनतम उबंटू संस्करण (12.10) है। Synaptic मुझे 8:6.7.7.10-2ubuntu4IM के नवीनतम संस्करण के रूप में दिखाता है । इसका मतलब है कि मेरा IM संस्करण 6.7.7.10( convert --versionआउटपुट समान है)। IM स्वयं डिबेट बायनेरी प्रदान नहीं करता है। डेबियन के पास कुछ नया है , लेकिन कुछ परीक्षण / प्रयोगात्मक शाखाओं में अगर मैं इसे अच्छी तरह से समझता हूं। मुझे लॉन्चपैड पर IM मिला , लेकिन मेरे स्रोतों में इसे जोड़ने के लिए कोई निर्देश नहीं हैं, ऐसा लगता है कि यह नवीनतम / बीटा सॉफ़्टवेयर की खोज करते समय मुझे मिलने वाले सामान्य पीपीए में से एक नहीं है। मैं नहीं जानता कि यह कैसे काम करता है।

क्या कोई तरीका है कि कैसे कुछ ब्लीडिंग एज स्रोतों से लिए जाने वाले पैकेज को चिन्हित किया जाए और बाकी सिस्टम को मानक स्रोतों से लिया जाए? यह शायद IM ( 6.8) के अंतिम स्थिर संस्करण में अपग्रेड करने के लिए सबसे अच्छा होगा , लेकिन यह शायद Sci-Fi है क्योंकि यह डेबियन में भी नहीं है। हालांकि, मुझे कम से कम चाहिए 6.7.9


नोट: मैं स्रोत से संकलन से बचना चाहता हूं। मुझे कुछ स्थापित करने से नफरत है और आसानी से apt-getया Synaptic के साथ इसके साथ हेरफेर करने में सक्षम नहीं है । इसके अलावा, संकलित कार्यक्रमों के लिए कोई अद्यतन नहीं हैं। हमेशा मैं संकलित करता हूं मुझे लगता है कि सिस्टम के खिलाफ जा रहा हूं, जैसे गोंद, तारों और बतख टेप का उपयोग करना। नहीं, मैं इसे निश्चित रूप से संकलित नहीं करना चाहता।


नए संस्करण प्राप्त करने का सबसे आसान तरीका वास्तव में नए संस्करण की पैकेजिंग और अनुरक्षकों के लिए इसे अपलोड करने में मदद करना है। सुझाव लॉन्चपैड में शामिल हों ।/imagemagick टीम या अधिमानतः काम करना।
जीवाश्म

यह अच्छा होगा, लेकिन मैं उबंटू / डेबियन पैकेजिंग के बारे में पूरी जानकारी नहीं रखने वाला पायथन डेवलपर हूं, इसलिए यह उन लोगों के लिए काम है, जो DevOps / पैकेजिंग / UNIX प्रबंधन के करीब हैं। मैं ओपन सोर्स पायथन लाइब्रेरीज़ लिखकर दुनिया की मदद करूंगा :)
होन्जा जावोरेक

वास्तव में एक जवाब नहीं है जहाँ तक मैं संकलन और पैकेजिंग के अलावा अन्य देख सकता हूँ इसलिए सुझाव।
जीवाश्म

मुझे पता है कि आपने कहा था कि आप संकलन नहीं करना चाहते, लेकिन यह रुचि का हो सकता है: आप imagemagickइस पद्धति के साथ अपने मौजूदा पैकेज और उसकी निर्भरता को बनाए रख सकते हैं । आप के साथ कॉन्फ़िगर चला सकते हैं --prefix=/opt, इस कार्यक्रम संकलन, और उसके बाद करने के लिए स्थापित /optके साथ checkinstallहै, तो आप के माध्यम से एक पैकेज के रूप में संकलित संस्करण का प्रबंधन कर सकते apt-get। यदि आप नए संस्करण का उपयोग करना चाहते हैं, तो आपको यह /opt/bin/convertकहना होगा कि जब आप दौड़ें convert, तब तक जब तक आप कुछ सिमिलिंक नहीं बनाते। किसी भी तरह से, आप मानक पैकेज संस्करण और अपने संकलित संस्करण दोनों को रख सकते हैं

1
खैर, मुझे इसके बारे में पता नहीं था checkinstall। यदि मैं इसे सही समझता हूं, तो इसे मेरे सिस्टम में संकलित संस्करण को स्थापित करना चाहिए और फिर इसे सिनाप्टिक या इसके पैकेज के रूप में प्रस्तुत करना चाहिए, जिसका अर्थ है कि मैं बाद में इसे सुरक्षित और आसानी से हटा सकता हूं। वह महान होगा!
होनज़ा जेवोरक

जवाबों:


18

कृपया ध्यान दें: भले ही होन्ज़ा ने शुरू में कहा था कि वह संकलन नहीं करना चाहता था, हमने checkinstallऊपर टिप्पणियों में संकलित पैकेज को स्थापित करने के लिए चर्चा की । यह वही था जो होन्ज़ा चाहता था, क्योंकि स्थापित किए गए कार्यक्रमों checkinstallको पैकेज मैनेजर के साथ किसी भी अन्य पैकेज की तरह हटाया जा सकता है।


जैसा कि हम निर्माण के बाद /optउपयोग करने के लिए स्थापित कर रहे हैं checkinstall, हम मूल imagemagickपैकेज को जगह में छोड़ सकते हैं । (Infact, रिपॉजिटरी संस्करण को स्थापित करें यदि यह पहले से स्थापित नहीं है।) निर्भरताएं स्थापित की जा सकती हैं, और वे हाल के संस्करण के लिए अलग नहीं हैं imagemagick। बिल्ड डिपेंडेंसी और कुछ अन्य टूल्स को स्थापित करने के लिए हमें जो करने की आवश्यकता है:

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से रेपो संस्करण को कॉल करना होगा। यदि आप हमेशा /optकार्यक्रमों के संस्करण को चलाना चाहते हैं तो आप कुछ सिम्बलिंक बना सकते हैं ।

कृपया ध्यान दें कि यह वही है, जो मान्जा चाहते थे, भले ही शुरू में वह संकलन करने का विरोध कर रहा checkinstallथा , जब तक कि चर्चा नहीं की गई थी।


धन्यवाद! असल में, मेरा सवाल मूल रूप से था "मैं ImageMagick के नवीनतम अपस्ट्रीम संस्करण को कैसे स्थापित कर सकता हूं", "संकलन के बिना" भाग को जीवाश्म मध्यस्थ द्वारा जोड़ा गया था , शायद मेरे प्रश्न के अंत में मेरे नोट को पढ़ने के बाद।
होनज़ा जेवोरक

1
का उचित मार्ग convertहै /opt/imagemagick-6.x/bin/convert। कम से कम यह 6.9.1 संस्करण के लिए रास्ता है जो मैंने अभी स्थापित किया है। आपका रास्ता याद आ रहा है /bin/
रफाल

जब निर्माण निर्भरता स्थापित करने के लिए कोशिश कर मैं निम्नलिखित त्रुटि मिली: Unable to find a source package for imagemagick। मैं इस तरह निर्भरता स्थापित करने में सक्षम था: sudo apt-get install imagemagick libmagick++-devजैसा कि यहां विस्तृत है
20

एक और कारण जो आप देख सकते हैं Unable to find a source package for imagemagick, वह यह है कि /etc/apt/source.list में deb-src स्रोतों को अनसुना करना होगा ताकि पैकेज मिल जाए।
माइकल

ध्यान दें, बाइंडिंग अपडेट ldconfigहोने के बाद मुझे करना था checkinstall
जोशुआ पिंटर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.