यहाँ मेरी समस्या है: मुझे बड़ी फ़ाइलों (आमतौर पर 30 से 40 जीबी प्रत्येक) के लिए बहुत सारी (60 टीबी तक) फ़ाइलों को संग्रहीत करने की आवश्यकता है। मैं संग्रह करने से पहले इन फ़ाइलों के चेकसम (md5, sha1, जो भी हो) बनाना चाहूंगा; हालाँकि , हर फ़ाइल को दो बार नहीं पढ़ना (एक बार चेकसमिंग के लिए, दो बार tar'ing के लिए) बहुत अधिक संग्रहणीय प्रदर्शन प्राप्त करने के लिए कम-से-कम एक आवश्यकता है (LTO-4 120 MB / s निरंतर चाहता है, और बैकअप विंडो सीमित है)।
इसलिए मुझे एक फ़ाइल पढ़ने के लिए किसी तरह की आवश्यकता होगी, एक तरफ चेकसमिंग उपकरण खिलाना, और दूसरी तरफ टेप करने के लिए एक टार का निर्माण करना, कुछ साथ:
tar cf - files | tee tarfile.tar | md5sum -
सिवाय इसके कि मैं पूरे संग्रह का चेकसम नहीं चाहता (यह नमूना शेल कोड सिर्फ यही करता है) लेकिन संग्रह में प्रत्येक व्यक्तिगत फ़ाइल के लिए एक चेकसम।
मैंने जीएनयू टार, पैक्स, स्टार विकल्पों का अध्ययन किया है। मैंने पुरालेख से स्रोत को देखा है :: टार । मैं इसे प्राप्त करने का कोई स्पष्ट तरीका नहीं देखता। ऐसा लगता है कि मुझे सी या कुछ इसी तरह की चीज़ों को हाथ से तैयार करना होगा। पर्ल / पायथन / आदि बस इसे प्रदर्शन-वार नहीं काटेंगे, और विभिन्न टार प्रोग्राम आवश्यक "प्लगइन आर्किटेक्चर" को याद करते हैं। क्या मुझे कोड-मंथन शुरू करने से पहले किसी को इसके मौजूदा समाधान का पता है?
7z
आप हैश का चयन कर सकते हैं और इसे इस तरह से प्रिंट कर सकते हैं sha1sum
और sha256sum
समझ सकते हैं: 7zip.bugaco.com/7zip/7zip_15_09/MANUAL/cmdline/commands/… (और sami-lehtinen.net/blog/… ) इसे आज़माएँ: 7z h -scrcsha256 mydir/* | sed --regexp-extended 's, +[0-9]+ +, ,g' > mydir.sha256sum ; sha256sum -c mydir.sha256sum
(p7zip संस्करण 15.09 बीटा के साथ परीक्षण किया गया)
tar
अगर आप इसे लिखने का फैसला करते हैं;)