2012-11-15 16 views
23

जब मैं s3cmd का उपयोग नीचे फ़ाइलें (अनुचित नहीं आकार की - कम से कम 100 मेगाबाइट) खींचने के लिए मैं कभी कभी यह त्रुटि दिखाई: चेतावनी: MD5 हस्ताक्षर मेल नहीं खाते: अभिकलन = ब्ला, प्राप्त = "नहीं-blah"aws s3 - s3cmd: "चेतावनी: MD5 हस्ताक्षर मेल नहीं खाते:" - क्या करें?

गुगलिंग से पता चलता है कि यह S3 सेगमेंट फ़ाइलों के तरीके के कारण हो सकता है। दूसरों ने इसे अनदेखा करने के लिए कहा है।

क्या कोई जानता है कि ऐसा क्यों होता है और क्या करना सही है?

अपने समय के लिए धन्यवाद, - हेनरी

उत्तर

28

इस गहरे में देखकर, ऐसा लगता है कि s3cmd अमेज़ॅन से गलत md5 योग पढ़ रहा है। ऐसा लगता है कि s3cmd को ETAG फ़ील्ड से इसकी राशि मिल रही है। ऑब्जेक्ट के वास्तविक डेटा की तुलना करना जो उस सामग्री के साथ PUT था जिसे सामग्री प्राप्त की गई थी और यह त्रुटि सुरक्षित रूप से अनदेखा की जा सकती है।

+1

मैं इस संदेश मिला है और मूल फ़ाइल मैं अपलोड के खिलाफ एक diff भाग गया और वे मेल खाते हैं, तो निश्चित रूप से s3cmd –

+0

इस से कुछ गलत परिणामों की अब से ठीक किया जा सकता है। विषय 3 साल पहले खोला गया था। – Kru

+1

ऐसा नहीं लगता है। @ क्रू मैंने बस अपनी फाइल के लिए कोशिश की और यह –

1

मैं के बारे में एक घंटे पहले की रिपोर्ट है कि एस 3 वर्तमान में वास्तव में इस समस्या है, उदा रहा है देखा this tweet:

RT @drags: @ylastic S3 returning incorrect md5s to s3cmd as well. Never seen an md5 with a '-' in it, until AWS. #AWS #S3

हालांकि AWS Status Page रिपोर्ट कोई समस्या नहीं है, मैं उम्मीद यह कोई क्षणिक समस्या है। जल्द ही पुनः प्रयास करें :-)

2

यह एक बड़ी समस्या है कि आप s3cmd सिंक का उपयोग कर रहे हैं, क्योंकि यह इसे पूर्व-सिंक की गई फ़ाइलों को फिर से डाउनलोड करने का कारण बनता है। इस को हल करने के --no-check-md5 विकल्प है, जो केवल जांच फ़ाइल आकार को s3cmd का कारण बनता है बदली हुई फाइलों का निर्धारण करने के लिए जोड़ (यह मेरी प्रयोजनों के लिए अच्छा है, लेकिन शायद नहीं हर किसी के लिए, आवेदन के आधार पर)।

+0

जाहिरा तौर पर उस चेतावनी को दबाने नहीं होंगे। – Kemal

+1

संपादन साइट-संकुल/S3/S3.py और चेतावनी निकाल करता है। :) – Kemal

7

एस 3 में एक फ़ाइल का ईटीएजी एमडी 5 से मेल नहीं खाएगा अगर फ़ाइल "मल्टीपार्ट" के रूप में अपलोड की गई थी। जब एक फ़ाइल को मल्टीपार्ट चिह्नित किया जाता है तो एडब्ल्यूएस प्रत्येक भाग को हश करेगा, परिणामों को जोड़ देगा और उसके बाद मान हैश।

यदि फ़ाइल में वास्तव में एकाधिक भाग नहीं हैं तो परिणाम अंत में जोड़े गए हैंश के हैश का होगा। S3 पर फ़ाइलों को अपलोड करने के लिए उपयोग किए जाने वाले टूल में मल्टीपार्ट को अक्षम करने का प्रयास करें। S3cmd के लिए, विकल्प - अक्षम-मल्टीपार्ट है। '-' के साथ एक

3

ETags उन में उम्मीद कर रहे हैं, अगर फ़ाइल S3 मल्टीपार्ट अपलोड सुविधा (आमतौर पर के लिए फ़ाइलों> 15MB या फ़ाइलों stdin से पढ़ा करते थे) का उपयोग कर अपलोड किया गया था। s3cmd 1.5.2 यह जानता है और ऐसे ईटैग को अनदेखा करता है। यदि आपका एस 3 सीएमडी 1.5.2 से बड़ा है, तो कृपया अपग्रेड करें।

संबंधित मुद्दे