उबंटू स्नैपी पैकेजों की ओर क्यों बढ़ रहा है?


126

क्यों Ubuntu डंपिंग .deb संकुल और .snappy संकुल के लिए आगे बढ़ रहा है? (कम से कम अभी के लिए वे सामान्य वितरण के लिए .deb पैकेज रख रहे हैं)। .deb पहले से ही सबसे लोकप्रिय पैकेजिंग है।

यह एक विचार देता है कि स्नैपी पैकेज प्रारूप क्या है। लेकिन मौजूदा डिबेट पैकेज का क्या होगा? स्नैपी में जाने का कोई स्पष्ट लाभ है? क्या यह दर्द के लायक है?


लिंक
बोर्कन है

जवाबों:


144

स्नैपी डेस्कटॉप ऑपरेटिंग सिस्टम के रूप में लिनक्स के साथ मूलभूत समस्याओं में से एक को हल करने का एक प्रयास है और यह समस्या पैकेज उपलब्धता और पैकेज वितरण है। हालांकि, स्नैपी को पूरी तरह से डेब्स को बदलने का इरादा नहीं है। स्नैप्स और डेब्स एक दूसरे के साथ काम करते हैं।

मैं एक लिनक्स उत्साही और लिनक्स एप्लिकेशन का एक प्रोजेक्ट मैनेजर हूं। जबकि मैं लिनक्स सिस्टम को पूरी तरह से प्यार करता हूं, मैं पैकेज वितरण की वर्तमान स्थिति का तिरस्कार करता हूं। स्नैपी का लक्ष्य इस मूलभूत समस्या को हल करना है।

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

अगर मैं Ubuntu 16.04 के लिए एक डिबेट पैकेज बनाता हूं तो वह पैकेज उबंटू के किसी भी संस्करण पर काम नहीं करेगा। मुझे भी एक 14.04, 15.04, 15.10, और इसी तरह से बनाना होगा। ये सिर्फ उबंटू डीबीएस हैं। मुझे डेबियन के लिए एक बनाने की भी जरूरत है। फिर आपको फेडोरा 21, 22, 23, आदि के लिए आरपीएम बनाने की जरूरत है और उन आरपीएम को ओपनएसयूएसई भी कवर नहीं करता है।

इसका मतलब है कि अगर मैं किसी एप्लिकेशन का नया संस्करण जारी करना चाहता हूं और इसे रिपॉजिटरी में शामिल करने के लिए डिस्ट्रो मेंटेनर्स पर इंतजार नहीं करना चाहता (जो आमतौर पर एक बेतुका राशि लेता है) तो मुझे लिनक्स डिस्ट्रोस के बहुमत को कवर करने के लिए 20 से अधिक पैकेज प्रदान करने होंगे। और अभी भी सब कुछ कवर नहीं किया जा रहा है।

उबंटू के स्नैप्स स्नैप को सपोर्ट करने वाले उबंटू के हर वर्जन पर चलने वाले एक स्नैप को बनाने का एक तरीका प्रदान करते हैं। अब कोई विशिष्ट संस्करण विकृत नहीं करता है।

स्नैप्स को अन्य डिस्ट्रोस में एकीकृत किया जा सकता है। संभावित रूप से अब डिस्ट्रो विशिष्ट नहीं है।

स्नैप्स को एक रेपो में नियंत्रित किया जाता है, जिसे पैकेज डेवलपर्स द्वारा बनाए रखा जाता है, इसलिए जब हम एक नया संस्करण जारी करना चाहते हैं तो हमें किसी पर भी इंतजार नहीं करना पड़ेगा।

अनिवार्य रूप से, लिनक्स पैकेज वितरण के बारे में मुझे जो कुछ भी नफरत है, वह स्नैपी द्वारा हल किया जाएगा। हालांकि यह ध्यान रखें कि इन मुद्दों को भी द्वारा हल किया जा जाएगा महत्वपूर्ण है AppImages और Flatpaks

टी एल; डॉ

लिनक्स पैकेज वितरण डेवलपर्स और उपयोगकर्ताओं दोनों के लिए भयानक है। स्नैपी (AppImages और Flatpaks भी) लिनक्स आधारित सिस्टम के साथ इस मूलभूत समस्या को हल करने के लिए हैं।


