ত্রুটি ছাড়াই আইএসও আমার ইউএসবি স্টিকে লেখা হয়েছিল কিনা তা কীভাবে পরীক্ষা করবেন?


11

আমি আমার ইউএসবিতে একটি ডেবিয়ান আইএসও লিখতে দেবিয়ান উইকিতে এই ডিবিয়ানইইপিসি কীভাবে ইনস্টল ইউসিংস স্ট্যান্ডার্ডইনস্টলার নির্দেশাবলী অনুসরণ করেছি।

dd if=debian-*-netinst.iso of=/dev/sdX

ব্যবহার করে sha1sum, আমি আমার ডাউনলোড করা আইএসও ফাইলের চেকসামগুলি পরীক্ষা করতে পারি। ইউএসবি স্টিকের কোনও সমস্যা না হয় এবং আইএসও নিখুঁতভাবে অনুলিপি করা হয়েছিল তা নিশ্চিত হওয়ার জন্য আমি কীভাবে ইউএসবি স্টিক ডিভাইসের চেকসাম পরীক্ষা করতে পারি?


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

@ স্টাফেনচাজেলাস, প্রশ্নটি সম্পাদনা করেছেন।
maxschlepzig

উত্তর:


18

cmpসব কিছু ঠিকঠাক করা হয়েছে কিনা তা যাচাই করার জন্য আপনি ব্যবহার করতে পারেন :

$ cmp -n `stat -c '%s' debian-X-netinst.iso` debian-X-netinst.iso /dev/sdX

এই সমাধানটি আপনার চেকসামটি স্পষ্টভাবে গণনা করে না /dev/sdX- তবে আপনাকে এটি করার দরকার নেই কারণ আপনি ইতিমধ্যে তুলনার উত্সের জন্য এটি করেছেন (যেমন debian-X-netinst.iso)।

কেবলমাত্র একটি করলে dd if=/dev/sdX | sha1sumভুল ট্র্যাকিংয়ের চেকসাম পাওয়া যেতে পারে কারণ আপনি পেছনের ব্লকগুলি পেয়েছেন ( /dev/sdXসম্ভবত আইসো-ফাইলের চেয়ে বড়)।

আপনার মাধ্যমে cmp -nনিশ্চিত হয়ে নিন যে আপনার উপরের কোনও পেছনের বাইটের /dev/sdXতুলনা নেই।

আপনি যে ইউএসবি ভর স্টোরেজ ডিভাইসটি কল করেন তার গুণমান সম্পর্কে যদি আপনি syncঅমানবিক হন তবে এটিকে বের করে দিন, পুনরায় সন্নিবেশ করুন এবং তারপরে তুলনা করুন - অন্যথায় সমস্ত বা কিছু ব্লক কেবল কার্নেল ভিএম (ক্যাশে) থেকে আসতে পারে - যখন বাস্তবে সম্ভবত বিট হয় হার্ডওয়্যার উপর স্ক্রু আপ হয়।


1
এই যে! যখন আমি এটি করি, আমি খুব প্রথম লাইনে তাত্ক্ষণিক অমিল পাই। এর কারণ কী হতে পারে?
সার্পস্টা

3

জুলিয়ানের উত্তর কাজ করে তবে এটি করার একটি সহজ ও দ্রুত উপায় আছে:

sudo head -c <image size> /dev/sdX | sha1sum

সুতরাং, একক লাইনে:head -c $(stat -c '%s' the.iso) /dev/sdc | sha1sum
জুলিয়েন পালার্ড

3

কেবলমাত্র ব্যবহার ddএবং md5sum/ sha1sumযথেষ্ট, তবে যেমন আগেই বলা হয়েছিল, সাবধান থাকুন, আপনার ডিভাইসটি আপনার ফাইলের চেয়ে একই আকারের নয়, সুতরাং পরিমাণগুলি পৃথক হবে।

আপনি এখনও এটি কীভাবে করতে পারেন তা এখানে

প্রথমে আপনাকে ফাইলটির আকার জানতে হবে:

$ stat -c '%s' debian-live-8.2.0-amd64-lxde-desktop.iso
1003487232

তারপরে, আপনার সিস্টেমে শীতল হওয়ার জন্য, আপনি এটি দুটির মতো দুর্দান্ত শক্তির একাধিক হিসাবে আরও ভালভাবে পেতে পারেন 4096, দুটি আকারের ফাইলের আকারটি অন্যভাবে উপার্জন করতে গেলে আপনি খুব কম পরীক্ষা করতে পারেন বা অনেকগুলি বাইট, একটি ভুল চেকসাম পাওয়া যাচ্ছে।

$ bc
bc 1.06.95
scale = 9
1003487232 / 4096
244992.000000000

আমি খুশি, 4096 × 244992 = 1003487232সুতরাং 4096 আমার পক্ষে ভাল, (এবং আপনার জন্য সম্ভবত, সম্ভবত) তাই আমি একটি ব্লক আকার 4096(সাধারণ) এবং একটি ব্লক গণনা ব্যবহার করতে পারি 244992

USB কীতে ফাইলটি লিখতে ভুলবেন না ...

$ dd if=debian-live-8.2.0-amd64-lxde-desktop.iso of=/dev/sd? && sync

এবং জেনে রাখুন, পরিচিত ব্লকের আকার এবং ব্লক গণনাটি ব্যবহার করে আপনি কী থেকে বাইটের সঠিক সংখ্যাটি পড়তে পারেন এবং সেগুলি পরীক্ষা করতে পারেন:

$ dd if=/dev/sdb bs=4096 count=244992 | sha1sum
b0dbe4ca8f526d1e43555459c538607d4a987184

(হ্যাঁ এর md5sumচেয়ে দ্রুত sha1sumগতিযুক্ত তবে এটি এখানে আপনার স্পষ্টতই বাধা নয়, বাধাটি ইউএসবি আইপুট, লক্ষ্য করার জন্য ধন্যবাদ)।

বা সংক্ষেপে:

dd if=/dev/sdb bs=4096 count=$(($(stat -c '%s' the.iso) / 4096)) | sha1sum

ধন্যবাদ দিয়ে $ dd if=/dev/sdb1 bs=4096 count=<filesize/4096> | md5sum আমি একটি ইউএসবি স্টিকে লেখা একটি দেবিয়ান চিত্রের এমডি 5sum পরীক্ষা করে এটি ডেবিয়ান এমডি 5sums এর সাথে তুলনা করতে পারি।
পল রৌগিয়াকস

0

@ কাইল জোন্স উত্তরের উপর ভিত্তি করে

diff <(md5sum debian-XYZ-netinst.iso | awk '{print $1}') <(dd if=/dev/sdX | md5sum | awk '{print $1}')

আপনার ব্যবহার করা উচিত md5sumকারণ এটির চেয়ে দ্রুত sha1sum(আপনার বড় ফাইলটি পরীক্ষা করার সময় এটি সময় সাশ্রয় করবে)


6
আপনার মানে md5sumকমপক্ষে দ্বিগুণ দ্রুত? এটি হতে হবে যেহেতু sha1sumডাউনলোড সাইট থেকে ওপি ইতিমধ্যে রয়েছে এবং এটি গণনা করতে হবে না। এবং ইউএসবি থেকে পড়া sha1 / md5 গণনা নয় সীমাবদ্ধ ফ্যাক্টর হতে চলেছে।
অ্যান্টন

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