2011-07-19 11 views
9

होस्ट करने का आसान तरीका मेरे पास एक प्रोजेक्ट है जहां मैं एक .deb फ़ाइल बनाता हूं, जिसे लिनक्स क्लाइंट द्वारा स्थापित किया जाना चाहिए। इसके लिए मैं apt-get install mypackage का उपयोग करना चाहता हूं।डेबियन अपडेट रिपॉजिटरी

इस क्षेत्र में काफी नया होने के नाते, अब मैं अपने डेबियन अपडेट रिपोजिटरी को होस्ट करने का सबसे आसान तरीका ढूंढ रहा हूं, जिसमें केवल mypackage.deb शामिल होगा।

मैंने तुरंत mini-dinstall पर देखा जो आशाजनक लग रहा था, लेकिन .deb पैकेजों के बजाय .changes के साथ काम करने लगते हैं। तो मुझे यकीन नहीं है कि मुझे यही चाहिए।

तो संक्षेप कार्यप्रवाह कुछ इस तरह दिखना चाहिए:

  1. मैं डेबियन पैकेज बनाने mypackage.deb
  2. मैं अद्यतन भंडार अद्यतन करने के लिए कुछ डेमॉन बता: fancy-update-daemon add mypackage.deb
  3. ग्राहक स्थापित करने में सक्षम है या आपकी मदद के

    के लिए apt-get install mypackage

धन्यवाद: मानक उपयुक्त आदेशों का उपयोग करते अद्यतन

+0

askubuntu.com इस प्रश्न के लिए सबसे अच्छी जगह है – Charbel

उत्तर

13

भंडार बनाने का वास्तव में सरल तरीका एक "स्वचालित" भंडार के बजाय "तुच्छ" भंडार बनाना है। आप dpkg-dev पैकेज में "dpkg-scanpackages" कमांड के साथ ऐसा कर सकते हैं।

$ mkdir repository 
$ cp foo.deb repository 
$ dpkg-scanpackages repository /dev/null | gzip -9c > repository/Packages.gz 
अपने sources.list में

फिर, बजाय की तरह कुछ होने के:

deb http://wherever/repository suite component 

आप सूट और घटक को बंद रखना होगा और बस है:

deb http://wherever/repository 

अधिक जानकारी के लिए (जैसे एक मामूली और स्वचालित भंडार के बीच का अंतर) The repository HOWTO देखें (इस सरल के लिए, आप इस तथ्य को अनदेखा कर सकते हैं कि यह दस्तावेज स्वयं "अप्रचलित" कहता है)

+0

बहुत बहुत धन्यवाद। यह आशाजनक लग रहा है। मुझे लगता है कि मैं इस तंत्र के साथ एक ही पैकेज के विभिन्न संस्करणों का प्रबंधन भी कर सकता हूं। मैं निश्चित रूप से इसे आजमाउंगा। – Besi

+3

dpkg-scanpackage उसी पैकेज के एकाधिक संस्करणों को उसी पैकेज फ़ाइल में नहीं रखेगा, यदि आपका यही मतलब है। यदि आप इसे एक ही पैकेज के कई संस्करणों के साथ एक निर्देशिका देते हैं, तो आप हाल ही के संस्करणों में केवल पैकेजेज.gz – stew

+2

@ स्टू में नवीनतम के साथ समाप्त हो जाएंगे, आप डीपीकेजी-स्कैनपैकेज को '-m' स्विच को एकाधिक जोड़ने के लिए दे सकते हैं पैकेज के लिए एक ही पैकेज के संस्करण। –

0

.changes फ़ाइलें डेबियन पैकेज बनाने के दौरान उत्पन्न होती हैं। .changes फ़ाइल स्वयं एक पैकेज नहीं है: इसमें बिल्ड (including .debs that were generated) के बारे में जानकारी शामिल है।

जबकि मैंने mini-dinstall का उपयोग नहीं किया है, ऐसा लगता है कि यह सही तरीका है। इसे .deb फ़ाइलों का उपयोग करना चाहिए जो निर्माण के दौरान उत्पन्न हुए थे और उन्हें सही तरीके से अपलोड किया गया था।

2

बनाएं Packages.gz:

@server> cd debian-repo 
@server> dpkg-scanpackages ./ /dev/null | gzip > Packages.gz 

नई फ़ाइल /etc/apt/sources.list.d/my-server.list बनाएँ (ग्राहक पर)

deb http://my-server/debian-repo ./ 

अब सूची प्राप्त उपलब्ध संकुल के और foo स्थापित करें।

@client> apt-get update 
@client> apt-get install foo