मैं कई कंप्यूटरों पर एक बड़ा डाउनलोड कैसे वितरित करूं?


38

मुझे एक बड़ी फ़ाइल (1 जीबी) डाउनलोड करने की आवश्यकता है। मेरे पास लिनक्स चलाने वाले कई कंप्यूटरों तक पहुंच है, लेकिन प्रत्येक एक व्यवस्थापक नीति द्वारा 50kB / s डाउनलोड गति तक सीमित है।

मैं इस फ़ाइल को कई कंप्यूटरों पर डाउनलोड करने और सभी खंडों के डाउनलोड होने के बाद उन्हें मर्ज कैसे कर सकता हूं, ताकि मैं इसे तेज़ी से प्राप्त कर सकूं?


7
इसे घर पर डाउनलोड करें, और usb थंबड्राइव के माध्यम से इसे स्नीकरनेट करें।
वर्नरसीडी

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

यदि कोई डाउनलोड प्रतिबंध नहीं है, तो दूसरा छोर कितनी तेजी से फ़ाइल भेज सकता है? क्या लैन पर कंप्यूटर के बीच स्थानांतरण प्रतिबंध हैं?
सूर्य

@SunWKim नंबर वहाँ कोई विशेष प्रतिबंध नहीं है।
मेसम सिप

जवाबों:


60

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

आप रेंज निर्दिष्ट करने के लिए उपयोग कर सकते हैं curlऔर -rया --rangeविकल्प और अंततः catफाइलों को एक साथ जोड़ सकते हैं। उदाहरण:

curl -r 0-104857600         -o distro1.iso 'http://files.cdn/distro.iso'
curl -r 104857601-209715200 -o distro2.iso 'http://files.cdn/distro.iso'
[…]

और अंततः जब आप अलग-अलग हिस्सों को इकट्ठा करते हैं, तो आप उन्हें संक्षिप्त करते हैं:

cat distro* > distro.iso

आप फ़ाइल के बारे में और जानकारी प्राप्त कर सकते हैं, --headविकल्प सहित इसका आकार :

curl --head 'http://files.cdn/distro.iso'

आप एक खुली सीमा के साथ अंतिम हिस्सा प्राप्त कर सकते हैं:

curl -r 604887601- -o distro9.iso 'http://files.cdn/distro.iso'

अधिक विकल्पों और स्पष्टीकरण के लिए कर्ल मैन पेज पढ़ें ।

आप आगे चलकर और कई सर्वरों पर डाउनलोड का ट्रैक रखने में आसानी के लिए ssh और tmux का लाभ उठा सकते हैं।


15
नोट: सावधान, जब आपके शेल द्वारा विस्तारित के cat distro* > ...रूप में फ़ाइलों की छँटाई का उपयोग करते हुए *इसे इस तरह से सॉर्ट किया जा सकता है: distro1.iso distro10.iso distro11.iso ...और इस प्रकार गलत क्रम में कंक्रीटिंग।
सेबस्टियन

8
@ सेबस्टियन के नोट के लिए एक फिक्स होगा:cat distro{1..10}.iso
नॉनचिप

1
वह समाधान शेल विशिष्ट है और पोर्टेबल नहीं है। cat $(seq -fdist%g.iso 1 10)अधिक पूर्वानुमान होना चाहिए, लेकिन इसमें विफल रहता है csh, हालांकि। जगह $(…)backtics के साथ सबसे अधिक गोले में काम करने लगता है।
मार्को

3
@ मार्को, seqएक पोर्टेबल कमांड नहीं है। आप उपयोग कर सकते हैं distro001.iso, distro002.iso...distroy010.iso
स्टीफन चेज़लस

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

0

1 गीगाबाइट फ़ाइल को प्रति सेकंड 50 किलोबाइट पर लोड करने में लगभग 5.5 घंटे का समय लगेगा।

ऐसा लगता है कि कई कंप्यूटरों को समन्वित करने का प्रयास कुछ समय के लिए बचा सकता है।

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

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