यह प्रश्न वास्तव में इस बारे में है कि यह कदम क्यों है लेकिन अगर किसी को इस बारे में अधिक जानने में दिलचस्पी है कि स्नैप क्या हैं और वे कैसे काम करते हैं। मैंने इस वीडियो को संरचना की गहराई से व्याख्या करने के लिए बनाया है ।


12
गोश, आप इसे इतना कठिन बनाते हैं, सिवाय इसके कि कोई भी फेडोरा, डेबियन या उबंटू के कई संस्करणों का समर्थन नहीं करता। 16.04 बाहर होने तक, 15.04 ईओएल है। जब तक फेडोरा 23 बाहर हो जाता है, तब तक F21 के जीवन का एक महीना कम होता है, बस लोगों को रिलीज़ छोड़ने के लिए पर्याप्त समय होता है। ऐसा नहीं है कि यह बात होगी। एक बार जब आप बेस आरपीएम कल्पना फ़ाइल या आधार डेबियन पैकेज लिख लेते हैं, तो अन्य डिस्ट्रोस को संस्करण बदल दिया जाता है, और फिर उन्हें हर नई रिलीज़ के लिए बनाना जेनकींस का काम है।
जॉन फ्रैंकलिन

10
उबंटू पैकेज उस कई संस्करणों के लिए बने हैं: 14.04, 15.10, 16.04 और कुछ पुराने LTS जैसे 12.04 का समर्थन जारी रखते हैं जो अभी भी समर्थित है। || फेडोरा के पास समर्थन के लिए कम संस्करण नहीं है, लेकिन फिर भी समर्थन के लिए संभावित 3 संस्करणों के साथ कम से कम 2 संस्करण हैं। || आपको क्या बेहतर लगता है? A. एक डिस्ट्रो के लिए एक ही एप्लिकेशन के प्रत्येक संस्करण के कई पैकेज बनाएं और मल्टीपल डिस्ट्रोस के लिए ऐसा करें। या बी आपके ऐप के प्रत्येक संस्करण के लिए एक स्नैप बनाते हैं और जो भी डिस्ट्रो और जो कुछ भी डिस्ट्रो के संस्करण पर काम करता है। हाँ, मैं उस परिदृश्य में स्नैक्स के लिए वोट करता हूं।
15:15

4
@ user447607 आप गलत समझ रहे हैं कि स्नैप और स्नैपी क्या है। वहाँ अतिरेक का एक गुच्छा नहीं होने जा रहा है, वहाँ रनटाइम्स होंगे और स्थान बचाने के लिए स्नैप्स अन्य स्नैप्स पर निर्भर होने के विकल्प होंगे। यह पहले से ही संभव है, वास्तव में। स्नैपी एक अलग पैकेज प्रबंधन प्रणाली है जो स्नैप को संभालती है और उपयुक्त अभी भी DEBs के साथ शामिल है। स्नैप डीईबी को प्रतिस्थापित नहीं करते हैं, इसके बजाय वे डीईबी को बढ़ाते हैं ताकि आपको एक हाइब्रिड दृष्टिकोण प्राप्त हो जो दोनों तरीकों को कवर करता है। वास्तव में, स्नैप को मौजूदा डीईबी के माध्यम से स्वचालित रूप से उत्पन्न किया जा सकता है।
माइकल ट्यूनेल

2
@konung Docker विशुद्ध रूप से कंटेनरीकरण है जहां स्नैप्स के साथ-साथ सिस्टम कोर घटकों के साथ एकीकरण है। उदाहरण के लिए, डॉकटर को इसका उपयोग करने के लिए कंटेनर में सब कुछ शामिल करने की आवश्यकता होती है। हालाँकि, स्नैप्स को केवल शामिल करने की आवश्यकता होती है और फिर यह अन्य चीजों का उपयोग करने के लिए स्नैप के बाहर देख सकता है। स्नैप्स में एक बेहतर बुनियादी ढांचा भी है क्योंकि डॉकटर के पास कोई वास्तविक अपडेट तंत्र नहीं है, लेकिन स्नैप, डेबियन के लिए एपीटी के समान पैकेज प्रबंधन प्रणाली का उपयोग करते हैं। मेरा सुझाव है कि मूल पोस्ट में मेरे द्वारा लिंक किए गए वीडियो की जाँच करें। मेरी योजना जल्द ही एक अद्यतन संस्करण बनाने की है।
माइकल टुननेल

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

