सॉफ़्टवेयर केंद्र एकाधिक डाउनलोड की अनुमति क्यों नहीं देता है?


29

मैं सोच रहा था कि क्यों सॉफ्टवेयर सेंटर सभी अनुरोधित ऐप्स को डाउनलोड नहीं करता है और एक-एक करके इंस्टॉल करता है क्योंकि वे डाउनलोड करने के लिए तैयार हैं। या इसके बजाय क्यों सॉफ्टवेयर केंद्र एक एप्लिकेशन डाउनलोड नहीं करता है जबकि दूसरा स्थापित है


शायद बस बैंडविड्थ बचाने के लिए ...
drnessie

1
AFAIK sudo apt-get installजितने चाहें उतने पैकेज स्थापित कर सकते हैं। आपको पैकेज का नाम जानना होगा।
सागरचलीस

@drnessie नहीं यह नहीं है! यदि आप दोनों को एक ही समय में स्थापित करते हैं, तो आप उन्हें एक ही समय में डाउनलोड कर लेंगे और फिर उस समय उन्हें एक स्थापित कर सकते हैं।
अलवर

@ अलवर ओके। मैंने लिनक्स मिंट में किया है। लेकिन उबंटू में भी यही कोशिश करने से काम नहीं चलता। कैसे करें?
MycrofD

@MycrofD और आप क्या प्रयास कर रहे हैं?
अलवर

जवाबों:


29

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

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

मुझे विस्तार से बताएं:

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

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

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


वास्तव में, apt-get पैकेज डाउनलोड किए बिना उन्हें स्थापित कर सकता है, हालांकि मुझे यकीन नहीं है कि 100% एक बंद डेटाबेस के साथ काम करता है ...
JanC

लिनक्स मिंट में एक साथ डाउनलोडिंग और शायद इंस्टॉलेशन काम करता है। यह उबंटू में नहीं है।
MycrofD

2
@MycrofD: मैं वास्तव में नहीं जानता कि उस टिप्पणी का क्या मतलब होना चाहिए था। सुनिश्चित करें कि आप उबंटू के साथ एक बार में कई पैकेज डाउनलोड कर सकते हैं। आप बस उस पर आधारित apt-get और टूल्स के साथ ऐसा नहीं कर सकते। स्पष्ट रूप से इस बात की परवाह किए बिना कि आप किस डिस्ट्रो के बारे में बात कर रहे हैं।
जो-एर्लेंड शिनस्टैड

10

आप उस समय केवल एक पैकेज स्थापित कर सकते हैं sudo apt-get install, लेकिन आप एक कमांड के साथ कई पैकेज स्थापित कर सकते हैं। ऐशे ही:

  • sudo apt-get install ubuntu-desktop lubuntu-desktop

यह दोनों ubuntu-desktopऔर lubuntu-desktopजो भी निर्भरताएं आवश्यक हैं, उन्हें सही क्रम में स्थापित करेगा ।

इसके अलावा जब आप अपने सिस्टम को अपडेट करते हैं sudo apt-get upgrade, तो आप पहले सभी सॉफ्टवेयर डाउनलोड करते हैं और फिर उस समय एक पैकेज स्थापित करते हैं।

एक साथ
कई पैकेज स्थापित नहीं कर पाने का कारण यह है कि एक apt-getही समय में एक ही विशेषाधिकार विशेषाधिकार का उपयोग कर सकता है । इसका कारण यह है apt-getपर ताले software sourcesऔर उन्हें का उपयोग करने से ब्लॉक किसी अन्य आदेश।

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

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


विंडोज "आधिकारिक" (MSI) इंस्टॉलर का उपयोग करके समान व्यवहार करता है

विंडोज में भी, कई सॉफ्टवेयर्स को एक साथ स्थापित किया जा सकता है ... क्या इसमें एक फायदा है या यह क्यों लिनक्स / ubuntu, आदि में एक आवश्यकता है ...

एक समय में एक से अधिक उदाहरण चलाने के लिए आधिकारिक विंडोज इंस्टॉलर (MSI) का उपयोग करने वाले पैकेज। ऐसा इसलिए है क्योंकि MSI इंस्टॉलर डेटाबेस sources.list, dpkg info files आदि के समान है - आप एक से अधिक इंस्टॉलर को एक बार में संशोधित / लॉक करना नहीं चाहते हैं।

लेकिन बहुत सारे विंडोज पैकेज थर्ड-पार्टी इंस्टॉलर्स जैसे कि इंस्टीहेल्ड, एनएसआईएस इत्यादि का उपयोग करते हैं, जो एक-दूसरे के साथ चलेंगे क्योंकि उन्हें एमएसआई डेटाबेस को एक्सेस / संशोधित करने की आवश्यकता नहीं है। इसी तरह, लिनक्स / उबंटू में, कोई भी आपको एक ही समय में एक apt-get, tar -xzfऔर एक पर्ल / बैश स्क्रिप्ट को चलाने से नहीं रोकता है :)


1
अगर मैं गलत नहीं हूँ, कई अनुप्रयोगों का उपयोग कर चलाया जा सकता है sudoएक ही समय में, लेकिन जब यह प्रबंधन पैकेज की बात आती है, केवल एक ही तरह के एप्लिकेशन इंस्टॉल कर सकते हैं या एक निश्चित समय पर निकालने के संकुल, के बाद से चल रहा है aptएक हो जाता है ताला पर sources.listयदि कोई और इसलिए अन्य पैकेज प्रबंधन ऐप को चलाने की कोशिश की जाती है, यह उस फ़ाइल पर लॉक नहीं करेगा और इसलिए नहीं चलेगा।
कुशाल

