एक ही पैकेज के कई संस्करणों के साथ डिबेट रिपॉजिटरी बनाएं


16

मैं कुछ पैकेजों को संग्रहीत करने के लिए अपना स्वयं का डिबेटरी बनाना चाहता हूं। मैंने reprepro की कोशिश की है और यह ठीक है, एक मौलिक सुविधा को छोड़कर। Reprepro रिपॉजिटरी में एक ही पैकेज के कई संस्करणों को संग्रहीत नहीं कर सकता है।

एक ही पैकेज के कई संस्करणों को संग्रहीत करने की क्षमता मेरे लिए आवश्यक है, इसलिए मैं पूछ रहा हूं कि सॉफ्टवेयर क्या कर सकता है।

यहाँ रिप्रेप्रो एफएक्यू का एक टुकड़ा है जो दर्शाता है कि यह ऐसा नहीं कर सकता है:

3.1) Can I have two versions of a package in the same distribution?
-------------------------------------------------------------------
Sorry, this is not possible right now, as reprepro heavily optimizes
at only having one version of a package in a suite-type-component-architecture
quadruple.
You can have different versions in different architectures and/or components
within the same suite. (Even different versions of a architecture all package
in different architectures of the same suite). But within the same
architecture and the same component of a distribution it is not possible.

जवाबों:


11

जहां तक ​​मैं समझता हूं, मिनी-इंस्टॉलेशन के लिए पैकेजों को जोड़ने के दौरान डेबियन .changes फ़ाइलों की आवश्यकता होती है। जैसा कि मेरे पास केवल .deb फाइलें उपलब्ध थीं, मैंने पाया कि उपयुक्त रूप से कई संस्करणों का समर्थन करता है।

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

संपादित करें: नए फ्रेट रेपो का अपडेटेड लिंक, क्योंकि 2014 के बाद से पिछले अपडेट नहीं किया गया था।


1
Downvoter: विस्तृत करने के लिए देखभाल?
बोह्रक्स

1
ध्यान दें कि freightफोर्क किया गया है और अब github.com/freight-team/freight पर बनाए रखा जा रहा है - मूल संस्करण 2014 से अपडेट नहीं किया गया है।
वोल्फगैंग

@WolfgangThanks, उत्तर में लिंक अपडेट किया गया!
बोहरा

9

समाधान मैंगनीन डिब रिपोज के लिए मिनी-इंस्टॉलेशन का उपयोग करना है। यह पैकेज के पिछले संस्करण को रिपॉजिटरी से नहीं हटाता है।


2
यह केवल तभी सही प्रतीत होता है जब "Keep_old = 1" को मिनी-इंस्टॉलेशन .conf में सेट किया जाता है। डिफ़ॉल्ट (मैन पेज और हाल के अनुभव के अनुसार) पुराने संस्करणों को हटाने के लिए है। संस्करण 0.6.29ubuntu1 के साथ परीक्षण किया गया।
पेंडोर

2

मैंने एक विकल्प के बारे में अच्छी बातें सुनीं, भाड़ा:

https://github.com/rcrowley/freight

एचटीएच, मिस्टिज


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

मैं नीच नहीं हूं, लेकिन शायद इसलिए कि मेरे जवाब में एक साल पहले ही माल ढुलाई का उल्लेख किया गया था। किसी भी तरह, मैं एक व्यवहार्य विकल्प के रूप में इसके लिए वाउच कर सकता हूं। मैंने इसे एक वर्ष से अधिक समय तक एक छोटे लेकिन सक्रिय रूप से अद्यतन भंडार के लिए उपयोग किया है। हमें इस मुद्दे से काट दिया गया है: github.com/rcrowley/freight/pull/65
bohrax

1
@bohrax: ऐसा लगता है कि freightइसे कांटा गया है और अब इसके बजाय github.com/freight-team/freight पर बनाए रखा जा रहा है ।
वोल्फगैंग

-1

यदि आप पैकेज फ़ाइल को स्वयं लिखने के लिए तैयार हैं (उदाहरण के लिए एक कस्टम स्क्रिप्ट के साथ), तो आप उसी पैकेज के कई संस्करण वहां रख सकते हैं और apt-get आपको सिंटैक्स के साथ एक विशिष्ट संस्करण स्थापित करने की अनुमति देगा

apt-get install packagename=version

आप इस पैकेज को लिखने के लिए आवश्यक सभी जानकारी प्राप्त कर सकते हैं

dpkg-deb --info package.deb

तथा

md5sum package.deb

apt-get उन्नयन भी उच्चतम संस्करण संख्या (मेरे सीमित परीक्षण में, कम से कम) का चयन करेगा।


उत्तर के लिए धन्यवाद, लेकिन मैं कुछ सिस्टम का उपयोग करना पसंद करता हूं जो संकुल फ़ाइल उत्पन्न करेगा।
बेसरबॉव

यह एक ही पैकेज के कई संस्करणों के साथ पैकेज रिपॉजिटरी बनाने के बारे में सवाल का जवाब नहीं देता है । यह एक और सवाल का जवाब है।
gertvdijk

-2

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

आमतौर पर पैकेज मैनेजर पैकेज के सबसे नए संस्करण का चयन करते हैं, इसलिए उपयोगकर्ताओं के लिए भी चुनना मुश्किल होगा।


1
कई रिपोज बनाने से मेरी समस्या हल नहीं होती है। मुझे एक ही रेपो में होने के लिए एक ही पैकेज के कई संस्करण चाहिए। : जो रुचि रखते हैं के लिए कारण है कि मैं जरूरत इस यहाँ मेरी स्पष्टीकरण के साथ एक विषय है answers.launchpad.net/launchpad/+question/171452
Bessarabov

मुझे डर है कि आपको अपनी समस्या को एक अलग कोण से देखना होगा क्योंकि नियमित डेबियन रिपो में कई संस्करणों के लिए कोई समर्थन नहीं है।
मार्टिन यूडिंग

2
तुम ठीक नहीं हो। कृपया नियमित डेबियन रेपो ftp.us.debian.org/debian/pool/main/p/perl देखें और देखें कि समान संग्रह के लिए एक ही पैकेज के कई संस्करण हैं।
बेसरबॉव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.