20

यह सिर्फ सरल है। स्नैपी पैकेज में सभी आवश्यक फाइलें होती हैं , जहां .deb पैकेज में अन्य पैकेजों के लिए निर्भरता होती है।

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


7
इसका अर्थ सुरक्षा दुःस्वप्न भी है। ओह, कृपया मुझे गलत साबित करें ... क्योंकि सही होना इतना भयानक होगा।
जर्गेन ए। इरहार्ड

27
इसलिए अनिवार्य रूप से वे विंडोज पथ ले रहे हैं - जो विडंबना यह है कि अतीत में लिनक्स-आईर्स द्वारा मजाक उड़ाया गया था।
पिथिकोस

1
हे @ JürgenA.Erhard, जैसा कि मैं समझता हूं, प्रत्येक पैकेज का अपना काम होगा, उदाहरण के लिए क्रिप्टोग्राफी, इसलिए एक (यानी आत्म-संकलन) को सत्यापित करने के बजाय, आपको मूल रूप से हर पैकेज के साथ व्यक्तिगत रूप से निपटना होगा, यही वह है जो आपके द्वारा अभिप्रेत है "सुरक्षा दुःस्वप्न"?
इल्या

सुधार: "सभी आवश्यक फाइलें सम्‍मिलित हैं" सटीक नहीं है क्‍योंकि कोर स्नैप हैं जो रनटाइम्स के रूप में कार्य करते हैं। हालाँकि, यह मूल उत्तर के बाद जोड़ा गया था इसलिए यह उस समय सही था लेकिन तब से बहुत कुछ बदल गया है।
माइकल ट्यूननेल

7

स्नैपी पर्सनल, पैकेज मैनेजमेंट / अपडेट के लिए उनका नया दृष्टिकोण जो तेज, अधिक विश्वसनीय, लेन-देन और मजबूत सुरक्षा के साथ बनाया गया है।

कम से कम उनके एक डेस्कटॉप स्पिन के लिए स्नैपी - योजना उबंटू के डेस्कटॉप-नेक्स्ट स्पिन को .deb से स्नेपी पर्सनल पर स्विच करने की है।

.deb अभी भी रहेगा और एक सामान्य उपयोगकर्ता अभी भी नियमित रूप से उपयोग कर सकता है।

Snappy का उपयोग ioT के बीच पैकेज प्रबंधन की अवधारणा को एकजुट करने के लिए किया जाएगा जो अब अपने मूल Os के रूप में snappy का उपयोग कर रहा है। इसके अलावा, अद्यतन करने के दौरान अद्यतन / अपग्रेड करने में समस्या को दूर करने और समस्या से छुटकारा पाने के लिए एक बेहतर तरीका प्रदान करता है क्योंकि यह पूरी छवि की अवधारणा का उपयोग करता है जिसका अर्थ है कि अपडेट केवल एक टुकड़ा होगा और इसलिए असफल होने का कोई साधन नहीं है

अधिक जानकारी के लिए उन लेखों को पढ़ें:

http://www.webupd8.org/2015/04/ubuntu-desktop-to-eventually-switch-to.html

http://www.itworld.com/article/2914850/linux/is-ubuntu-moving-away-from-deb-packages-here-is-the-complete-story.html

हवा पर ubuntu से एक क्यूए वीडियो भी है जो एक महान कई सवालों के जवाब देता है https://youtu.be/lHO8j8uo5Z4


9
वे पिछड़े संगतता के साथ .deb संस्करण 2 पैकेज क्यों नहीं बना सकते? लिनक्स समुदाय में विभाजन क्यों?
विष्णुदेव के ०

