सबसे सरल डेबियन पैकेजिंग गाइड क्या है?


150

मैं उबंटू विकी के पास गया, लेकिन भ्रमित हो गया, बहुत सारे तरीके थे। कृपया मुझे डेबियन पैकेजिंग के लिए एक आसान गाइड बताएं।


3
क्या आप किसी विशिष्ट कंप्यूटर पर, या दूसरों के उपयोग के लिए अपने स्वयं के उपयोग के लिए पैकेज बनाना चाहते हैं?
औरोल

1
वह कौन सी भाषा है जिसे आप पैकेज करना चाहते हैं?
उमंग

4
मेरे साथ भी वही दिक्कत है। अधिकांश ट्यूटोरियल और गाइड "अपस्ट्रीम टारबॉल प्राप्त करें" से शुरू होते हैं। इस बिंदु पर से हम खो गए हैं। हमारे पास एक साधारण चीज है जिसे हम तैनात करना चाहते हैं, कोई अपस्ट्रीम टारबॉल नहीं है, कोई स्रोत कोड नहीं है। यह सिर्फ एक युद्ध फ़ाइल, कुछ स्क्रिप्ट और कुछ जार फाइलें हैं। सभी के बारे में अपस्ट्रीम टार बॉल क्या है, और क्या किसी ने एक गाइड का उपयोग करते हुए नहीं देखा है, जो व्यापक है (जैसे उपयोगकर्ताओं के मुद्दों से संबंधित है)
जॉन लिटिल

2
मैं एक मैं StackOVerflow पर पोस्ट के लिए जाऊँगा।

यदि आप "वर्चुअल पैकेज" (समूह निर्भरता एक साथ) बनाना चाहते हैं, तो यह इक्विविज़-बिल्ड
रॉल्फ

जवाबों:


103

बेसिक .debफ़ाइल बनाने के लिए यह एक अच्छा HOWTO है । यह .debव्यक्तिगत उपयोग के लिए फाइलें बनाने के लिए उपयुक्त है, लेकिन इतना कठोर नहीं है कि अगर आप पैकेज को डेबियन / उबंटू में शामिल करना चाहते हैं - तो इसके लिए आपको डेबियन न्यू मेंटेनर गाइड और / या उबंटू पैकेजिंग गाइड (जो मुझे विश्वास है कि आपको पढ़ना चाहिए ) ve पहले से ही कोशिश की)।

.debअनुपालन के लिए आपकी फ़ाइल की जाँच करने के लिए एक अच्छा उपकरण है lintian(रिपॉजिटरी से इंस्टॉल करने योग्य)।

पूछो Ubuntu चैटरूम में यहाँ दो सत्र थे।

उबंटू पर पैकेजिंग की मूल बातें (पैकेजिंग: भाग 1)

लॉन्चपैड पीपीए के लिए उबंटू पैकेजिंग (पैकेजिंग: भाग 2)


यह अच्छी तरह से संकलित करता है कि पैकेजिंग के साथ क्या शुरू करना है, लेकिन HOWTO में मुझे डिबेट फ़ाइल में एप्लिकेशन आइकन शामिल करने के लिए जानकारी याद आती है (और उस जगह के बारे में कुछ भी नहीं मिला है)। यह कैसे करना है पर कोई संकेत?
नाइटकोड 3r

14

आप किन भागों से परेशान हैं? हालांकि जटिल, गाइड काफी स्पष्ट लग रहा था जब मैं इसका पालन कर रहा था।

त्वरित सारांश:

  • स्रोत निकालें .tar.gz
  • Daud dh_make
  • डेबियन फ़ाइलों को संपादित करें
  • डेब्यू गिल्ड चलाएं

3
क्या उलझन मुझे है, क्या यह प्रक्रिया स्रोत भाषा या निर्देशिका संरचना के समान नहीं है?
सेठ

9
क्रूक्स है, हमारे पास .tar.gz नहीं है। हम हमारे द्वारा लिखे गए ऐप को पैकेज देना चाहते हैं। कोई मार्गदर्शक इसे कवर नहीं करता है, वे सभी एक "अपस्ट्रीम टारबॉल" के साथ शुरू करते हैं जो हमारे पास नहीं है।
जॉन लिटिल

@ जॉनसन यह उत्तर सहायता का हो सकता है: askubuntu.com/a/27731/5
नाथन उस्मान

1
लंबी अवधि, बार-बार पैकेजिंग के बारे में क्या? क्या मुझे हर बार ऐसी लंबी और जटिल पैकेजिंग प्रक्रिया करनी है?
क्रिविमीर

यदि उपयोगकर्ता के पास कोई GPG कुंजी नहीं है, debuildतो " debsign: gpg त्रुटि हुई! निरस्त कर रहा है .... " के साथ विफल हो जाएगा ।
अगस्त

10

आप dpkg-debसाधारण पैकेज बनाने के लिए भी उपयोग कर सकते हैं।

यहाँ Ubuntuforums से एक अच्छा ट्यूटोरियल है ।


5

किसी चीज़ को पैकेज करने का सबसे आसान तरीका है, चेक-इन का उपयोग करना ।


