मैं न्यूनतम डाउनलोड आकार के लिए निर्भरता के पेड़ को अनुकूलित करने के लिए उपयुक्त कैसे बाध्य कर सकता हूं?


10

कुछ पृष्ठभूमि की जानकारी :

जैसा कि आप जानते हैं, एक डेबियन पैकेज में, वैकल्पिक निर्भरताएं हो सकती हैं Depends: apache2|something-else, उदाहरण के लिए, कंट्रोल फ़ाइल में लिखा गया है । कैसे करता है aptचुनें के लिए उनकी निर्भरता जो चयन करें, और मैं यह कैसे ओवरराइड कर सकते हैं तो मैं डाउनलोड आकार को कम कर सकते हैं?

मैं कुछ स्थानों पर धीमे कनेक्शन पर हूं और इसे सबसे छोटे कुल डाउनलोड आकार का उपयोग करने की आवश्यकता है। मैं ऐसा करने के लिए कैसे मजबूर कर सकता हूं?

संपादित करें: मैं स्किपिंग अनुशंसाओं के बारे में नहीं पूछ रहा हूं।

संपादित करें 2: मैं लंघन निर्भरता के बारे में नहीं पूछ रहा हूँ। मैं सभी निर्भरताओं को प्राप्त करने की कोशिश कर रहा हूं, बस सबसे छोटे कुल आकार में, विशेष रूप से ध्यान देने योग्य और गहरा अनुरेखण package1|package2विकल्प।

संपादन 3: एक grepया अन्यथा शेल स्क्रिप्ट स्वीकार्य है।

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

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

जवाबों:


3

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


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

1
@ ObsessiveSSOℲ ईमानदारी से मेरे पास समय नहीं है, हालाँकि यदि आप इसे करना चाहते हैं तो यह कमांड: VAR = $ (apt-cache show gedit | grep "Size" | grep -Ev 'I' 'sed' s / Size: // g ') आपको पैकेज का आकार मिलेगा, जिसका उपयोग आप इस कमांड का उपयोग करके आबाद सरणी में मूल्यों की तुलना करने के लिए कर सकते हैं। क्षमा करें, मैं और अधिक मदद नहीं कर सकता।
डेविड

अगर इससे बेहतर कुछ नहीं आता है, तो आप वास्तव में इस इनाम के विजेता हैं।
नैनोफैरड

@ ObsessiveSSOℲ क्या आप पूरी निर्भरता के साथ एक पैकेज का उदाहरण दे सकते हैं
डेविड

कुछ सरल के रूप में wordpress, जिसमें शामिल है apache2|httpd। यह भी ध्यान दें कि httpdएक आभासी पैकेज है। मैं तुम्हें इनाम भी दूंगा। मैं हालांकि अभी तक स्वीकार नहीं करेंगे।
नानोफारड

1

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

यदि आप जानते हैं कि आप क्या कर रहे हैं, (उदाहरण के लिए, आप पहले से ही स्थापित हैं foo, लेकिन यह कहता है कि आपको इसे पुन: स्थापित करने की आवश्यकता है,) और जब आप कोई फ़ाइल स्थापित करते हैं, तो सभी निर्भरताएँ छोड़ना चाहते हैं, ध्वज जोड़ें --no-install-recommendsइस प्रश्न के
कुछ उत्तर बताते हैं कि निर्भरता के बिना विशिष्ट पैकेज कैसे स्थापित किया जाए। उन्होंने इसे मेरे द्वारा किए गए तुलना में काफी गहरा कवर किया, इसलिए यदि आपको अभी भी परेशानी हो रही है या मेरे जवाब से आपकी समस्या हल नहीं हुई है, तो मैं उस धागे पर एक नज़र डालने की सलाह दूंगा।


-2

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

आप एक कार के लिए पूछ रहे हैं जो अभी भी एक 4 पहिया गायब है (चलो इस रूपक के लिए 'बैक-लेफ्ट' कहते हैं), वजन को बचाने के लिए। कुछ बिंदु पर आपको दाएँ मुड़ने की आवश्यकता होती है। कार अभी भी लुढ़केगी, लेकिन केवल निश्चित कार्यक्षमता के साथ ... 'अनुशंसित' स्थापित नहीं करने से मुझे लगता है कि आप विकास में देरी करने के साथ ही सुरक्षित रूप से संभव हो रहे हैं।


6
आप वास्तव में सवाल नहीं समझ पाए। वह निर्भरता जानता है। लेकिन आपको पता होना चाहिए कि, एक ही निर्भरता को संतुष्ट करने वाले दो पैकेज हो सकते हैं। उस स्थिति में, वह कम आकार का एक चाहता था
अनवर

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

@as ty स्पष्ट करने और सूचित करने के लिए। :) (मैं नीचे वोट आपत्ति नहीं है।)
knope

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