Wd के दौरान md5 प्राप्त करना


10

मैं wgetबड़ी फाइलें (100GB से अधिक) ले रहा हूं और फिर मेरे md5sum की तुलना रिपॉजिटरी में पोस्ट की गई राशि से कर रहा हूं। मानो या न मानो, md5sumइस आकार की एक फ़ाइल पर चलने के लिए एक nontrivial समय लगता है, इसलिए मैं डाउनलोड के साथ समांतर राशि प्राप्त करना चाहता हूं।

ऐसा करने का सबसे अच्छा तरीका क्या है? मुझे wgetडाउनलोड के दौरान (आश्चर्यजनक रूप से) एमडी 5 की गणना करने का विकल्प नहीं दिखता है, इसलिए मुझे लगता है teeकि जाने का रास्ता होगा?


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

@MaxMackie: यह निश्चित रूप से संभव है: जब से मैं पूरी फ़ाइल डाउनलोड कर रहा हूं, wget सैद्धांतिक रूप से MD5 के माध्यम से इसे चला सकता है। अनफ, यह नहीं है।
फिक्स

जवाबों:


12

वास्तव में, यह संभव हो सकता है:

wget -O - http://example.com/file | tee file | md5sum > file.md5

हालाँकि, यह मानता है कि आपके पास पहले से एक फ़ाइल में हैश है।


1
यह ठीक लग रहा है, और मुझे नहीं लगता कि यह "पहले से एक फ़ाइल में है" होने के बारे में कुछ भी कैसे मानता है। यह सिर्फ आपके साथ जाने के योग बनाता है और इसे एक फाइल पर लिखता है जिसे आप बाद में तुलना करने के लिए उपयोग कर सकते हैं। एकमात्र कैच मेमोरी ओवरहेड हो सकता है।
कालेब

2
@ कालेब क्या स्मृति उपरि? md5sum(और कोई अन्य सामान्य हैश एल्गोरिथम जैसे SHA परिवार) निरंतर मेमोरी में काम करता है। वे धाराओं पर काम करने के लिए डिज़ाइन किए गए हैं।
गिलेस एसओ- बुराई को रोकना '

awkअंत में एक अतिरिक्त के साथ आप `-` ए को स्वचालित रूप से हटा सकते हैं। wget -O - "https://example.org/myFile.jpg" | tee file | md5sum | awk '{print $1}' > md5.txt
मैक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.