4
checkinstall एक इंस्टॉलेशन विधि से डेबिन बाइनरी पैकेज (.deb) बनाने का एक त्वरित तरीका प्रदान करता है। हालाँकि यह एक उचित डेबियन पैकेज (एक डेबियन स्रोत पैकेज से निर्मित) प्रदान नहीं करता है।
जोहो पिंटो

ओह यार .. मुझे उस पहले संकलन का उपयोग करना था .. जो संकलन के घंटों की तरह है।
पायोतर कुला

5

मूल रूप से StackOverFlow पर पोस्ट किया गया , यह गाइड पूर्व संकलित या व्याख्या किए गए सॉफ़्टवेयर के लिए है:

डिबेट पैकेज बनाने का सही तरीका उपयोग कर रहा है dpkg-buildpackageलेकिन कभी-कभी यह थोड़ा जटिल होता है। इसके बजाय आप उपयोग कर सकते हैं dpkg -b <folder>और यह आपके डेबियन पैकेज का निर्माण करेगा।

ये dpkg -b <folder>किसी भी बाइनरी के साथ या किसी भी तरह की स्क्रिप्ट के साथ एक डेबियन पैकेज बनाने के लिए मूल बातें हैं जो मैन्युअल संकलन (पायथन, बैश, पर्ल, रूबी) की आवश्यकता के बिना स्वचालित रूप से चलती हैं:

  1. निम्न संरचना को पुनः बनाने के लिए फ़ाइलें और फ़ोल्डर बनाएँ:

    ProgramName-Version/
    ProgramName-Version/DEBIAN
    ProgramName-Version/DEBIAN/control
    ProgramName-Version/usr/
    ProgramName-Version/usr/bin/
    ProgramName-Version/usr/bin/your_script
    

    स्क्रिप्ट /usr/bin/को सीधे टर्मिनल से बुलाया जाता है, ध्यान दें कि मैंने स्क्रिप्ट में कोई एक्सटेंशन नहीं जोड़ा था। इसके अलावा, आप यह देख सकते हैं कि डेब पैकेज की संरचना एक बार स्थापित होने के बाद प्रोग्राम की संरचना होगी। इसलिए यदि आप इस तर्क का पालन करते हैं, यदि आपके प्रोग्राम में एक भी फाइल है, तो आप इसे सीधे नीचे रख सकते हैं ProgramName-Version/usr/bin/your_script, लेकिन यदि आपके पास कई फाइलें हैं, तो आपको उन्हें नीचे रखना चाहिए ProgramName-Version/usr/share/ProgramName/all your filesऔर केवल एक फाइल के नीचे रखना चाहिए, /usr/bin/जिससे आपकी स्क्रिप्ट्स को कॉल किया जा सके/usr/share/ProgramName/

  2. रूट करने के लिए सभी फ़ोल्डर अनुमतियाँ बदलें:

     chown root:root -R /path/to/ProgramName-Version  
    
  3. स्क्रिप्ट की अनुमतियां बदलें:

     chmod 0755 /path/to/the/script
    
  4. अंत में, आप चला सकते हैं: dpkg -b /path/to/the/ProgramName-Versionऔर आपका डिबेट पैकेज बनाया जाएगा! (आप पोस्ट / प्री इंस्टेंस स्क्रिप्ट भी जोड़ सकते हैं और आप जो भी चाहते हैं, वह सामान्य डेबियन पैकेज की तरह काम करता है)

यहाँ controlफ़ाइल का एक उदाहरण है । आपको केवल "नियंत्रण" नामक एक खाली फ़ाइल में इसे कॉपी / पेस्ट करना होगा और इसे DEBIAN फ़ोल्डर में डालना होगा।

Package: ProgramName
Version: VERSION
Architecture: all
Maintainer: YOUR NAME <EMAIL>
Depends: python2.7, etc , etc,
Installed-Size: in_kb
Homepage: http://foo.com
Description: Here you can put a one line description.This is the short Description.
 Here you put the long description, indented by 1 space.

3

नहीं, इस दुनिया में सबसे सरल और स्पष्ट पैकेजिंग गाइड है

Ubuntu और अन्य डेबियन के लिए पैकेजिंग जावा अनुप्रयोग

कुछ दिन पहले, अपने पहले आवेदन के लिए, मैंने इस ट्यूटोरियल का अनुसरण करके DEB पैकेज बनाया। बहुत स्पष्ट है और मेरा ऐप सक्सेसफुल है। हां, कम से कम मेरे लिए यह सबसे सरल है।

आप इसकी तुलना डेबियन पैकेजिंग गाइड से कर सकते हैं।


3
"सरल" का अर्थ "पूर्ण" नहीं है। बहुत सी नीतियां हैं। एक बुनियादी .deb पैकेजिंग ट्यूटोरियल विभिन्न प्रकार के कार्यक्रमों के लिए कवर नहीं करेगा, और इसलिए पैकेजिंग केवल "सरल ट्यूटोरियल" के रूप में आसान नहीं है।
थॉमस वार्ड

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