आईएसओ छवि के खिलाफ सीडी को कैसे सत्यापित करें?


10

मुझे एक भौतिक जली हुई सीडी और मूल आईएसओ छवि मिली है। सीडी सामग्री के लिए कोई संदर्भ चेकसम फाइल नहीं दी गई थी। मैं कैसे जांच कर सकता हूं कि वास्तविक सीडी सही है (मूल छवि से मेल खाती है) और पूरी तरह से पठनीय है?


क्या आपके पास जलाए जाने के ठीक बाद सीडी पर डेटा की जांच करने का मतलब है? क्योंकि अधिकांश जलते सॉफ्टवेयर टूल में लिखित डेटा (पूर्व नीरो) की जांच करने का विकल्प होता है।
सिल्वियू

मुझे पता है, लेकिन मुझे जलने की प्रक्रिया के बाद ही सही, लेकिन कुछ समय बाद (जलन कार्यक्रम पहले से ही बंद था) के बाद चेक करने की जरूरत है, शायद एक अलग पीसी पर भी। जहां तक ​​मुझे पता है नीरो एक जलती हुई प्रक्रिया की स्वतंत्र रूप से सत्यापन प्रक्रिया शुरू करने की पेशकश नहीं करता है - यह सत्यापन सुविधा केवल जलने के लिए एक ऐड-ऑन है और जलने के ठीक बाद ही हो सकती है। मैं चाहता हूं कि एक सीडी डालें, एक आईएसओ फाइल चुनें और सत्यापित करने के लिए क्लिक करें ... एक और बाधा यह है कि मैं लिनक्स के तहत ऐसा नहीं करना चाहता हूं क्योंकि मुझे संदेह है कि मेरी विंडोज सीडी / आईडीई ड्राइवर ठीक नहीं है।
इवान

यह वास्तव में मुश्किल है, क्या आप एक बूट करने योग्य सीडी या शुद्ध डेटा जला रहे हैं?
डेसी

एक बूट करने योग्य सीडी ..
इवान

FYI करें, कुछ Linux ISO में अपनी सामग्री को सत्यापित करने के लिए एक अंतर्निहित बूट विकल्प है। आप उस विकल्प का उपयोग कर सकते हैं और यह सभी डिस्क की फाइलों को चेकसम वाली फाइल के खिलाफ जांच करेगा। md5sumयदि आप सीडी / डीवीडी को बूट नहीं करना चाहते हैं, तो आप स्वयं को चला सकते हैं और तुलना कर सकते हैं।
स्काईलार Ittner

जवाबों:


5

सबसे पहले, आप अपनी सीडी को एक अस्थायी फ़ाइल में रिप करें:

dd if=/dev/sr0 of=copy.iso

तो फिर तुम अगर जाँच copy.isoऔर orig.isoके साथ उदाहरण के लिए, एक ही आकार के होते हैं:

stat -c '%s %n' orig.iso copy.iso

यदि आकार समान है, तो यह आसान है:

sha1sum orig.iso copy.iso

लेकिन मैंने देखा कि कुछ मामलों में आकार थोड़ा भिन्न हो सकता है क्योंकि प्रतिलिपि या मूल छवि में अनुगामी शून्य हैं। उदाहरण के लिए, यदि इससे copy.isoछोटा है orig.iso:

sha1sum copy.iso
head -c $(stat -c %s copy.iso) orig.iso | sha1sum

बेशक आपको यह भी जांचना चाहिए कि अनुगामी बाइट्स केवल शून्य हैं:

od -j $(stat -c %s copy.iso) orig.iso

ऑफसेट को छोड़कर पहली पंक्ति, केवल शून्य होना चाहिए। दूसरी पंक्ति में तारांकन होना चाहिए। तारांकन लगातार समान रेखाओं को दिखाने से बचना है।


जाँच के लिए +1। यह आम तौर पर फाइलों (या निर्देशिकाओं) की तुलना करने और मतभेदों को जानने के बारे में परवाह नहीं करने के लिए वास्तविक मानक है (जैसा कि अंतर के मामले में है): अधिक न्यूनतम।
निकितातु

या आप head -c $(stat -c %s /path/to/master.iso) /dev/sr0 | sha1sumजली हुई सीडी की छवि बनाने के लिए ज़रूरत से बचने के लिए कर सकते हैं ।
हाईटेककंप्यूटरजेक

4

यदि आपके पास अभी भी आईएसओ है, तो आप उन्हें बाइट का उपयोग करके बाइट की तुलना कर सकते हैं cmp। यह एक सरल पर्याप्त कमांड है और यह पहले अंतर पर इसे बाहर निकलता है, इसलिए यह एक चेकसम बनाने की तुलना में काफी तेज है अगर वास्तव में कोई त्रुटि है।

cmp /dev/cdrom /path/cdrom.iso

