একটি সিডি / ডিভিডি এর এমডি 5সাম গণনা করুন


18

আমার একটি আইএসও ফাইল রয়েছে, যা আমি একটি সিডিতে পোড়া করেছি। এখন সিডিটি সঠিকভাবে তৈরি হয়েছে কিনা তা আমি কীভাবে পরীক্ষা করতে পারি? আমি একটি কমান্ড চাই যা হ্যাশ যোগফল গণনা করে যা আমি আইএসও ফাইলে গণনা করে হ্যাশ যোগ করে পরীক্ষা করতে ব্যবহার করতে পারি। আদর্শভাবে কমান্ডটি করা উচিত:

  • আইএসও ফাইল নির্বিশেষে কাজ করুন: এটি হ'ল আমি ডিস্কের প্রতিটি ফাইলের জন্য হ্যাশ যোগের একটি তালিকা রাখতে চাই না, বা ব্লকগুলির সংখ্যা মনে রাখি না কেন
  • তুলনামূলকভাবে সংক্ষিপ্ত হয়ে উঠুন: একটি-লাইন কমান্ড দুর্দান্ত, দুটি লাইন দীর্ঘ কমান্ডের একটি শৃঙ্খলা ঠিক আছে, একটি পৃষ্ঠায় বিভক্ত স্ক্রিপ্ট নয়
  • মোটামুটি দক্ষ হয়ে উঠুন: উদাহরণস্বরূপ, ddকোনও ফাইলের ডিস্ক আবার ফাইলটিতে চালানো যায় md5sumতা অগ্রহণযোগ্য

যদি এমন কোনও উত্তর না থাকে যা সমস্তটি সন্তুষ্ট করতে না পারে তবে আমি নিকটতম ম্যাচেরও প্রশংসা করব। আরও ভাল যদি আপনি আমাকে বলতে পারেন কেন এটি এত সরল-এগিয়ে নেই।

উত্তর:


18

মূল সমস্যাটি হ'ল আমরা মূলত আইএসওতে থাকা ঠিক একই তথ্যের এমডি 5সাম নিতে চাই। আপনি যখন কোনও সিডিতে আইএসও লেখেন, ডিস্কের শেষে সম্ভবত ফাঁকা জায়গা থাকে, যা অনিবার্যভাবে এমডি 5সাম পরিবর্তন করে। সুতরাং, খুব সংক্ষিপ্ততম উপায়:

md5sum /dev/cdrom

কাজ করে না । কী কাজ করে (এবং অনলাইন ডকুমেন্টেশনে সাধারণ ) কেবল ডিভাইস থেকে বাইটের সঠিক সংখ্যাটি পড়ছে এবং তারপরে এটি করছে md5sum। আপনি যদি বাইটের সংখ্যা জানেন তবে আপনি এর মতো কিছু করতে পারেন:

dd if=/dev/cdrom bs=1 count=xxxxxxxx | md5sum

যেখানে 'xxxxx' বাইটে আইসোর আকার।

আপনি যদি হাত থেকে বন্ধ বাইটের সংখ্যা জানেন না, তবে আপনার ডিস্কে আইসো রয়েছে তবে আপনি নীচের মতো কিছু করে এগুলি ব্যবহার করে এগুলি পেতে পারেন ( এখান থেকে নেওয়া ):

dd if=/dev/cdrom | head -c `stat --format=%s file.iso` | md5sum

আরও অনেকগুলি এক-লাইন নির্মাণ কাজ করা উচিত। লক্ষ্য করুন যে প্রতিটি ক্ষেত্রেই আমরা ddডিস্ক থেকে বাইটগুলি পড়তে ব্যবহার করছি, তবে আমরা এগুলি কোনও ফাইলে পাইপ করছি না, বরং আমরা তাদের সরাসরি md5sum এ হস্তান্তর করছি।

সম্ভাব্য গতি উন্নতি কিছু গণনার করছেন একটি বড় ব্লক আকার (ব্যবহার করতে দ্বারা তৈরি করা যেতে পারে bs=যে ddকমান্ড)।


আপনি সহজ dd if=/dev/cdrom |করতে পারেন </dev/cdromddডিভাইসগুলি এবং অবরুদ্ধ করার জন্য যাদুকর কিছুই নেই , এটি একটি মজাদার সিনট্যাক্স সহ কেবল একটি স্ট্রিম ম্যানিপুলেশন কমান্ড।
গিলস 'অশুভ হওয়া বন্ধ করুন'

