स्नैप-पैकेज क्यों मौजूद हैं - क्या कोई वास्तविक आवश्यकता है?


11

मान्यताओं

ईमानदारी से, मैं स्नैप-पैकेज के बारे में ज्यादा नहीं जानता - लेकिन यह इस सवाल के लिए अप्रासंगिक है - नीचे देखें। मुझे लगता है कि सिस्टम मौजूदा एक से काफी अलग है।

क्या बदलाव का कोई मतलब है?

क्या वास्तविक जरूरत है, काफी मजबूत? वह है - क्या कोई नया उपयोग मामला है, जो एक नए प्रारूप को विकसित करने के लिए पर्याप्त महत्वपूर्ण है - और संबंधित बुनियादी ढांचा?

क्या नए उपयोग के मामलों को कवर करने के लिए वर्तमान पद्धति को बदलना संभव नहीं था?

या मुझे बात याद आ रही है?

यह संभव है कि जो मैं देख रहा हूं वह ज्यादातर विपणन है - नए नाम और प्रस्तुति न्यूनतम तकनीकी परिवर्तन के लिए, एक मौका पाने के लिए कि कोई भी निकाय इसे "नया और बेहतर" मानता है और इसका वास्तव में उपयोग किया जा सकता है। इसके अलावा, यह हो सकता है कि नए पैकेज मौजूदा प्रारूप के आधार पर इतनी बारीकी से हों कि यह उपयोगकर्ता के लिए प्रस्तुति में बदलाव हो। यह एक अच्छा उपाय हो सकता है। इस मामले में, यह सवाल ज्यादा प्रासंगिक नहीं होगा।

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

तो, वे क्यों मौजूद हैं?


पृष्ठभूमि

मेरी पहली प्रतिक्रिया थी "इससे कोई मतलब नहीं है!"

यह एक ऐसी स्थिति के समान है जहां भौतिकी साइट पर, किसी ने पूछा, दुखी, कोई भी अपने शानदार नए विचारों के जवाब में चर्चा क्यों नहीं करता है। यह दृढ़ता से दरार विचारों की तरह लग रहा था; वास्तविक भौतिक ज्ञान से इतना दूर कि शुरुआत करने के लिए भी एक बिंदु खोजना कठिन था। मैंने एक उत्तर लिखा जो उनके विचारों को एक शब्द के साथ नहीं छूता था, लेकिन यह समझाता था कि कोई व्यक्ति केवल दरार वाले विचारों पर चर्चा क्यों नहीं करेगा - इसका पहला मामला नहीं। जवाब वास्तव में बात मार रहा था, मुझे लगता है।

अगर मेरी धारणा सही थी, तो यह मामला समान है।

लेकिन फिर, शायद नहीं - चलो देखते हैं।


"मुख्य रूप से राय आधारित" कहने के लिए करीबी वोट है - इसका मतलब यह है कि जवाब राय आधारित होने की उम्मीद है? यह मूल रूप से अपने आप में एक जवाब है, क्योंकि इसका मतलब है कि कोई स्थापित आम सहमति नहीं है कि परिवर्तन की आवश्यकता है। इसलिए प्रो और गर्भनिरोधक तर्क होंगे; इसका मतलब होगा कि मेरा सवाल वास्तव में बहुत हद तक है, और मेरी अपेक्षा से अधिक उपयोगी है!
वोल्कर सेगल

2
मैंने इस प्रश्न को फिर से खोलने के लिए मतदान किया है। यह वास्तव में पूछ रहा है कि स्नैप क्यों पेश किए गए थे, जब पैकेज मैनेजर पहले से मौजूद थे और उबंटू (और अन्य ओएसएस) पहले से ही उनके पास थे। तो आप सही हैं: यदि यह वास्तव में एक मुख्य रूप से राय आधारित प्रश्न था, तो इसका मतलब यह होगा कि इसका कोई उत्तर मुख्य रूप से तथ्यों और अनुभव के आधार पर नहीं दिया जा सकता है। हालाँकि, जैसा कि आपने मुरु के उत्कृष्ट उत्तर से देखा , ऐसा नहीं है। जब (या भले ही) स्नैप का उपयोग किया जाना चाहिए अभी भी कुछ ऐसा है जिसके बारे में लोग मुख्य रूप से राय-आधारित चर्चा कर सकते हैं, लेकिन यह ऐसा नहीं था।
एलिया कगन

जवाबों:


17

हां, एक वास्तविक जरूरत है।

पहली बार एक सॉफ्टवेयर के दूसरे पर निर्भर होने के बाद से कुछ इस तरह की वास्तविक आवश्यकता है।

आइए इसे स्पष्ट करें:

निर्भरता को प्रबंधित करना कठिन है

