क्या एक फ़ाइल में त्रुटि सुधार कोड (BCH, RS या आदि) जोड़ना संभव है?


12

जहां तक ​​मुझे पता है, WinRAR अभिलेखागार में ECC (त्रुटि सुधार कोड) हो सकता है, इसलिए यदि संग्रह थोड़ा क्षतिग्रस्त हो गया है, तो यह स्वयं द्वारा तय किया जा सकता है।

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

मुझे आश्चर्य है कि क्या लिनक्स पर कोई भी (खुला-खट्टा) सॉफ्टवेयर है जो मेरी जरूरतों को पूरा कर सकता है।

कोई सुझाव?


कुछ हद तक, यह पहले से ही होता है - प्रत्येक फ़ाइल के शीर्ष लेख चक्सम फ़ील्ड उस हेडर के घटक बाइट्स का योग है - आकार फ़ील्ड को शामिल करने के लिए। बहुत से लोग tarआगे बढ़ते हैं - GNU tar, हेडर मेटाडेटा में स्पार्स फाइल के छेदों को एनकोड करता है और किसी भी POSIX paxसंगत आर्काइव द्वारा निष्कर्षण करने पर फाइल के पुनर्निर्माण के लिए आवश्यक जानकारी युक्त फाइल उत्पन्न होती है, या जीएनयू द्वारा tarमूल स्पार्स फाइल को फाइल किया जाता है। यह उपयोगिता w / के लिए POSIX द्वारा निर्दिष्टpax मुख्य रूप से एन्कोडेड हेडर चर का उपयोग करता है -o
8

जवाबों:


6

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

मुझे प्रोग्राम rsbep मिला जो पैकेज मैनेजर में हुआ करता था और फिर यहाँ आवश्यक कोड मिला: https://www.thanassis.space/rsbep.html

यह रीड-सोलोमन त्रुटि सुधार कोड के साथ एक फ़ाइल बनाने की अनुमति देता है और फिर मूल फ़ाइल को संभवतः दूषित, ईसीसी संस्करण से पुनर्प्राप्त करता है।


rsbep बढ़िया है! लेकिन यह थोड़ा अलग है: यह एक पूरी तरह से जमे हुए ओएस है, इसलिए आप अंदर फ़ाइलों को जोड़ सकते हैं लेकिन आप जो कुछ भी अंदर है उसे संशोधित नहीं कर सकते हैं, और इसे स्थानांतरित करने के लिए थोड़ा अधिक बोझिल है। लेकिन यह वास्तव में एक दिलचस्प तरीका है, FUSE और ओपनसोर्स का उपयोग करना।
15

1
@ विस्तृत, यह सच नहीं है। rsbepपारदर्शी रूप से उपयोग करके FUSE fs कार्यान्वयन है, लेकिन यह केवल उन लिपियों के ऊपर है जो फ़ाइल-दर-फ़ाइल आधार पर काम करती हैं।
नीव

6

आप PAR2 पर रुचि रखते हैं, जो रीड-सोलोमन त्रुटि सुधार का उपयोग करता है। चर्मपत्र ईसीसी फ़ाइल प्रारूप विनिर्देश है, लिनक्स के लिए आप PyPar या par2tbb चाहते हैं , और Windows पर आप क्विकार नामक एक GUI का उपयोग करते हैं


1
PyPar और par2tbb के लिंक मेरे लिए टूट गए हैं। मुझे यहां
Marist

2
मुझे लगता है कि PyPar त्रुटि सुधार के लिए पूरी तरह से असंबंधित है।
mbarkhau

2

यदि आप संग्रह से अलग ecc फ़ाइल रखना चाहते हैं, तो आप pyFileFixity, एक सलामी बल्लेबाज पायथन परियोजना का उपयोग कर सकते हैं जिसका उद्देश्य बिट भ्रष्टाचार के खिलाफ अगली जीन PAR जैसी सुरक्षा प्रणाली प्रदान करना है।

यदि आप चाहते हैं कि ecc प्रोटेक्शन को सीधे आर्काइव में शामिल किया जाए, तो आप ओपनसोर्स DAR , एक तरह का नेक्स्ट-जीन TAR का उपयोग कर सकते हैं , जो नॉन-सॉलिड दोनों उत्पन्न करने की अनुमति देता है (यानी, भ्रष्ट आर्काइव के आंशिक निष्कर्षण की अनुमति देता है) और ecc (A) PAR2 का उपयोग करना) और कैटलॉग आइसोलेशन (यानी, डायरेक्टरी ट्री और फाइलसिस्टम मेटा-डेटा के बैकअप को सीधे .dv अभिलेखागार में सहेजें)।


0

एक और समान 2018 परियोजना Redupe है जो दो अलग-अलग टूल में अलग और एम्बेडेड फ़ाइल त्रुटि सुधार दोनों प्रदान करती है:

पहला उपकरण, redupe, को gzip या bzip2 जैसे संपीड़न उपकरणों के बाद बनाया गया है, लेकिन इसे खत्म करने के बजाय अतिरेक जोड़ता है।

वेबपेज में उदाहरण (संक्षिप्तता के लिए परिवर्तित) आपके उपयोग के मामले जैसा दिखता है:

$ redupe home-backup.tar.gz
$ ls -l
-rw------- 1 rescrv 5625162218 home-backup.tar.gz
-rw-r--r-- 1 rescrv 6433996800 home-backup.tar.gz.rd

reundupe तब फ़ाइल को पुनर्स्थापित करने और संभवतः छोटी त्रुटियों को ठीक करने के लिए उपयोग किया जा सकता है।

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