वे ioT के बीच पैकेज प्रबंधन की अवधारणा को एकजुट करना चाहते हैं जो अब अपने मूल ओएस के रूप में तेज़ का उपयोग कर रहा है। इसके अलावा, अद्यतन करने के दौरान अद्यतन करने / अपग्रेड करने में समस्या से छुटकारा पाने का एक बेहतर तरीका प्रदान करता है क्योंकि यह पूरी छवि की अवधारणा का उपयोग करता है जिसका अर्थ है कि अपडेट केवल एक टुकड़ा होगा और इसलिए असफल होने का कोई साधन नहीं है
Maythux

3
लिनक्स में पैकेजिंग के लिए विभिन्न प्रकार के तरीकों के साथ इसका बुरा पर्याप्त है (जो पहले से ही तीसरे पक्ष के कार्यक्रमों के साथ समस्या का कारण बनता है), एक और एक बड़ा गड़बड़ कर देगा: - /
Wilf

@Maythux। IoT क्या है?
टीआरआईजी


4

करने के लिए स्थानांतरित करने पर विचार उबंटू कोर तेज़ आज अगर आप कुछ बनाने के अन्य लोगों का उपयोग करने के लिए, दूसरे शब्दों में, एक सोच रहे हैं उत्पाद

सॉफ्टवेयर स्नैप्स में दिया जाता है , जिसने इसके लक्षण दिए हैं, हमें विश्वास हो सकता है कि इंस्टॉलेशन और अपग्रेडेशन हर सिस्टम पर काम करेंगे, जैसा कि मूल निर्माता करते हैं। अन्य लक्षण सुरक्षा हैं, जैसे कि सिस्टम से बात करने के लिए पृथक निष्पादन और स्वच्छ इंटरफेस और स्थापित स्नैप्स को कॉन्फ़िगर करना।

इस तरह की चीज को प्राप्त करने के लिए, स्नैप एक डेबियन पैकेज की तुलना में बहुत अलग होते हैं:

  • स्नैप एक अलग-अलग सिस्टम निर्धारित स्थान पर रहते हैं, जबकि डेबियन पैकेज सभी जगह फाइलें फैला सकते हैं।
  • स्नैप के लिए कोई अनुरक्षक स्क्रिप्ट नहीं हैं।

उपयोग करने या करने के मूल प्रश्न पर वापस जाएं , यदि आप अपने डेस्कटॉप को उबंटू कोर से बदलने की योजना बनाते हैं तो मेरा सुझाव है कि आप उबंटू डेस्कटॉप के साथ रहें। उबंटू कोर, मैं व्यक्तिगत रूप से कॉल करना पसंद करता हूं, कुछ भी नहीं बिगाड़ता , क्योंकि अकेले यह कुछ भी नहीं है, लेकिन कुछ पेश करने के लिए एक बहुत अच्छा बिल्डिंग ब्लॉक प्रदान करता है और यही कारण है कि यह इन दिनों IoT में लोकप्रिय है।


3
दूसरे शब्दों में इसकी तरह क्या विंडोज़ करता है?
विष्णुदेव के

1
यह एक व्यापक प्रश्न है। विंडोज विशेष रूप से क्या करता है?
सेर्जियस

4
मैं खिड़कियों में वीएलसी स्थापित कर रहा हूं, यह अंतरिक्ष को हॉग करने के लिए आवश्यक सभी पैकेज स्थापित करता है। जहां linux में हमें केवल वही पैकेज मिलते हैं जो हमारे पास नहीं हैं। अद्यतन और hdd उपयोग के मामले में यह बहुत सुविधाजनक है।
विष्णुदेव के

2
इसी तरह, हाँ। यह apkआपके फोन पर इंस्टॉल करने के लिए अलग नहीं है। जैसे ही वे फिट होते हैं, उनकी निर्भरता के साथ अनुप्रयोग विकसित हो सकते हैं। हालांकि इसे विभाजित करने के तरीके हैं, जैसे कि frameworkस्नैप का उपयोग करके , इसके लिए कड़ी सुरक्षा समीक्षा की आवश्यकता होती है। विंडोज के साथ अंतर यह है कि यहां इंस्टॉलर नहीं हैं, जहां भी वे चाहते हैं, वहां उतरने में सक्षम हैं।
सेर्जियस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.