2010-03-10 14 views
6

के लिए पैच फ़ाइल कैसे बनाएं, मैं जानना चाहता हूं कि दो बाइनरी फ़ाइलों की तुलना करके मुझे मिली अंतर फ़ाइल के लिए पैच कैसे बनाएं। $ सीएमपी -l> आउटपुट फ़ाइल नामद्विआधारी अंतर आउटपुट फ़ाइल

मैं पाठ फ़ाइलों 'diff के लिए जाँच "उत्पादन एकीकृत करने के लिए diff बताता है की तुलना करने और एक पैच फ़ाइल $ diff -u oldFile newFile> mods.diff # -u उत्पन्न करने के लिए इस्तेमाल किया जा सकता diff प्रारूप

मैं पुराने बाइनरी छवि फ़ाइल पर पैच लागू करने के लिए अपने नए द्विआधारी छवि फ़ाइल प्राप्त करना चाहते हैं।

उत्तर

4

diff और पैच पाठ फ़ाइलें, मनमाने ढंग से नहीं बाइनरी डेटा के साथ काम करने के लिए डिज़ाइन कर रहे हैं। तुम कुछ का उपयोग करना चाहिए की तरह

1

JDIFF एक ऐसा प्रोग्राम है जो दो (बाइनरी) फ़ाइलों के बीच अंतर को आउटपुट करता है।
इसके अलावा आप rdiff कमांड का उपयोग कर सकते हैं।

-2

यदि आप अभी भी diff & पैच का उपयोग करना चाहते हैं। यहां एक तरीका है ... प्रत्येक 512/1024/your_choice बाइट्स के अंत में एक न्यूलाइन कैरेक्टर डालने के लिए स्वयं एक सी प्रोग्राम लिखें (यह केवल diff को बेवकूफ़ बनाने के लिए है क्योंकि यह लाइन लाइन से तुलना करता है)। इस स्क्रिप्ट को अपनी दो इनपुट फाइलों पर चलाएं।

फिर से चलाएँ 'diff -au file1 file2> mod.diff (आप पैच यहाँ मिल जाएगा)'

पट्टी सरल है 'पैच < mod.diff'

फिर से एक प्रोग्राम लिखने दूर करने के लिए द्विआधारी फ़ाइल से नई लाइनें। यह सब है ...

+0

क्या यह बाइनरी सुरक्षित या सलाह दी जाती है? – MrMesees

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