एक DEB पैकेज में संकलित स्रोत


34

मुझे हमेशा संकलित सॉफ़्टवेयर को स्थापित करने और हटाने में समस्या हुई है, इसलिए मैंने फैसला किया है कि मैं आसान स्थापना / हटाने के लिए स्रोत से .deb पैकेज में सॉफ़्टवेयर बनाना चाहूंगा।

मैं एक एंड यूज़र के रूप में एक .deb पैकेज में सोर्स बनाने का एक आसान और छोटा तरीका जानना चाहूंगा ।

मैंने कोशिश की है:

  • ubucompilator , जिसने मेरे लिए काम नहीं किया
  • यह कैसे मार्गदर्शन करना है, लेकिन मैंने इसे बहुत लंबा पाया

1
Ubucompilator एक दिलचस्प परियोजना है, और मैं आज तक उनके प्रयासों की सराहना करता हूं। हालाँकि, जैसा कि आपने खोजा था, यह केवल चार या पाँच निम्न-स्तरीय कमांडों को एक GUI फ्रंट-एंड प्रदान करता है। और, नहीं, आप इसे आसानी से एक उचित '.deb' पैकेज बनाने के लिए उपयोग नहीं कर सकते।
david6

जवाबों:


47

checkinstall वह करता है जो आप प्राप्त करना चाहते हैं: यह मॉनिटर करेगा कि कौन सी फाइलें इंस्टाल होती हैं और उन्हें एक .deb पैकेज में डाल दिया जाता है, जिसे बाद में इंस्टॉल या हटाया जा सकता है।

इसके साथ स्थापित करें

apt-get install checkinstall

तब आप स्रोत प्रक्रिया से सामान्य स्थापित करते हैं, 'sudo make install' की जगह 'sudo checkinstall':

  ./configure
  make
  sudo checkinstall

संदर्भ: https://help.ubuntu.com/community/CheckInstall


9

हमारे पास वास्तव में अच्छा पैकेजिंग गाइड है जिसमें नए पैकेज के विषय पर एक अनुभाग है


1
मैं इस लिंक की सलाह देता हूं, क्योंकि इसमें वह सभी जानकारी है जिसकी किसी को आवश्यकता होगी। इसके अलावा, यदि कोई विशिष्ट प्रश्न हैं, तो मैं उनके साथ मदद करने में सक्षम हो सकता हूं, लेकिन स्रोत से डेबियन पैकेज बनाने की पूरी प्रक्रिया को समझाने के लिए नहीं।
थॉमस वार्ड

@ppumkin: अपडेट किया गया।
Tumbleweed

6

मैंने अपने अन्य सर्वर पर स्थापित होने वाली एक मशीन पर एक पैकेज make checkinstallबनाने के लिए कई अवसरों पर कमांड का उपयोग किया .debहै। यह बीटा संस्करण को स्थापित करने का एक तेज़ तरीका है। यह काम करता है, लेकिन सावधानी के साथ इस्तेमाल किया जाना चाहिए। उपयोगकर्ता के लिए नुकसान हैं जो .debपैकेज के कई कार्यों को नहीं समझते हैं ।

मेरे पास बीस-कुछ सर्वर हैं जो एक ही घर में विकसित ऐप का उपयोग करते हैं। प्रत्येक होस्ट के लिए बिल्ड समर्थन और संकलक जोड़ना उतना मुश्किल नहीं है।

बीस बार नया संस्करण डाउनलोड करने और संकलित करने के लिए कमांड दर्ज करना समय लेने वाली है। वैकल्पिक कार्य करने के लिए स्क्रिप्ट अपलोड करना और फिर स्क्रिप्ट निष्पादित करना है। लेकिन अक्सर .debबनाई गई फ़ाइल का उपयोग करके एप्लिकेशन को अपडेट करना आसान होता है checkinstall


0

सॉफ्टवेयर कोड के कुछ रैंडम पीस को एक -deb में पैक करने का काम काफी जटिल है, अगर सॉफ्टवेयर पहले से ही उस रूप में नहीं आया है, खासकर सिर्फ बनाने के लिए, स्थापित करें। यदि आप चाहते हैं कि चीजें सरल हों, तो मुझे लगता है कि आप गलत दिशा में जा रहे हैं।

मैं यह नहीं कह रहा हूं कि आप ऐसा नहीं कर सकते - डेबियन डेवलपर्स इसे बहुत करते हैं। लेकिन यह आप क्या चाहते हैं करने के लिए सबसे आसान तरीका नहीं लगता है।

हो सकता है कि आपको स्रोत "कार्यों" से सॉफ़्टवेयर को संकलित करने और स्थापित करने के तरीके पर अधिक ध्यान केंद्रित करना चाहिए। आपके पक्ष में यह तथ्य है कि आपने जो कुछ भी अपने आप को स्थापित किया है उसे / usr / स्थानीय में समाप्त होना चाहिए


आत्महत्या के लिए धन्यवाद, लेकिन मैं पहले से ही सॉफ्टवेयर्स को संकलित करने के बारे में जानता हूं, मैंने अपने सिस्टम पर संकलित उनमें से कई को शांत किया। केवल एक चीज जो मुझे कठिन लगती है, वह है अपग्रेड या हटाना। इसलिए, हालांकि एक डिबेट फ़ाइल अधिक उपयोगी होगी
आशु

डिबेट पैकेज आसानी से अपग्रेड या स्वयं को हटाने का कारण यह है कि किसी के पास श्रमसाध्य लिखित स्क्रिप्ट है जो ऐसा करता है, प्रत्येक पैकेज के लिए। इसके अलावा उन्हें अन्य वर्णनात्मक मेटाडेटा की एक पूरी बहुत कुछ जोड़ना होगा जो dpkg का उपयोग करके यह निर्धारित कर सकता है कि फाइलें क्या हैं। आप अपने काम के लिए बाहर कट जाएगा।
थोमसट्रेटर

1
दरअसल, फ्लॉयड के जवाब के साथ ही जाएं। यह समग्र रूप से एक बेहतर समाधान की तरह दिखता है, अगर यह वास्तव में वही करता है जो यह कहता है कि यह करता है!
थोमसट्रेटर

हाँ। फ्लोयड का घोल बढ़िया है। विशेष रूप से अब, इसकी अत्यंत परिपक्व है। अब मुझे सर्वर के टन पर स्रोत से निर्माण नहीं करना है। :)
जैक_हु
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.