@ कुश यह है कि केवल एक ही उपयोग कर सकते हैं, क्षमा करें, मुझे उस त्रुटि के बाद एक लंबा समय हो गया था।
अलवर

@Rinzwind यह आप क्या मतलब है? :)
अलवर

2
@ अलवर: तल पर समान विंडोज व्यवहार को शामिल करने के लिए संपादित किया गया: लोग नहीं चाहते कि गलत जानकारी मिले कि विंडोज "श्रेष्ठ" है;)
ish

1
@ अलवर ... थैंक्स ए लॉट। !! यह मेरी मूल बातें साफ करता है ..;)
निर्मिक

7

सबसे पहले, यह बता दें कि यह उत्तर उस चीज़ से है जिसे मैंने अपने अनुभवों से चमकाया है dpkgऔर apt। मैंने इसे निर्धारित करने के लिए वास्तविक सॉफ्टवेयर सेंटर कोड को नहीं देखा है।

यह अंतर्निहित सॉफ़्टवेयर के डिज़ाइन की एक सीमा है।

dpkgसिस्टम का एक हिस्सा जो उबंटू पैकेज के लिए उपयोग करता है, उसमें एक फीचर शामिल है जो /var/lib/dpkg/lockमल्टीपल dpkg( apt-getऔर उबंटू सॉफ्टवेयर सेंटर सामने के छोरों को रोकने के लिए "लॉक" है) खुद को और अन्य बुरी, बुरी चीजों को अधिलेखित करने से रोकता है ।

जब आप सॉफ़्टवेयर स्थापित करते हैं तो क्या होता है? क्या होता है यह शुरू होता है sudo apt-get install chromium-browser(एक उदाहरण के रूप में क्रोमियम का उपयोग करने के लिए)।

और जब ऐसा होता है, तो लॉक बंद हो जाता है। एक बार जब आप एक से अधिक पैकेज को स्थापित करने के लिए जोड़ते हैं, तो आगे क्या होता है, यह तब तक इंतजार करता है जब तक कि अगला aptकमांड शुरू होने से पहले ही पूरा नहीं हो जाता ।


4

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

एक अंतिम लाभ ज्यादातर महत्वपूर्ण होता है जब आप एक साथ कई पैकेजों को स्थापित या अपग्रेड करते हैं: यदि प्रश्नों का उत्तर देना होता है, तो वे सभी इंस्टॉल प्रगति के दौरान प्रत्येक अभिगम के बाद आएंगे। इसलिए आप हर 5 मिनट में एक अलग प्रश्न के द्वारा काम पर रखने के बजाय काम करते रह सकते हैं।


आपके पास कुछ दिलचस्प बिंदु थे। :)
जो-एर्लेंड शिनस्टैड

2

कारण यह है कि apt-get के दो उदाहरण एक साथ काम नहीं कर सकते हैं, क्योंकि एप्लिकेशन सिस्टम ऑपरेशन के लिए महत्वपूर्ण कई फाइलों को पढ़ / लिख रहा है। किसी एप्ट-गेट ऑपरेशन द्वारा किसी फाइल को पढ़ना या लिखना, जबकि दूसरा उसी पर काम कर रहा हो, इससे फाइल के खराब कॉन्फ़िगरेशन और / या नुकसान की समस्या पैदा हो जाएगी। इसलिए जब एप्ट-गेट ऑपरेशन होता है, तो यह उन फाइलों को "लॉक" कर देता है, जिन्हें एक और ऑपरेशन की आवश्यकता होती है, उन्हें एक साथ निष्पादित नहीं किया जा सकता है, उर्फ ​​यह एक ध्वज उठाता है जो अन्य संचालन को बताता है कि फाइलें वर्तमान में उपयोग में हैं।

हालाँकि, apt द्वारा आवश्यक फ़ाइलों का एक साथ डाउनलोड (या कई स्रोतों से डाउनलोड) कमांड apt-fast के साथ संभव हैं

https://github.com/ilikenwf/apt-fast


0

एक समय में कई फ़ाइल स्थापित करने का सरल तरीका, इन चरणों का पालन करें

  1. सभी इंस्टॉलेशन फ़ोल्डर की प्रतिलिपि बनाएँ, उदाहरण के लिए: / होम / उपयोगकर्ता / ऐप
  2. टर्मिनल खोलें और टाइप करें:

    सीडी / घर / उपयोगकर्ता / एप्लिकेशन

  3. और फिर दोबारा टाइप करें

    sudo dpkg -i * .deb

स्थापना समाप्त होने तक प्रतीक्षा करें।


1
वह अब भी .deb फ़ाइलों को एक-एक करके स्थापित करता है । ओपी ने जो नहीं पूछा - वह कई .deb फाइलें एक साथ इंस्टॉल करना चाहता है।
ish

-1

जब आप टर्मिनल 1 में दूसरे को स्थापित कर रहे हैं तो आपको पैकेज डाउनलोड करना होगा

sudo apt-get install vlc

फिर दूसरे टर्मिनल 2 में एक और पैकेज डाउनलोड करें

sudo apt-get download openssh-server

उपयुक्त विकल्प के साथ उपलब्ध अन्य विकल्पों को देखने के लिए अपने आदमी को सरल प्रकार देखें

apt-get <press tab on your keyboard>

इस सवाल का जवाब नहीं है।
गुंटबर्ट

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