क्या एक उपयुक्त भंडार में एक ही पैकेज के दो संस्करण हो सकते हैं?


19

मैं अपने पूरे वातावरण में Ubuntu 10.04 चला रहा हूं। कोड डिप्लॉयज़ को आसान बनाने के लिए, हम एक निजी उपयुक्त रिपॉजिटरी को लागू कर रहे हैं, जहाँ हम अपने कोड का निर्माण कर सकते हैं।

इस भंडार की आवश्यकताओं में से एक यह होगा कि हमारा क्यूए विभाग किसी भी समय हमारे आवेदन के किसी भी संस्करण को स्थापित करने में सक्षम होगा।

क्या मैं एक ही-भंडार में एक ही पैकेज के कई संस्करणों को संग्रहीत कर सकता हूं (अधिमानतः समान वितरण में)? यदि नहीं, तो उपरोक्त वर्णित व्यवहार को प्राप्त करने के लिए मैं कौन से संभव कार्यपत्रकों का उपयोग कर सकता हूं?

जवाबों:


19

हां, आप कर सकते हैं, और आपको कुछ विशेष करने की आवश्यकता नहीं है। वास्तव में, सामान्य रूप से डेबियन और उबंटू रिपॉजिटरी में आमतौर पर प्रत्येक पैकेज के कई संस्करण होते हैं (पुराने / स्थिर / परीक्षण / अस्थिर या डैपर / हार्डी / ल्यूसिड / मेवरिक / नैट्टी से)। प्रत्येक संस्करण की अनुक्रमणिका फ़ाइल ( Packagesफ़ाइलें) में वितरण का केवल एक ही पैकेज होता है , लेकिन आपको सूट का पालन नहीं करना पड़ता है।

बेशक, apt-get install myappकेवल नवीनतम संस्करण स्थापित करेगा (जब तक कि अन्यथा कॉन्फ़िगर न किया गया हो)। आप apt-get install myapp=1.42संस्करण 1.42 की स्थापना के लिए बाध्य कर सकते हैं ।

कैविएट: यदि सभी संस्करणों में समान पैकेज नाम है, तो आप एक ही समय में एक से अधिक इंस्टॉल नहीं कर सकते। यदि यह महत्वपूर्ण है, प्रत्येक संस्करण अलग पैकेज नाम दे: myapp-1.42, myapp-1.43, आदि Debian और Ubuntu पुस्तकालयों, जहां एक से अधिक आवश्यकता हो सकती है यदि आप अलग अलग पुस्तकालयों के साथ जुड़ा हुआ निष्पादनयोग्य है (जैसे की प्रमुख संस्करणों के लिए ऐसा करते हैं libcap1और libcap2), साथ ही कुछ अन्य पैकेज जैसे कि कर्नेल के लिए।


1
उत्कृष्ट स्पष्टीकरण के लिए धन्यवाद। एक अनुवर्ती के रूप में, यदि मैं अपने पैकेजों में संस्करण संख्याओं को जोड़ने का रास्ता नीचे जाता हूं, तो क्या यह "एप-गेट अपग्रेड" होगा? ऐसा लगता है कि हर बार जब मैंने अपने ऐप को अपग्रेड किया, तो इसे एक ताज़ा इंस्टॉल के रूप में माना जाएगा और मैं अपना कॉन्फ़िगर खो दूंगा। मैं इस के आसपास काम कर सकता था, लेकिन मैं एक रास्ता या किसी अन्य निर्णय लेने से पहले क्या सीमाएं हैं, इस पर समझ हासिल करना चाहूंगा। धन्यवाद।
ग्रेग

2
इस मामले में सामान्य तरीका है myapp-1.42और इतने पर, साथ ही एक पैकेज myappजो कि वर्तमान myapp-VERSION(या यहां तक ​​कि myapp-stable, myapp-betaऔर इसी तरह) पर निर्भर करता है ।
गिल्स एसओ- बुराई को रोकें '

1
बस एक चेतावनी: सुनिश्चित करें कि आप भूल नहीं -mजब dpkg-scanpackagesअपने भंडार सूचकांक बनाने के लिए चल रहा है। अन्यथा, आपको अपनी Packagesफ़ाइलों पर कई पैकेज संस्करण नहीं मिलेंगे ।
ब्रूनो nery
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.