वहाँ एक कारण है कि इसे निर्भरता नरक कहा जाता है । निर्भरता नरक से बचने के इरादे से आरपीएम और डेबियन जैसी पैकेजिंग प्रणाली बनाई गई। हालांकि, किसी को लागत का भुगतान करना होगा:

  1. विंडोज पर, जहां प्रोग्राम अपनी निर्भरता को बढ़ाते हैं, उपयोगकर्ता को अपग्रेड का ख्याल रखना पड़ता है (और इसके अभाव से सुरक्षा संबंधी समस्याएं)। अगर मैं अपने ऐप के लिए किसी चीज़ के संस्करण X को सरल चाहता हूं, तो मैं इसे अपने ऐप के साथ प्रदान करता हूं। अब मैं अपडेट कैसे संभालूं?
  2. अधिकांश लिनक्स डिस्ट्रोस (डेबियन या रेड हैट के बाद), जहां एक प्रोग्राम रिपॉजिटरी के सॉफ्टवेयर पर निर्भर कर सकता है, रिपॉजिटरी के एक प्रोग्राम को रिपॉजिटरी के सॉफ्टवेयर पर निर्भर होना चाहिए । अगर मैं अपने ऐप के लिए किसी चीज़ का संस्करण X चाहता हूं, और डिस्ट्रो एक्स को सरल प्रदान करता है: मैं इस पर निर्भर करता हूं। और अगर डिस्ट्रो नहीं है? फिर: ???
    • डिस्ट्रो में कई वर्जन जोड़ने से मेंटेनर पर लोड बढ़ता है
    • निर्भरता के विकल्प के संस्करण का उपयोग करने की क्षमता खोने से डेवलपर पर भार बढ़ जाता है
    • अनुप्रयोगों के विकल्प के संस्करण का उपयोग करने की क्षमता खोना उपयोगकर्ता को निराश करता है

किसी भी विधि में स्वतंत्रता का काफी नुकसान होता है।

और यह वह जगह है जहां स्नैप्स आते हैं: उन्होंने देव को संस्करण एक्स को शामिल करने दिया, और पैकेजिंग सिस्टम को अपडेट प्रबंधित करने दिया। लागत का भुगतान कौन करता है? उपभोक्ता:

  • अधिक स्थान की आवश्यकता होती है।
  • एक लापरवाह देव के कारण उन्हें अपने जोखिम में डालकर, जब एक निर्भरता पैच होती है, तो वे अपने स्नैक्स का पुनर्निर्माण नहीं करते हैं।

बदले में मुझे क्या लाभ मिलता है?

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

3
हां, मुझे लगता है कि निर्भरता नर्क इसका काफी अच्छा वर्णन करती है।
वोल्कर सेगल

मुझे विपरीत आवाज बनाने दें :), वे सिर्फ उपयोग क्यों नहीं करते हैं /opt?
user.dz

@ स्नेचर इस बारे में इस तरह से सोचते हैं: क्या एक ऐप को किसी अन्य ऐप / इन-ऑप्ट में लिखने से रोकता है? इससे भी बदतर, आप एक ऐप को दूसरे ऐप की निजी कुंजियों को पढ़ने से कैसे रोक सकते हैं?
इवान

@ इवान, कुआं AppArmorपहले से ही कवर करने के लिए बाहर है। लेकिन सुरक्षा का तरीका अलग हो सकता है। वैसे भी विषय को बोर्ड करना है।
user.dz

muru, यह सब लिखने के लिए धन्यवाद। यह गूगल पर पहला जवाब था, वैसे, क्यों के बारे में। मैं उत्सुक हूं, हालांकि। मैं देख सकता हूं कि मेरा सिस्टम क्रोमियम के लिए स्नैप्स का उपयोग कर रहा है। और अब मैं Skype स्थापित करना चाहूंगा। आमतौर पर मैं sudo apt-get install skypeलेकिन फिर मैं इसे एक तस्वीर के रूप में उपलब्ध है। लेकिन जब मैंने क्रोमियम स्थापित किया तो मैंने स्नैप का उपयोग करने के लिए कुछ विशेष नहीं किया। फिर भी यह करता है। तो अब मैं समझता हूं कि क्यों थप्पड़ मौजूद हैं, और मुझे खुशी है कि वे करते हैं। अगर मुझे चिंता करने की ज़रूरत है तो मैं अब उत्सुक हूं sudo snap install skype?
एसडीसोलर

3

स्नैप्स की एक विशेष विशेषता जो उपयोगी हो सकती है, डेवलपर्स के लिए एक चैनल चुनने की क्षमता है जो एक से अधिक चैनल प्रदान करता है, जैसे कि रिलीज़ , उम्मीदवार , मास्टर , आदि।

उदाहरण के लिए, चैनल बटन पर क्लिक करने से nextcloudनीचे स्क्रीनशॉट में संवाद दिखाई देगा।

अन्य मजबूत विक्रय बिंदु अलगाव, अपरिवर्तनीयता और सैंडबॉक्सिंग हैं जो एक सुरक्षा नीति संदर्भ द्वारा नियंत्रित होते हैं , जो प्रति-एप्लिकेशन अनुमतियों को परिभाषित करने की अनुमति देता है, जैसे कि 'प्लग'।

  • स्थानों को पढ़ें / लिखें
  • हटाने योग्य भंडारण तक पहुंच
  • वे देश जहां स्नैप को व्हाइट किया गया / ब्लैकलिस्ट किया गया है
  • नेटवर्क का उपयोग
  • कैमरा, प्रिंटर, जॉयस्टिक, जीपीएस लोकेशन
  • प्रणाली व्यवस्था
  • ... स्नैप इंटरफेस की पूरी सूची

दृष्टिकोण कुछ हद तक MacOS ऐप बंडल और अनुमतियों और सामग्री प्रदाताओं / रिसीवर के साथ एंड्रॉइड के ऐप सैंडबॉक्सिंग की नकल करता है।

ubuntu स्नैप पैकेज चैनल का चयन करें

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.