হায়
dd if=/dev/zero of=somepartition bs=512
এছাড়াও পার্টিশন মুছা somepartition
বা শেষে বন্ধ somepartition
?
হায়
dd if=/dev/zero of=somepartition bs=512
এছাড়াও পার্টিশন মুছা somepartition
বা শেষে বন্ধ somepartition
?
উত্তর:
dd
dd
একটি খুব শক্তিশালী তবে বিপজ্জনক হাতিয়ার। এটি আপনি প্রশ্ন ছাড়াই যা করতে বলছেন তা করে। সুতরাং যদি আপনি এটি পরিবারের ছবিগুলি মুছতে বলেন, ... এবং এটি দূরে একটি ছোটখাটো টাইপ ত্রুটি।
তবে আপনি যদি চেক করেন এবং ডাবল-চেক করেন তবে আপনি এটি ব্যবহার করতে পারেন।
dd if=/dev/zero of=somepartition bs=512
বা আমি পরামর্শ দিতে হবে
dd if=/dev/zero of=/dev/sdxn bs=4096
x
ড্রাইভ লেটারটি কোথায় এবং n
পার্টিশন নম্বর এবং ব্লকের আকার 4096 বাইট লেখার প্রক্রিয়াটিকে দ্রুততর করে তোলে।
এই ক্ষেত্রে আপনি একটি পার্টিশন লিখতে গুরুত্বপূর্ণ । আপনি যদি পুরো ড্রাইভে (ড্রাইভের শেষ প্রান্তে) লিখেন তবে পুরো ড্রাইভটি /dev/sdx
ওভাররাইট করা হবে। পার্টিশনটি লিখতে পার্টিশন শেষে বাধা দেওয়া হবে এবং এর পিছনে পার্টিশন সংরক্ষণ করা হবে। (আমি এখন লুবুন্টু 16.04 এলটিএসে একটি ইউএসবি পেনড্রাইভে পরীক্ষা করেছি , তাই আমি জানি যে এটি এর মতো কাজ করে))
একটি এমএসডিওএস পার্টিশন টেবিলটিতে চারটির অধিক পার্টিশন থাকার জন্য বর্ধিত পার্টিশনের (যা লজিক্যাল পার্টিশনের কনটেইনার) ব্যতিক্রম রয়েছে। এটি নিম্নলিখিত লিঙ্কে বর্ণিত হয়েছে,
আমি কি ডিডি ব্যবহার করে 'বর্ধিত' পার্টিশনের চিত্র তৈরি করতে পারি?
তবে আরও একটি সমস্যা আছে। আমি আপনার আদেশটি পরীক্ষার পরিবেশে পরীক্ষা করেছি এবং যখন আমি এটি একটি বর্ধিত পার্টিশনের চিত্র তৈরি করতে চাইতাম তখন কেবলমাত্র একটি কিবিবাইট (1024 বাইট) পড়তাম।
আমি এটি এখন লুবুন্টু 16.04 এলটিএস-এর একটি ইউএসবি পেনড্রাইভেও পরীক্ষা করেছি এবং এটি লেখার ক্ষেত্রেও (পাশাপাশি পড়ার ক্ষেত্রেও) প্রযোজ্য। শুধুমাত্র প্রথম কিবিবাইটটি ওভাররাইট করা হয়।
সুতরাং সংক্ষিপ্তসার হিসাবে, প্রাথমিক পার্টিশন ও যৌক্তিক পার্টিশনগুলিকে ওভাররাইট করা এই উত্তরের মূল বিবরণ অনুযায়ী কাজ করে। তবে বর্ধিত পার্টিশনটি ওভাররাইট করতে এই পদ্ধতিটি ব্যবহার করবেন না কারণ কেবলমাত্র প্রথম কিবিবাইটই ওভাররাইট করা হবে। পার্টিশন টেবিলের মাধ্যমে প্রসারিত পার্টিশনের লজিক্যাল পার্টিশনগুলি আর পাওয়া যাবে না, তবে সেগুলিতে সঞ্চিত ডেটা এখনও সেখানে রয়েছে।
dd
এবং এটি ঝুঁকিপূর্ণ তা বোঝা আরও গুরুত্বপূর্ণ , যাতে এটি ব্যবহার করার সময় আপনি খুব সতর্ক হন। সৌভাগ্য :-) সাধারণভাবে, আপনার সর্বদা সমস্ত ফাইলের ব্যাকআপ থাকা উচিত , যা আপনি হারাতে পারবেন না।
একটি পার্টিশন ডিভাইসে লেখার জন্য ডিডি বা অন্য কোনও কিছুই partition পার্টিশনের বাইরে লেখা হবে না। একটি একক পার্টিশনের বাইরে কোনও প্রভাব ফেলতে আপনাকে হোলিডিস্ক ডিভাইসটি ব্যবহার করতে হবে।
(ক্যাভেট: যদি না আপনার ডিস্কের ওভারল্যাপিং পার্টিশনগুলির সাথে একটি পার্টিশন টেবিল থাকে, যা কখনই ঘটে না))
আমি মনে করি আপনার প্রশ্নটি কীভাবে dd
(এবং বাস্তবে ইউনিক্সের মতো অপারেটিং সিস্টেমগুলি সাধারণভাবে কাজ করে) সে সম্পর্কে একটি মৌলিক ভুল বোঝাবুঝির উপর ভিত্তি করে :
dd
পার্শ্ববর্তী পার্টিশনগুলি ওভাররাইট dd
করতে পারে না, পার্টিশন, পিরিয়ড ওভাররাইট করতে পারে না বলেই ।
dd
কেবল ফাইলগুলিতে লেখেন । এটাই.
এখন, আপনি যদি এমন dd
কোনও ফাইল পাস করেন যা একাধিক পার্টিশন প্রতিনিধিত্ব করে , তবে সেই ফাইলটিdd
ওভাররাইট হবে । তবে dd
সেক্ষেত্রে, এটি বিভাজনের শেষের দিকে লেখেনি। dd
এখনও ফাইলের শেষে এবং কেবল ফাইলের শেষ না হওয়া পর্যন্ত লিখতে হবে ।
তবে, আপনি যদি এমন dd
একটি ফাইল পাস করেন যা কেবল একটি বিভাজনকে উপস্থাপন করে, তবে dd
এই পার্টিশনের শেষটি লেখবে না। আবার এর সাথে কিছু করার নেই dd
। dd
আপনি যে ফাইলটি লিখতে বলছেন তা কেবল লিখে দেয়। এই ফাইলটি একটি একক পার্টিশনের প্রতিনিধিত্ব করে এমন ঘটনা (এই ক্ষেত্রে) কার্নেলের ব্লক ডিভাইস ড্রাইভার দ্বারা নিশ্চিত করা হয়েছে। dd
এর সাথে কিছু করার নেই।
সুতরাং, সংক্ষেপে: dd
ফাইলগুলিতে লেখেন। এই ফাইলগুলি কী উপস্থাপন করে তা কোনও dd
উদ্বেগের বিষয় নয়। dd
পার্টিশন সম্পর্কে কিছুই জানে না।
dd
কাঁচা পার্টিশনে লেখার জন্য ব্যবহার করতে পারবেন না । আপনি কেবল ফাইলগুলিতে লিখতে পারেন। আপনি যা করতে পারেন যা ব্লক ডিভাইস ফাইলের অবশ্যই লিখে প্রতিনিধিত্ব করে একটি পার্টিশন (যেমন /dev/sda1
), কিন্তু আপনি একটি কাঁচা পার্টিশন না লিখতে পারেন। এবং যেহেতু আপনি কেবল একটি পার্টিশনকে প্রতিনিধিত্ব করে এমন একটি ফাইলে লিখতে পারেন, আপনি পার্টিশনের শেষের আগে লিখতে পারবেন না, কারণ ফাইলটি কেবলমাত্র পার্টিশনকেই উপস্থাপন করে, পার্টিশনকে নয় এবং শেষের কিছুটা আগেও।
/dev/sda
আপনার টেক্সট এডিটরটি খুলতে এবং ডেটা পরিবর্তন dd
করতে পারেন, পার্টিশন অ্যাক্সেস করতে সক্ষম হওয়ার দিক থেকে অন্য কোনও প্রোগ্রামের থেকে আলাদা নয়। খুব ভাল উত্তর!
একটি বিপজ্জনক, তবে বিরল বিশেষ পরিস্থিতি রয়েছে যেখানে এটি নন-বগি ব্লক ডিভাইস ড্রাইভারদের সাথেও ঘটতে পারে:
আপনাকে ডিডির সাথে সাবধানতা অবলম্বন করতে হবে যেন আপনি কোনও ভুল করেছেন আপনি যার চেয়ে বেশি দর কষাকষি করছেন সেটির উপর নির্ভর করে এবং আপনি ডিডি কী ব্যবহার করছেন তার উপর নির্ভর করে (ওপি তার ডিডি ব্যবহারে অস্পষ্ট ছিল এবং ডিডির সঠিক বাক্য গঠন) কমান্ড)।
আপনি যদি একটি পার্টিশন নির্দিষ্ট করে থাকেন তবে এটি পার্টিশনটি পূর্ণ না হওয়া অবধি এই পার্টিশনে লিখবে।
আপনি যদি ভুল করে এবং পুরো ড্রাইভটি রাখেন, উদাহরণস্বরূপ = / dev / sda, dd আপনার পার্টিশন সারণীকে উপেক্ষা (এবং ওভাররাইট করা) শেষ করতে পুরো ড্রাইভটি লিখতে শুরু করবে।
মুছে ফেলা ফাইলগুলি ওভাররাইট করতে আপনি একটি পার্টিশনে ডিডি করতে পারেন (মুছে ফেলা ফাইলগুলি পার্টিশনে থাকতে পারে এবং বিভিন্ন পুনরুদ্ধারের সরঞ্জামগুলি সাফল্যের বিভিন্ন ডিগ্রী সহ লিখিত না হওয়া অবধি আবিষ্কার করতে পারে this এক্ষেত্রে আপনি খালি স্থান পূরণ করতে ডিডি ব্যবহার করতে পারেন একটি ফাইল লিখিত।
dd if=/dev/zero of=/path/to/mount_point/zero_file bs=4096
rm -f /path/to/mount_point/zero_file
আপনি যা করছেন তার উপর নির্ভর করে আপনি ফাইলগুলি সুরক্ষিতভাবে মুছতে বিকল্প সরঞ্জাম ব্যবহার করতে চাইতে পারেন। নিরাপদ উপায়ে ফাইল (গুলি) মুছবেন কীভাবে দেখুন ? বিকল্পের জন্য।
dd
যে নিচু স্তরের নয়। আসলে লোকেরা ব্যবহার করে বেশিরভাগ জিনিস dd
ঠিক একইভাবে করা যেত cat
। আসলে cat
এটি সামান্য দ্রুত কারণ এটি ডিফল্টর চেয়ে বড় ব্লক ব্যবহার dd
করে। নিম্ন স্তরের সমস্ত কোড কার্নেলে রয়েছে। এবং ড্রাইভার আপনি ব্যবহার করছেন dd
বা ব্যবহার করছেন কিনা তা সত্যিই যত্ন করে না cat
।
dd if=/dev/zero of=/dev/sda bs=512 count=1
বা dd if=/dev/zero of=/dev/sda bs=512
উদাহরণ। দ্বিতীয় কমান্ডের সাহায্যে এটি লিখতে থাকবে এবং পার্টিশন টেবিলটিকে "উপেক্ষা" করে পুরো ডিস্কটি পূরণ করবে। আপনি যদি একটি পার্টিশন নির্দিষ্ট dd if=/dev/zero of=/dev/sda1
করে থাকেন তবে এটি পার্টিশনের বাইরে যাবে না। বাছাইয়ের উপর নির্ভর করে আপনি ডিডি দিয়ে কী করতে চান।
of=somepartition
, তাই আপনি যেখানে পুরো ডিস্ক ডিভাইসে লেখেন তেমনটি প্রয়োগ হয় না। dd
ডিভাইস ড্রাইভারের সীমাবদ্ধতাগুলি পেতে পারে না।
/dev/sda1
, কার্নেল দ্বারা এমনভাবে তৈরি করা হয়েছিল যাতে তাদের মাধ্যমে সংলগ্ন স্টোরেজ অ্যাক্সেস করা অসম্ভব (ধরে নেওয়া যায় যে কার্নেলটি শেষ বার পড়ার পরে পার্টিশন টেবিলটি পরিবর্তন করা হয়নি)। আপনি যদি সেভাবে সংলগ্ন স্টোরেজ অ্যাক্সেস করতে পারেন তবে এটি একটি বিশাল বাগ হিসাবে বিবেচিত হবে।