सफलता पर संभावित परिणाम:

  • कोई आउटपुट नहीं: यह समान है और सभी ठीक है। && echo OKयदि आउटपुट की कमी आपको भ्रमित करती है, तो आप कमांड को जोड़ सकते हैं।
  • cmp: EOF on cdrom.iso: यह समान है लेकिन cdrom में आपकी iso फ़ाइल से अधिक बाइट्स हैं। यह आमतौर पर cdrom के अंत में शून्य गद्दी के कारण होता है। चूँकि यह व्यवहार में कोई मायने नहीं रखता है, यह अभी भी एक सफलता है।

विफलता पर संभावित परिणाम:

  • cmp: EOF on /dev/cdrom: किसी कारण से आपके CDROM का डेटा अधूरा है। हो सकता है कि असली आईएसओ फिट करने के लिए आपका आईएसओ बहुत बड़ा हो।
  • /dev/cdrom cdrom.iso differ: byte 18296321, line 71780: आपके CDROM और ISO छवि के बीच कुछ अप्रत्याशित अंतर है।

जबकि अलग रिपोर्ट 'अलग', अपने सीएमपी विधि कमाल है!
qrtLs

3

यदि ISO फाइल सीडी को जलाने के लिए एक ही है, तो यहाँ मेरे दो पसंदीदा हैं:

diff /dev/sr0 /tmp/file.iso

छवि फ़ाइल के खिलाफ दर्ज की गई छवि की तुलना करता है। यदि आप थोड़ा अधिक सहज महसूस करते हैं, तो आप कुछ इस तरह की कोशिश कर सकते हैं:

sha1sum /dev/sr0 /tmp/file.iso

और हस्ताक्षर की तुलना करें। यदि आपके पास पहले से ही कहीं SHA1 राशि है तो यह अधिक उपयोगी है। दोनों कमांड माध्यम से अंत तक पढ़ेंगे।

यदि आप इसे जिस तरह से करना चाहते हैं @ Marki555 से पता चलता है, आप पहले ऑप्टिकल ड्राइव और छवि दोनों को माउंट करना चाहते हैं। यहां एक पूरी स्क्रिप्ट है: ( sudoयदि आप मूल हैं , तो निश्चित रूप से, - एक बुरा विचार, सामान्य रूप से)

sudo mkdir /tmp/{a,b}
sudo mount /dev/sr0 /tmp/a -o ro # or whatever
sudo mount /tmp/file.iso /tmp/b -o loop,ro
diff -dur /tmp/{a,b}
sudo umount /tmp/a
sudo umount /tmp/b
sudo rmdir /tmp/{a,b}

3
cmp [-l]द्विआधारी फ़ाइलों के लिए बेहतर अनुकूल है। मुश्किल पाठ पर सबसे अच्छा काम करता है।
derobert

2

आप जाँच कर सकते हैं कि सीडी पूरी तरह से पठनीय है dd(उदाहरण के लिए dd if=/dev/cdrom of=/dev/null)। लेकिन आप सीधे आईएसओ इमेज से इसकी तुलना नहीं कर सकते। प्रत्येक सॉफ़्टवेयर थोड़ा अलग ISO फ़ाइल (शायद कुछ अलग हेडर, या पैडिंग) बनाएगा, हालाँकि ये अलग-अलग ISO चित्र सभी को समान CD सामग्री (निर्देशिका संरचना, फ़ाइल विशेषताएँ और फ़ाइल सामग्री) प्रदान करेंगे।

तो आप केवल सीडी को माउंट कर सकते हैं, आईएसओ छवि को माउंट कर सकते हैं और किसी तरह की निर्देशिका तुलना उपकरण का उपयोग करके फाइलसिस्टम स्तर पर इसकी तुलना कर सकते हैं (क्षमा करें, मैंने लिनक्स पर अभी तक कोई उपयोग नहीं किया है)।


diff -rनिर्देशिका सामग्री की पुनरावर्ती तुलना करेगा।
केविन

5
चूंकि सीडी को पहले से तैयार की गई आईएसओ इमेज से जलाया गया था, इसलिए जलते समय अलग से कुछ भी नहीं बनाया जाना चाहिए, इसलिए आप सीधे सीडी की तुलना आइसो इमेज से कर सकते हैं।
psusi

0

ब्रासेरो कर सकता है कि: उपकरण -> अखंडता की जाँच करें ...


ब्रासेरो एक (ग्नोम) ग्राफिकल एप्लिकेशन है जो किसी भी लिनक्स वितरण में उपलब्ध है। इसे इंस्टॉल करें और फिर संपादित करें -> प्लगइन्स और फ़ाइल चेकसम चेक करें (डिफ़ॉल्ट रूप से चेक किया गया है)। यहां
मिलान केर्लजर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.