पैकेज प्रबंधकों के पास प्रति उपयोगकर्ता इंस्टॉलेशन और रजिस्ट्रियां क्यों नहीं हैं?


23

Apt और DNF / Yum दोनों, मेरी जानकारी के लिए लिनक्स वितरण के लिए दो सबसे लोकप्रिय पैकेज प्रबंधन योजनाएं, केवल पैकेज की प्रणाली-विस्तृत स्थापना का समर्थन करते हैं: रूट के स्वामित्व वाली फाइलें, बायनेरी अंदर जाती हैं (/usr)?/s?bin, सेटिंग्स अंदर जाती हैं /etcऔर इसी तरह।

हालांकि, उन प्रणालियों पर जिनमें कई व्यक्तिगत उपयोगकर्ता हैं जिनके पास रूट विशेषाधिकार नहीं हैं, यह बहुत बार होता है - यदि हमेशा नहीं होता है - ऐसा होता है कि उपयोगकर्ता कुछ एप्लिकेशन या उपयोगिताओं को स्थापित करना चाहता है जो उस वितरण के लिए उपलब्ध हैं; और s / वह एक संस्थापन के साथ ठीक है जो कई / सभी उपयोगकर्ताओं के लिए व्यक्तिगत और सामान्य नहीं है।

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

तो क्या कारण है कि इस कार्यक्षमता को उन सामान्य पैकेज प्रबंधन प्रणालियों / योजनाओं में नहीं जोड़ा गया है?

नोट: यह एक सूचनात्मक प्रश्न है, अर्थात मैं इस बारे में पूछ रहा हूं कि लोग अतीत के बारे में क्या जानते हैं , न कि लोग इस सुविधा के बारे में क्या सोचते हैं।


3
यदि यह प्रदान किया गया होता, तो यह मेरे समय के बहुत से सॉफ्टवेयर को कंप्यूटर पर स्रोत से संकलित करने से बचा लेता था, जो कि मेरे पास सुपर्यूसर विशेषाधिकार नहीं है। मैं इसका उत्तर जानने के लिए उत्सुक हूं।
वीजुन झोउ

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

1
@Thegs: मुझे संदेह है कि यह विचार था। कुछ सॉफ्टवेयर परियोजनाएँ महत्वपूर्ण विशेषताओं से दूर रहने के कारण जैसे "अगर लोगों ने ऐसा किया तो वे अपनी डिस्क ड्राइव को भर देंगे"। यदि यह किसी प्रकार का सुरक्षा जोखिम होता, तो शायद। इसके अलावा, बहु-उपयोगकर्ता प्रणालियों पर, कोटा होगा; और कुछ लोग कभी भी इस का उपयोग करेंगे। इसके अलावा यह सब अटकलें हैं ...
einpoklum - मोनिका

2
संक्षेप में: उपयोगकर्ता डेटा के साथ गड़बड़ी करना सिस्टम पैकेज मैनेजर का काम नहीं है। ~ / बिन, ~ / lib, आदि हैं, सिस्टम के पीओवी से, "उपयोगकर्ता डेटा"।
कैस

1
मैंने कुछ संकुल देखे हैं pip, npmऔर gopkgआंशिक रूप से वितरित किए गए हैं क्योंकि वे डिस्ट्रो-इंडिपेंडेंट हैं और आंशिक रूप से क्योंकि वे आमतौर पर उपयोगकर्ता-विशिष्ट इंस्टॉलेशन की अनुमति देते हैं।
बॉब

जवाबों:


15

हालांकि आम पैकेज प्रबंधक इस उपयोग के मामले को संबोधित नहीं करते हैं, फिर भी कई परियोजनाएँ हैं:

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


इसलिए, RPM इसका समर्थन करता है, लेकिन कहते हैं, dpkg नहीं करता है?
einpoklum -

1
मैं dpkg के बारे में नहीं जानता कि मैं बहुत ईमानदार रहा हूँ, क्योंकि मैंने कभी भी .deb पैकेज नहीं बनाया है। मुझे लगता है कि dpkg डायनेमिक इंस्टॉलेशन निर्देशिकाओं का समर्थन करता है, लेकिन मुझे संदेह है कि कई .deb पैकेज मेंटेनर्स करते हैं।
जयेन्ड्रीन

एक और बात ... क्या ये आमतौर पर खरोंच, बूटस्ट्रैप से बनते हैं, या सिस्टम-वाइड स्तर पर जो कुछ भी स्थापित है, उस पर निर्भर रहते हैं?
ईनपोक्लुम

1
सिस्टम-वाइड पैकेज प्रबंधन मानता है कि यह स्थापित नहीं किया गया था, तो कुछ भी उपलब्ध नहीं है, इसलिए फ़ाइलों के संदर्भ में निर्भरता की खोज उन फ़ाइलों वाले पैकेजों के संदर्भ में निर्भरता की खोज के बराबर है। लेकिन एक माध्यमिक पैकेज प्रबंधक के साथ, सिस्टम-वाइड पैकेज / फाइलें और उपयोगकर्ता-विशिष्ट पैकेज / फाइलें हैं। क्या पैकेज प्रबंधक आमतौर पर केवल उसी पर निर्भर करते हैं जो उन्होंने डाउनलोड किया है और / या बनाया है?
einpoklum -

2
निर्भर करता है। होमब्रे और इमर्ज जैसे स्रोत से संकलन करने वाले आमतौर पर बहुत अधिक निर्भरता के बिना पैकेज बनाने की कोशिश करते हैं। अन्य पैकेज के साथ निर्भरता को बंडल करते हैं (यह सबसे अधिक ऐप स्टोर स्टाइल टूल काम करता है, साथ ही साथ फ्लैटपैक और स्नैप्स भी है)। ज़ीरो इंस्टाल जैसे अन्य सभी निर्भरताएँ अलग-अलग उपयोगकर्ता-स्तरीय संकुल के रूप में स्थापित करते हैं।
22 अक्टूबर

6

तो क्या कारण है कि इस कार्यक्षमता को उन सामान्य पैकेज प्रबंधन प्रणालियों / योजनाओं में नहीं जोड़ा गया है?

क्योंकि यह प्रबंध प्रणालियों की जटिलता को बढ़ाता है जो आवश्यक है।

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