के लिए बाइनरी diff और पैच उपयोगिता मुझे अक्सर कुछ सॉफ़्टवेयर रिलीज़ करने की आवश्यकता है, और सॉफ़्टवेयर VMWare डिस्क फ़ाइल, यानी .vmdk
फ़ाइल के रूप में निहित है। मैं चाहता हूं कि डेल्टा जितना संभव हो उतना छोटा बनाने के लिए बाइनरी डिफ और पैच उपयोगिता का कुछ प्रकार हो।वर्चुअल मशीन छवि
उत्तर
मुझे कोशिश की और सही दृष्टिकोण के साथ शुरू करने दें, फिर कुछ और हालिया दृष्टिकोण बताएं।
दृष्टिकोण है कि मैं बाइनरी फ़ाइलें
साथ काम देखा है एक लंबे समय पहले, लोगों को विस्तार पुराने और अस्थायी "पाठ" फ़ाइलों में एक बाइनरी फ़ाइल के नए संस्करण (हर बाइट 3 बाइट्स के लिए विस्तार किया: 2 हेक्स अंक और एक नई लाइन)। फिर पैच फ़ाइल बनाने के लिए "diff" (जो निश्चित रूप से बाइनरी फ़ाइलों को संभाल नहीं सकता) के पुराने संस्करण के माध्यम से इन दो "टेक्स्ट" फ़ाइलों को चलाएं। फिर हमने संचार लाइनों पर "टेक्स्ट" पैच फ़ाइल प्रेषित की जो अभी तक 8-बिट-साफ़ नहीं थी। प्राप्त होने पर, एक ने पुराने बाइनरी फ़ाइल को एक अस्थायी पाठ संस्करण में विस्तारित किया, फिर उस पुरानी पाठ फ़ाइल को पैच किया, और फिर नई टेक्स्ट फ़ाइल को बाइनरी फ़ाइल में वापस संपीड़ित किया (हेक्स अंकों की प्रत्येक जोड़ी को एक बाइट में संपीड़ित कर दिया, और फेंक दिया न्यूलाइन और किसी भी कैरिज रिटर्न को दूर करें जो क्रिप्ट हो सकता है)।
हाल ही में, मैं rsync (या इसके ऊपर बनाया गया कुछ उपयोगिता जैसे यूनिसन) का उपयोग कर रहा हूं। यह मनमाने ढंग से बाइनरी फ़ाइलों को ठीक करता है। मैं आम तौर पर एक लाइव अपडेट करता हूं, यूनिसेन मेरे स्थानीय मशीन पर चल रहा है और फ़ाइल सर्वर पर rsync चल रहा है, एक-दूसरे से आगे और आगे बात कर रहा है।
कोई फर्क नहीं पड़ता कि पैच फ़ाइल कैसे उत्पन्न होती है, आप उस फ़ाइल को संपीड़ित करने के लिए किसी भी डेटा संपीड़न उपयोगिता का उपयोग कर सकते हैं।
दृष्टिकोण
StackOverflow: "how to crate a PATCH file for the binary difference output file" bsdiff का उपयोग कर पता चलता है कि, जहाँ तक मुझे पता है, द्विआधारी फाइलों के साथ काम करना चाहिए।
एक और StackOverflow question का तात्पर्य है कि "vimdiff" मनमाने ढंग से बाइट्स को पर्याप्त रूप से संभालने लगता है।
StackOverflow: "Useful Binary Diff Tool" कुछ अन्य बाइनरी अंतर उपकरण का उल्लेख करता है।
मुझे लगता है कि कुछ उपकरण rsync - "rdiff" और "rdiff-backup" और "डुप्लिकेट" पर आधारित हैं - आपको पैच फ़ाइल बनाने की अनुमति देता है। फिर वह व्यक्ति जो पैच फ़ाइल प्राप्त करता है, उसे अपनी पुरानी बाइनरी फ़ाइल को एक नई बाइनरी फ़ाइल में अपडेट करने के लिए उपयोग कर सकता है।
Wikipedia claims मानक "diff" और "पैच" उपयोगिताओं के हाल के संस्करण बाइनरी फ़ाइलों का समर्थन करते हैं। क्या आपने कोशिश की है?
निष्पादन योग्य फ़ाइल संपीड़न
आप संभव के रूप में छोटे जब निष्पादन योग्य फ़ाइलों को अद्यतन करने के लिए, आप "How Courgette works" की जाँच करना चाहते हैं डेल्टा फ़ाइल बनाने पर अत्याधुनिक अनुसंधान में रुचि रखते हैं में अत्याधुनिक अनुसंधान क्रोमियम प्रोजेक्ट्स पर स्टीफन एडम्स 200 द्वारा ।
अन्य चीजों के अलावा, कंप्यूटर जो पैच प्राप्त करता है, पुराने अनुप्रयोग को "डिससेम्बल" करता है, सभी पूर्ण पते और ऑफसेट को प्रतीकों में परिवर्तित करता है; फिर अलग किए गए कोड को पैच करता है; फिर आवेदन के नए संस्करण में पैच कोड "reassembles"।
xdelta आज़माएं।
मैं बहुत बड़ी फ़ाइलों (एक एलवीएम लॉजिकल वॉल्यूम और इसके स्नैपशॉट्स के लिए कुछ बाइनरी डिफ टूल ढूंढ रहा था, क्योंकि LVM स्नैपशॉट के स्नैपशॉट का समर्थन नहीं करता है) और xdelta मेरे लिए काम करता है।
- 1. वर्चुअल मशीन
- 2. वर्चुअल मशीन
- 3. एक वर्चुअल मशीन
- 4. अद्वितीय वर्चुअल मशीन
- 5. वर्चुअल मशीन ऑप्टिमाइज़ेशन
- 6. वर्चुअल मशीन/हाइपरविजर
- 7. जावा वर्चुअल मशीन आंतरिक
- 8. जावा वर्चुअल मशीन
- 9. जावा वर्चुअल मशीन
- 10. त्रुटि: जावा वर्चुअल मशीन
- 11. सी वर्चुअल मशीन
- 12. जावा वर्चुअल मशीन
- 13. सिग्विन बनाम लिनक्स वर्चुअल मशीन?
- 14. AS400 एम्यूलेटर या वर्चुअल मशीन
- 15. विंडोज फोन एमुलेटर वर्चुअल मशीन
- 16. 64 या 64 बिट वर्चुअल मशीन 64 बिट मशीन (vmware)
- 17. क्या एक वीएमवेयर फ्यूजन छवि विंडोज मशीन
- 18. वर्चुअल मशीन - Azure, वेब सर्वर सेट करना
- 19. पायथन वर्चुअल मशीन आर्किटेक्चर आरेख/संदर्भ
- 20. विंडोज़ एज़ूर वर्चुअल मशीन पर निष्क्रिय एफ़टीपी
- 21. इष्टतम वर्चुअल मशीन/बाइट-कोड दुभाषिया लूप
- 22. जावा की वर्चुअल मशीन और सीएलआर
- 23. वर्चुअल मशीन एकाधिक डिस्प्ले का समर्थन
- 24. वर्चुअल मशीन कैसे काम करती है?
- 25. जावा की वर्चुअल मशीन की एंडियननेस
- 26. एक वर्चुअल मशीन छवि को निरंतर एकीकरण आर्टिफैक्ट के रूप में बनाना?
- 27. जावा वर्चुअल मशीन वास्तव में एक वर्चुअल मशीन है जो मेरी वीएमवेयर या समानांतर फ़ाइल के समान है?
- 28. माउंट के बिना वर्चुअल फ्लॉपी छवि बनाएं?
- 29. जावा वर्चुअल मशीन विशिष्टता का वर्तमान संस्करण कहां है?
- 30. एक रजिस्टर आधारित वर्चुअल मशीन कैसे काम करता है?
धन्यवाद आपकी तरह के स्पष्टीकरण, डेविड के लिए आपको बहुत बहुत धन्यवाद। मेरी समस्या के लिए, कई प्रयोगों के बाद xdelta मेरी पसंद बन गया। – tianyapiaozi