যাইহোক, আপনার (ফুনেহে) MD5 চেকসামের সাথে একসাথে আইসো আকার থাকা উচিত। এটি এমডি 5 এর জন্য বিশেষভাবে গুরুত্বপূর্ণ যা আংশিকভাবে ভাঙা, তবে আপনি যে চেকসাম ব্যবহার করেন না কেন এটি সুরক্ষা এবং ব্যবহারযোগ্যতার উভয়ের জন্যই ভাল ধারণা।
গিলস 'অশুভ হওয়া বন্ধ করুন'

@Gilles: আসলে ব্যবহার ddসঙ্গে bsডিভাইস ক্যাশের মাপ এর ডাটা ট্রান্সফার যেমন প্লেইন ইনপুট ফেরৎ উল্টোদিকে speedup পারবেন না।
অ্যালেক্স

@ গিলস: "এমডি 5 যা আংশিকভাবে ভেঙে গেছে" বলতে কী বোঝ? এবং ফাইলের আকারটি কেন রাখি, যখন কিছু ভুল হয় তবে চেকসামটি আমাকে এখনই জানানো উচিত?
ফুনেহে

@ ফুনেহে: এমডি 5 এর সাথে পরিচিত ক্রিপ্টোগ্রাফিক দুর্বলতা রয়েছে (প্রদত্ত ফাইলের জন্য সংঘর্ষ কীভাবে তৈরি করা যায় তা এটি প্রকাশ্যে জানা যায়নি) তবে এটি আসতে পারে)। ফাইলের আকার জানার ফলে আপনি আরও কিছুটা আত্মবিশ্বাস পান (যদিও বেশি কিছু নয়)। এটি আপনাকে ট্র্যাঙ্কটেড ডাউনলোডের মতো সাধারণ দুর্ঘটনাজনিত ত্রুটির জন্য তাত্ক্ষণিক প্রতিক্রিয়া জানায়।
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

2

এই কাজের জন্য প্রোগ্রাম আছে। একে বলা হয় - checkisomd5। উবুন্টুতে এটি কমান্ড দ্বারা ইনস্টল করা যেতে পারে:

isomd5sum ইনস্টল করুন sudo

তুমি এটা কিভাবে ব্যবহার কর? checkisomd5 /dev/sr0আমাকে দেয়: মিডিয়া চেক সম্পূর্ণ, ফলাফল: এনএ। কোনও চেকসাম তথ্য উপলব্ধ নয়, মিডিয়া যাচাই করতে অক্ষম।
টর্স্টেন

চেকসামটি "ইমপ্লান্টিসমডি 5" সরঞ্জাম সহ আইসো চিত্রটিতে এম্বেড করা উচিত। আইসো ডিস্কে লেখার আগে এটি করা উচিত। ইউটিলিটি "চেকিসমডি 5" এ অন্তর্ভুক্ত।
Проскурин

1

যদি ডিস্কে চিত্রটির আকার 2048 এর মধ্যে বিভাজ্য হয়, পুরো সংখ্যা, যা খুব সাধারণ বলে মনে হয়, তবে আপনি নীচের দিক থেকে একটি সঠিক MD5sum পেতে পারেন-যেখানে sr0ব্যবহার করে অপটিক্যাল-এর নাম পাওয়া যাবে, lshw -C diskএবং কোথায় 'গণনা' হ'ল 2048 দ্বারা বিভক্ত চিত্রের আকারের লভ্যাংশ।

dd if=/dev/sr0 bs=2048 count=356352 |md5sum

অনেকগুলি সিডি সম্ভবত "মোড 1" ট্র্যাক ব্যবহার করে, এতে প্রতি সেক্টরে ব্যবহারকারী ডেটার 2,048 বাইট রয়েছে । ("মোড 2" সেক্টর প্রতি ব্যবহারকারী ডেটার 2,336 বাইট সঞ্চয় করে, তবে মোড 1 দ্বারা প্রদত্ত আরও উন্নত ত্রুটি সনাক্তকরণ এবং সংশোধন ক্ষমতাগুলির অভাব রয়েছে, যার ফলে ত্রুটিগুলি সহ্য করা যায় না এমন তথ্যের জন্য মোড 2 কম কার্যকর হবে))
একটি সিভিএন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.