লিনাক্সে কীভাবে ফ্রি ডিস্কের জায়গা মুছবেন?


145

যখন কোনও ফাইল মোছা হয়, তখন এর বিষয়বস্তুগুলি ফাইল সিস্টেমে রেখে যেতে পারে, যদি না অন্য কিছু দিয়ে স্পষ্টভাবে ওভাররাইট করা হয়। wipeকমান্ড নিরাপদে ফাইল নিশ্চিহ্ন করতে পারেন, কিন্তু কোন ফাইল দ্বারা ব্যবহৃত না মুক্ত ডিস্ক স্থান মুছে করার অনুমতি মনে হচ্ছে না।

এটি অর্জনে আমার কী ব্যবহার করা উচিত?


কেবল নিরাপদ সমাধান হ'ল আপনার ফাইলগুলি অন্য কোথাও সংরক্ষণ করা, পুরো পার্টিশনটি মুছা, ফাইল সিস্টেমটি পুনরায় তৈরি করা এবং তারপরে আপনার ফাইলগুলি পুনরুদ্ধার করা। আমি ফটোরেক চালিয়েছি এবং 'মোছা' ফাঁকা জায়গা সত্ত্বেও কী পরিমাণ জিনিস পুনরুদ্ধার করা যায় তা দেখে হতবাক হয়েছি। আপোষজনক সমাধানটি হল আপনার পার্টিশনের বাম সীমানাটি আপাতদৃষ্টিতে মুক্ত স্থান মুছার পরে এর আকারের 6% দ্বারা সরিয়ে নেওয়া।
user39559

উত্তর:


107

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

আপনি সুরক্ষিত-মোছা নামক সরঞ্জামগুলির স্যুট ব্যবহার করতে পারেন।

sudo apt-get install secure-delete

এটিতে চারটি সরঞ্জাম রয়েছে:

srm- বিদ্যমান ফাইলটি
smemনিরাপদে মুছুন
sfill- র্যাম থেকে কোনও ফাইলের ট্রেসগুলি নিরাপদে মুছুন - আপনার হার্ড ড্রাইভে খালি হিসাবে চিহ্নিত সমস্ত স্থান মুছুন
sswap- আপনার অদলবদল থেকে সমস্ত ডেটা মুছুন ।

ম্যান পেজ থেকে srm

এসআরএম একটি নিরাপদ পদ্ধতিতে মিডিয়ামগুলির ডেটা মুছতে ডিজাইন করা হয়েছে যা চোর, আইন প্রয়োগকারী বা অন্যান্য হুমকির মাধ্যমে পুনরুদ্ধার করা যায় না। মুছা অ্যালগরিদম শীর্ষস্থানীয় বেসামরিক ক্রিপ্টোগ্রাফারদের একজন পিটার গুটম্যানের the ষ্ঠ ইউজেনিক্স সিকিউরিটি সিম্পোজিয়ামে উপস্থাপিত "চৌম্বকীয় এবং সলিড-স্টেট মেমোরি থেকে ডেটা সিকিউর ডিলিয়েশন" পেপারের ভিত্তিতে তৈরি করা হয়েছে।

এসআরএম এর সুরক্ষিত ডেটা মোছার প্রক্রিয়াটি এরকম হয়:

  • 0xff সঙ্গে 1 পাস
  • 5 এলোমেলো পাস। /dev/urandomযদি পাওয়া যায় তবে সুরক্ষিত আরএনজির জন্য ব্যবহৃত হয়।
  • পিটার গুটম্যান দ্বারা নির্ধারিত বিশেষ মান সহ 27 টি পাস।
  • 5 এলোমেলো পাস। /dev/urandomযদি পাওয়া যায় তবে সুরক্ষিত আরএনজির জন্য ব্যবহৃত হয়।
  • এলোমেলো মানটিতে ফাইলটির নাম পরিবর্তন করুন
  • ফাইলটি কেটে ফেলুন

সুরক্ষার অতিরিক্ত পরিমাপ হিসাবে ফাইলটি ওএসওয়াইএনসি মোডে খোলা হয় এবং প্রতিটি পাসের পরে একটি fsync()কল করা হয়। srmগতির উদ্দেশ্যে 32k ব্লক লিখে ডিস্ক ক্যাশে বাফারগুলি পূরণ করে যাতে ফাইলের অন্তর্গত পুরানো ডেটা ফ্লাশ এবং ওভাররাইট করতে বাধ্য করা হয়।


5
সুরক্ষিত-মোছার বর্তমান "অফিসিয়াল" হোমপেজটি সনাক্ত করা শক্ত। সম্ভবত একটি পুরানো সংস্করণ দাবি করেছে যে কোনও বাগ রিপোর্ট নেই, তবে একই সময়ে কোনও উন্মুক্ত বাগ্ট্র্যাকিং সিস্টেম নেই যেখানে আমি খুঁজে পাওয়া বাগের প্রতিবেদন করতে পারি। সুরক্ষিত-মুছে ফেলা হোমপৃষ্ঠাটি এটিও নির্দেশ করে যে এটি আপনার ব্যবহৃত ফাইল সিস্টেমের উপর নির্ভর করে ডেটার সমস্ত অব্যবহৃত ব্লকগুলি মুছতে পারে না , যা সত্য।
ব্যবহারকারী39559

11
আধুনিক হার্ড ডিস্ক (প্রায় 20 গিগাবাইটের চেয়ে বড়) সহ, বেশ কয়েকটি পাস করা এবং বয়সের জন্য অপেক্ষা করা সম্পূর্ণরূপে অকেজো। তাই বিশেষায়িত সরঞ্জামগুলি ইনস্টল করাও অকেজো হয়ে পড়েছে (এটি নিরাপদে-মুছতে কেন কোনও হোম পৃষ্ঠা নেই তা ব্যাখ্যা করতে পারে)। শুধু উপযুক্ত পার্টিশন থেকে করতে: cat /dev/zero >nosuchfile; rm nosuchfile
mivk

1
@ মিভক: একাধিক পাস করা কেন বেহুদা? এবং / dev / এলোমেলো পরিবর্তে / dev / শূন্য কেন ব্যবহার করবেন? এটা কি গতির উদ্বেগের কারণে?
nnot101

5
/ Dev / শূন্য ব্যবহার করা আরও দ্রুত। আপনি যদি / dev / এলোমেলো থেকে ফাঁকা স্থান লিখেন তবে কার্নেলটিকে ফ্লাইতে সমস্ত এলোমেলো ডেটা তৈরি করতে হবে। এটি আপনার লোড গড় সর্বোচ্চ লাফিয়ে
স্নেহ দেখার এক মজাদার উপায়

3
একাধিক ওয়াইপগুলি প্রয়োজনীয় কিনা এই প্রশ্নের উত্তর এখানে দেওয়া হয়েছে: হার্ড ড্রাইভের মাধ্যমে জিরোস (বা এলোমেলো তথ্য) কেন একবারে না করে একাধিকবার ভাল করা হচ্ছে?
sleske

71

দ্রুততম উপায়, যদি আপনার কেবলমাত্র একক পাস প্রয়োজন হয় এবং কেবল জিরো দিয়ে সমস্ত কিছু প্রতিস্থাপন করতে চান তবে তা হ'ল:

cat /dev/zero > zero.file
sync
rm zero.file

(আপনি মুছে ফেলতে চান ফাইল সিস্টেমে একটি ডিরেক্টরি থেকে চালান)
( syncকমান্ডটি একটি প্যারানাইয়া পরিমাপ যা নিশ্চিত করে যে সমস্ত ডেটা ডিস্কে লেখা আছে - একটি বুদ্ধিমান ক্যাশে ম্যানেজার কাজ করতে পারে যে ফাইলটি লিঙ্কযুক্ত না হলে কোনও বিচারাধীন ব্লকের জন্য রাইট বাতিল করতে পারে) )

এই অপারেশনের সময় এমন একটি সময় আসবে যখন ফাইল সিস্টেমে কোনও খালি জায়গা থাকবে না, ফলস্বরূপ ফাইলটি বড় এবং খণ্ডিত হয়ে গেলে মুছে ফেলার জন্য কয়েক মিনিট সময় লাগতে পারে t যখন ফ্রিস্পেস সম্পূর্ণ শূন্য হয় তখন সময় হ্রাস করতে:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
cat /dev/zero > zero.file
sync
rm zero.small.file
rm zero.file

কোনও ব্যয়বহুল ফরেনসিক অপারেশন ছাড়াই কাউকে পুরানো ফাইল সামগ্রীগুলি পড়া বন্ধ করার জন্য এটি পর্যাপ্ত হওয়া উচিত। সামান্য বেশি নিরাপদ, কিন্তু ধীর, বৈকল্পিক জন্য প্রতিস্থাপন /dev/zeroসঙ্গে /dev/urandom। আরও বিড়ম্বনার জন্য একাধিক পদক্ষেপ চালান /dev/urandom, যদিও আপনার যদি প্রচুর পরিশ্রমের প্রয়োজন shredহয় তবে কোরিউটিলস প্যাকেজ থেকে ইউটিলিটি হ'ল উপায়:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
shred -z zero.small.file
cat /dev/zero > zero.file
sync
rm zero.small.file
shred -z zero.file
sync
rm zero.file

নোট করুন যে উপরেরটিতে ছোট ফাইলটি বৃহত্তর তৈরির আগে ছাঁটাই হয়ে গেছে, তাই এটি ফাইল সিস্টেমটি গ্রহণের জন্য অপেক্ষা করার পরিবর্তে বৃহত্তর সম্পূর্ণ হওয়ার সাথে সাথেই এটি সরিয়ে ফেলা যেতে পারে যার জন্য সময়কালের জন্য শূন্য মুক্ত স্থান রেখে দেয়। বড় আকারের ফাইলের সাথে কাটা প্রসেসটি দীর্ঘ সময় নেয় এবং যদি আপনি এনএসএ থেকে কিছু গোপন করার চেষ্টা না করেন তবে সত্যই প্রয়োজনীয় আইএমও নয়।

উপরের সমস্তটি যে কোনও ফাইল সিস্টেমে কাজ করা উচিত।

ফাইলের আকার সীমা:

যেমন ড্যানমোল্ডিং নীচে একটি মন্তব্যে উল্লেখ করেছেন, এতে কিছু ফাইল সিস্টেমে ফাইল আকারের লিমিগুলির সমস্যা হতে পারে।

FAT32 এর জন্য এটি অবশ্যই 2 জিআইবি ফাইলের সীমাবদ্ধতার কারণে উদ্বেগের বিষয় হবে: বেশিরভাগ ভলিউম এই দিনগুলির চেয়ে বড় (8 টিআইবি হ'ল ভলিউম আকারের সীমা IIRC)। আপনি একাধিক ছোট ফাইল তৈরি করতে এবং বৃহত cat /dev/zeroআউটপুট আউটপুটটি পাইপ দিয়ে এটিকে ঘিরে কাজ করতে পারেন splitএবং সেগুলি অনুসারে শেডগুলি সামঞ্জস্য করতে পারেন এবং মুছে ফেলতে পারেন।

Ext2 / 3/4 এর সাথে এটি উদ্বেগের দিক থেকে কম নয়: ডিফল্ট / সাধারণ 4K ব্লকের সাথে ফাইলের আকারের সীমা 2TiB হয় সুতরাং এটির সমস্যা হওয়ার জন্য আপনার একটি বিশাল পরিমাণ থাকতে হবে (এই শর্তাবলীতে সর্বাধিক ভলিউমের আকার 16 টিআইবি)।

(এখনও পরীক্ষামূলক) বিটিআরটিফের সাহায্যে সর্বাধিক ফাইল এবং ভলিউম মাপ উভয়ই একটি বিশাল 16EiB।

এনটিএফএসের অধীনে সর্বাধিক ফাইলের দৈর্ঘ্য কিছু ক্ষেত্রে এমনকি সর্বোচ্চ পরিমাণের দৈর্ঘ্যের চেয়েও বড় than

আরও তথ্যের জন্য পয়েন্ট শুরু:
http://en.wikedia.org/wiki/Ext3#Size_limits
http://en.wikedia.org/wiki/Btrfs
http://en.wikedia.org/wiki/Ntfs#Scalability

ভার্চুয়াল ডিভাইস

সম্প্রতি মন্তব্যে উল্লিখিত হিসাবে, ভার্চুয়াল ডিভাইসগুলির জন্য অতিরিক্ত বিবেচনা রয়েছে:

  • খুব কম বরাদ্দ করা ভার্চুয়াল ডিস্কের জন্য অন্যান্য পদ্ধতির যেমন ব্যবহারগুলি zerofreeদ্রুত হবে (যদিও এটি বিপরীত catএবং ddএটি কোনও আদর্শ সরঞ্জাম নয় যা আপনি কোনও ইউনিক্স-এর মতো কোনও ওএসে উপলব্ধ থাকার উপর নির্ভর করতে পারেন))

  • সচেতন থাকুন যে একটি বিচ্ছিন্ন ভার্চুয়াল ডিভাইসে একটি ব্লক শূন্য করা অন্তর্নিহিত শারীরিক ডিভাইসে ব্লকটি মুছে ফেলতে পারে না , বাস্তবে আমি এটিকে বলার অপেক্ষা রাখে না যে এটির সম্ভাবনা নেই - ভার্চুয়াল ডিস্ক ম্যানেজার ব্লকটিকে আর ব্যবহার করবে না কারণ সুতরাং এটি পরে অন্য কিছুতে বরাদ্দ করা যেতে পারে।

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

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


4
সহজ শূন্যকরণটি স্পষ্টতই secure-deleteসরঞ্জামগুলির সাহায্যেও করা যেতে পারে : ব্যবহারের sfill -llzফলে পুরো পদ্ধতিটিকে একটি পাসে হ্রাস করা হয় যা কেবল '0' লিখে থাকে।
foraidt

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

2
@ এন্ডোলিথ: আপনি যদি একটি সক্রিয় ফাইল সিস্টেমের ফাঁকা জায়গাটি ফাঁকা রাখতে চান তবে ফাইল সিস্টেমের ওভারহেডের মাধ্যমে এত বেশি তথ্য লেখার প্রয়োজনীয়তাটি আপনি পেতে পারেন না। Fnord_ix দ্বারা প্রস্তাবিত সুরক্ষিত-মোছার সরঞ্জামগুলি দ্রুততর হতে পারে, কারণ তারা এই ধরণের কাজের জন্য অনুকূলিত optim
ডেভিড স্পিললেট

2
@ এন্ডোলিথ: ম্যান পৃষ্ঠায় বর্ণিত বর্ণনা থেকে আমি জিরোফ্রির বৈকল্পিকটি কেবলমাত্র বরাদ্দকৃত ভার্চুয়াল ডিস্কগুলির জন্য কেবলমাত্র দ্রুততর আশা করব, বাস্তবে এটি পড়ার আগে লেখার কাজটি করা থাকলে এটি আসল বা স্থির-আকারের ভার্চুয়াল ডিস্কগুলির চেয়ে ধীর হতে পারে might ব্লকের কোনও বিষয়বস্তু নেই তা নিশ্চিত করতে। ভার্চুয়াল ডিস্কের বেলুনিংটি হয় না কারণ বেশিরভাগ স্পার্স ডিস্ক ড্রাইভাররা অল-জিরোগুলিকে "এই ব্লকটি বরাদ্দ করবেন না" হিসাবে গ্রহণ করে। এছাড়াও, catএবং ddবেশ কয়েকটি ইউনিক্স-এর মতো ওএসে উপলব্ধ কারণ এগুলি মানক সরঞ্জাম হিসাবে বিবেচনা করা হয় যেখানে zerofreeএটি স্পষ্টভাবে যুক্ত না করা হলে সম্ভবত তা নয়।
ডেভিড স্পিললেট

1
@endolith: বলে সর্বোপরি, zerofreeঅবশ্যই অবশ্যই কাজ করবে, মানুষ পৃষ্ঠা (প্রায় কিন্তু বেশ আমার উদাহরণ মধ্যে small.file jiggery pokery দ্বারা নির্বাপিত) এ উল্লেখিত "সমগ্র ফাইল সিস্টেম সাময়িকভাবে পূর্ণ" জিনিস হল একটি জেনুইন উদ্বেগ আপনি যদি বর্তমানে সক্রিয় সিস্টেমে এটি করছেন, এবং zerofreeসুনির্দিষ্টভাবে এটির ক্ষেত্রে এটি দ্রুততর হবে এটির জন্য এটি অনুকূলিত হয়েছে: খুব কম বরাদ্দ ভার্চুয়াল ব্লক ডিভাইসগুলি। যদিও আপনি সুরক্ষা উদ্দেশ্যে ভার্চুয়াল ডিভাইসে কোনও মুছার উপর নির্ভর করতে পারবেন না: সেক্ষেত্রে একমাত্র আসল উত্তর হ'ল প্রথম থেকেই পুরো-ডিভাইস-এনক্রিপ্ট।
ডেভিড স্পিললেট

45

সতর্কতামূলক

আমি অনেক ফাইল মর্মাহত হয়েছিল photorec ওয়াইপ করার পরেও আমার ডিস্ক থেকে উদ্ধার করতে পারে,।

"ফ্রি স্পেস" 0x00 দিয়ে কেবল 1 বার পূরণ করার ক্ষেত্রে আরও সুরক্ষা আছে বা 38 টি বিভিন্ন ক্যাবিলিস্টিক স্ট্যান্ডার্ড সহ 38 বার পড়াশোনা করা একাডেমিক আলোচনার বিষয়। কাটাপাতার উপর সেমিনাল 1996 এর কাগজটির লেখক নিজেকে একটি প্রবন্ধ লিখেছিলেন যে এটি আধুনিক হার্ডওয়্যারের জন্য অপ্রচলিত এবং অপ্রয়োজনীয়। শারীরিকভাবে জিরো প্রতিস্থাপন এবং পরে পুনরুদ্ধারের কোনও ডকুমেন্টার্ড কেস নেই।

এই পদ্ধতির আসল ভঙ্গুর লিঙ্কটি ফাইল সিস্টেম । কিছু ফাইল সিস্টেম বিশেষ ব্যবহারের জন্য স্থান সংরক্ষণ করে এবং এটি "ফ্রি স্পেস" হিসাবে উপলব্ধ করা হয় না। তবে আপনার ডেটা থাকতে পারে । এর মধ্যে ফটোগুলি, ব্যক্তিগত সাদামাটা-পাঠ্য ইমেলগুলি যাই হোক না কেন অন্তর্ভুক্ত রয়েছে। আমি সবেমাত্র সংরক্ষিত + স্পেস + এক্সট4 গুগল করেছি এবং শিখেছি যে আমার homeপার্টিশনের ৫% সংরক্ষিত ছিল। আমার ধারণা এখানে photorecআমার জিনিসপত্রের খুব সন্ধান পাওয়া যায়। উপসংহার: ক্রেডিং পদ্ধতি সর্বাধিক গুরুত্বপূর্ণ নয়, এমনকি মাল্টি-পাস পদ্ধতি এখনও ডেটা রেখে দেয়

আপনি # tune2fs -m 0 /dev/sdn0এটি মাউন্ট করার আগে চেষ্টা করতে পারেন । (যদি এটি পুনরায় বুট করার পরে মূল বিভাজন হয়ে থাকে তবে তা চালাওয়ার -m 5বা -m 1আনমাউন্ট করার পরে নিশ্চিত হয়ে নিন)।

তবে এখনও, এক বা অন্য উপায়, কিছু জায়গা বাকি থাকতে পারে।

সত্যিকারের নিরাপদ উপায় হ'ল সম্পূর্ণ পার্টিশনটি মুছা, আবার একটি ফাইল সিস্টেম তৈরি করা এবং তারপরে আপনার ফাইলগুলি ব্যাকআপ থেকে পুনরুদ্ধার করা।


দ্রুত উপায় (প্রস্তাবিত)

আপনি মুছে ফেলতে চান ফাইল সিস্টেমের একটি ডিরেক্টরি থেকে চালান:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
dd if=/dev/zero of=zero.file bs=1024
sync ; sleep 60 ; sync
rm zero.small.file
rm zero.file

দ্রষ্টব্য: ছোট স্থানটির উদ্দেশ্য হ'ল যখন ফাঁকা স্থান সম্পূর্ণ শূন্য হয় তখন সময় হ্রাস করা; সিঙ্কের উদ্দেশ্য হ'ল তথ্যটি লিখিত আছে তা নিশ্চিত করা।

এটি বেশিরভাগ মানুষের পক্ষে যথেষ্ট ভাল হওয়া উচিত।

ধীর পথ (ভৌতিক)

উপরের পরিষ্কারের পরে ডেটা পুনরুদ্ধারের কোনও নথিভুক্ত মামলা নেই। এটি ব্যয়বহুল এবং সংস্থান দাবী হবে, যদি সম্ভব হয় তবেই।

তবুও, যদি আপনার ভাবার কোনও কারণ থাকে যে গোপন সংস্থাগুলি আপনার ফাইলগুলি পুনরুদ্ধার করতে প্রচুর সংস্থান ব্যয় করবে, এটি যথেষ্ট হবে:

dd if=/dev/urandom of=random.small.file bs=1024 count=102400
dd if=/dev/urandom of=random.file bs=1024
sync ; sleep 60 ; sync
rm random.small.file
rm random.file

এটি অনেক বেশি সময় নেয়।

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

খুব ধীর পথ (উন্মাদ)

এমনকি কাটা পড়ার বিষয়ে সেমিনাল 1996 এর কাগজটির লেখক একটি প্রবন্ধ লিখেছিলেন যে এটি আধুনিক হার্ডওয়্যারের জন্য অপ্রচলিত এবং অপ্রয়োজনীয়।

তবে এখনও যদি আপনার অনেক ফ্রি সময় থাকে এবং আপনি আপনার ডিস্ককে প্রচুর ওভাররাইটিং দিয়ে নষ্ট করতে আপত্তি করেন না তবে এটি সেখানে যায়:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
sync ; sleep 60 ; sync
shred -z zero.small.file
dd if=/dev/zero of=zero.file bs=1024
sync ; sleep 60 ; sync
rm zero.small.file
shred -z zero.file
sync ; sleep 60 ; sync
rm zero.file

দ্রষ্টব্য: এটি সুরক্ষিত-মোছার সরঞ্জামটি ব্যবহারের সমতুল্য।


সম্পাদনার আগে, এই পোস্টটি ডেভিড স্পিলিটের পুনর্লিখন ছিল। "বিড়াল" কমান্ডটি একটি ত্রুটি বার্তা উত্পন্ন করে, তবে আমি অন্য ব্যক্তির পোস্টগুলিতে মন্তব্য লিখতে পারি না।


আপনি 50 জন খ্যাতি নিয়ে অন্য ব্যক্তির পোস্টের অধীনে মন্তব্য করতে পারেন ।
Gnoupi

1
catকমান্ড তার রান শেষে আমার উদাহরণ একটি "কোন স্থান বাম" ত্রুটি দিতে আশা করা হচ্ছে। স্ট্যাডারকে /dev/nullকোনও সমস্যা হলে আপনাকে পুনর্নির্দেশের মাধ্যমে এটি আড়াল করতে পারেন। দরকারী অগ্রগতির ইঙ্গিত পেতে আমি সাধারণত এই ধরণের pvপরিবর্তে catবা এর ddজন্য ব্যবহার করি ।
ডেভিড স্পিলিট

4
...raises the suspicion that it is actually encrypted data. You may die under torture for not revealing the decryption key.হেই, আমি যা ভাবছিলাম ঠিক তাই। আমি অনুমান করি যে এর অর্থ আমি ভৌতিক ...
নবীন

2
রুট সর্বদা সংরক্ষিত স্থান ব্যবহার করতে সক্ষম। সুতরাং আপনি যদি রুট হিসাবে আপনার শূন্য-পূরণ করেন তবে আপনি 5% সংরক্ষিত স্থানও পূরণ করতে পারবেন; সুরগুলি অপ্রয়োজনীয়। এটি এখনও অনুমানযোগ্য যে ফাইল সিস্টেমের অন্যান্য অংশে ডেটা থাকতে পারে।
নেট এল্ডারেজ

1
@ নেটএলড্রেডজে আপনার কি এমন কোনও উত্স আছে যা ইঙ্গিত দেয় যে ddরুট হিসাবে চালানো ddকোনও রুট ছাড়াই বেশি ফাইল সিস্টেমকে অ্যাক্সেস দেয় ? আমি এটি সত্য বলে বিশ্বাস করতে চাই, তবে এই মুহুর্তে কোনও কারণ দেখতে পাচ্ছি না।
হাশিম

27

কমপক্ষে উবুন্টুতে জিরোফ্রি ইউটিলিটি রয়েছে:

http://manpages.ubuntu.com/manpages/natty/man8/zerofree.8.html

   zerofree — zero free blocks from ext2/3 file-systems

   zerofree  finds  the  unallocated, non-zeroed blocks in an ext2 or ext3
   filesystem (e.g. /dev/hda1) and fills them with zeroes. This is  useful
   if  the  device  on  which this file-system resides is a disk image. In
   this case, depending on the type of disk image, a secondary utility may
   be  able  to  reduce the size of the disk image after zerofree has been
   run.

   The usual way to achieve  the  same  result  (zeroing  the  unallocated
   blocks)  is to run dd (1) to create a file full of zeroes that takes up
   the entire free space on the drive, and then delete this file. This has
   many disadvantages, which zerofree alleviates:

      ·  it is slow;

      ·  it makes the disk image (temporarily) grow to its maximal extent;

      ·  it  (temporarily)  uses  all  free  space  on  the disk, so other
         concurrent write actions may fail.

   filesystem has to be unmounted or mounted  read-only  for  zerofree  to
   work.  It  will exit with an error message if the filesystem is mounted
   writable. To remount the  root  file-system  readonly,  you  can  first
   switch to single user runlevel (telinit 1) then use mount -o remount,ro
   filesystem.

জিরোফ্রি সম্পর্কে এই লিঙ্কটিও দেখুন: ফাইল সিস্টেমের চিত্রগুলি অপ্রতুল রাখা - এটি তার লেখকের কাছ থেকে - রন ইয়ারস্টন (9 ই আগস্ট 2012)


3
জিরোফ্রি কাজের জন্য কেবল ফাইল-সিস্টেমটি আনমাউন্ট করা বা পঠনযোগ্য পঠনযোগ্য হওয়া জরুরী।
আন্তোনিওকে

1
রুট ফাইল সিস্টেমে এটি কীভাবে করা যায় সে সম্পর্কে কিছু তথ্য অন্তর্ভুক্ত করা ভাল। আমার অনুভূতি হ'ল এটি কাজ করবে না, কারণ আপনাকে ফাইল সিস্টেমটি আনমাউন্ট করতে হবে, যখন একই সাথে বলা ফাইল সিস্টেম থেকে সরঞ্জামটি চালাচ্ছেন।
Ant6n

এটি CentOS
ড্যাভিডগো

3

জিইউআই দিয়ে এটি কীভাবে করা যায় তা এখানে।

  1. ব্লিচবিট ইনস্টল করুন
  2. অ্যাপ্লিকেশন - সিস্টেম সরঞ্জাম - প্রশাসক হিসাবে ব্লিচবিট ক্লিক করে রুট হিসাবে চালান।
  3. পছন্দগুলিতে আপনি কোন পাথ চান তা বলুন। সাধারণত এটি তাদের ভাল অনুমান করে। আপনি প্রতিটি পার্টিশনের জন্য একটি লেখার যোগ্য পথ অন্তর্ভুক্ত করতে চান। সাধারণত এটি হ'ল / হোম / ইউজারনেম এবং / টিএমপি, যদি না সেগুলি একই পার্টিশন হয় তবে এই ক্ষেত্রে কেবল একটি বেছে নিন।
  4. বক্স সিস্টেমটি চেক করুন - ফ্রি ডিস্ক স্পেস মুছুন।
  5. মুছুন ক্লিক করুন।

ব্লাচবিট ওভার ডিডি-র অগ্রিম অগ্রযাত্রা (যা অন্যথায় খুব সুন্দর) শেষ অবধি ডিস্কটি পূর্ণ হয়ে গেলে ব্লিচবিট ইনোডগুলি মুছতে ছোট ফাইল তৈরি করে (এতে ফাইলের নামগুলির মতো মেটাডেটা রয়েছে ইত্যাদি)।


পরিদর্শন করুন আপনার স্ব জন্য একটি ড্রাইভ থেকে freespace সম্মার্জনী জন্য Bleachbit এর ওপেনসোর্স পাইথন কোড।
ছাদবিক

2

আমি ddখালি জায়গা পূরণ করতে এক বা একাধিক বড় ফাইল বরাদ্দ করতে ব্যবহার করি , তারপরে একটি সুরক্ষিত মুছে ফেলার সুবিধাটি ব্যবহার করি।

ডিডি চেষ্টা করে ফাইল বরাদ্দ করতে:

dd if=/dev/zero of=delete_me bs=1024 count=102400

এটি delete_me100 এমবি আকারের একটি ফাইল তৈরি করবে । (এখানে bs"ব্লকের আকার" 1 কে সেট করা আছে এবং countএটি বরাদ্দ করার জন্য ব্লকের সংখ্যা))

তারপরে shredতৈরি করা ফাইলগুলিতে আপনার পছন্দসই সুরক্ষিত মোছার ইউটিলিটি (আমি ব্যবহার করছি ) ব্যবহার করুন।

তবে এটি দ্রষ্টব্য: বাফারিং মানে আপনি পুরো ডিস্কটি করলেও , আপনি একেবারে সবকিছু নাও পেতে পারেন!


এই লিঙ্কটিscrub বিনামূল্যে স্থান মোছার জন্য প্রস্তাব দেয় । চেষ্টা করে দেখেনি।


ওহ, স্মৃতি যদি আমাকে পরিবেশন করে তবে আমি scrubএকবার চেষ্টা করেছিলাম এবং এটি পুরো ফাইল-সিস্টেমকে দূষিত করে। ভাগ্যক্রমে আমি আমার পরীক্ষামূলক ফাইল-সিস্টেমে প্রথম পরীক্ষার ভাল ধারণা পেয়েছিলাম, আমার আসল তথ্যগুলিতে নয়।
ল্যান্ড্রোনি

2

শীর্ষ গতিতে একটি ড্রাইভ মুছুন।

আজকাল কোনও ড্রাইভ এনক্রিপ্ট করার জন্য সাধারণ নির্দেশাবলী আপনাকে প্রথমে ড্রাইভটি WIPE করতে বলবে।

নীচের কমান্ডটি আপনার ড্রাইভটি এএস সিফেরেক্সট দিয়ে পূর্ণ করবে।

আপনার মূল বুট ড্রাইভটি মুছতে চাইলে একটি লাইভ সিডি ব্যবহার করুন।

একটি টার্মিনাল খুলুন এবং আপনার সুযোগগুলি উন্নত করুন:

sudo bash

আসুন নিরাপদে থাকার জন্য আমাদের সিস্টেমে সমস্ত ড্রাইভ তালিকাভুক্ত করুন:

cat /proc/partitions

দ্রষ্টব্য: /dev/sd{x}আপনি মুছতে চান এমন ডিভাইসটি প্রতিস্থাপন করুন ।

সতর্কতা: এটি অপেশাদারদের জন্য নয়! আপনি আপনার সিস্টেমকে বুটমুক্ত করতে পারবেন !!!

sudo openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > /dev/sd{x}

আমি এটি স্তম্ভিত যে কত দ্রুত।



2

সুরক্ষিত মোছার প্যাকেজটি ব্যবহার করে আপনি আপনার ফাঁকা জায়গাটি মুছতে পারেন।

সেই প্যাকেজে আপনি sfillসরঞ্জামটি সন্ধান করতে পারেন , যা এমন ডেটা মুছে ফেলার জন্য ডিজাইন করা হয়েছে যা মিডিয়ামগুলিতে নিরাপদ উপায়ে ডিস্কস্পেসের মধ্যে থাকে যা চোর, আইন প্রয়োগকারী বা অন্যান্য হুমকির মাধ্যমে পুনরুদ্ধার করা যায় না।

লিনাক্সে (উবুন্টু) সুরক্ষিত মোছার প্যাকেজটি ইনস্টল করতে, নিম্নলিখিত কমান্ড দ্বারা এটি ইনস্টল করুন:

$ sudo apt-get install secure-delete

তারপরে আপনার ডেটাটি কোনও খালি স্থান মুছে ফেলতে নীচের কমান্ডটি ব্যবহার করে দেখুন:

sfill -f -v -ll /YOUR_MOUNTPOINT/OR_DIRECTORY

যেখানে / YOUR_MOUNTPOINT / OR_DIRECTORY হ'ল ফাঁকা জায়গাটি মুছতে আপনার মাউন্ট পয়েন্ট ( df -h, mount) বা ডিরেক্টরি।

Http://manpages.ubuntu.com/manpages/hardy/man1/sfill.1.html এ ম্যানুয়ালটি পড়ুন


1

ডিডি ব্যবহার করুন এবং খালি জায়গা শূন্যের বাইরে। এটি একটি পৌরাণিক কাহিনী যা একাধিকবার (কেবল পিটার গুঁটম্যান জিজ্ঞাসা করুন) এবং এলোমেলো ডেটা লিখতে হবে, এটি 1 এর পরে 0 এর অস্বাভাবিক কার্যকলাপকে বোঝায়। তারপরে ফলাফলটি লেখার জন্য কম সময় ব্যয় করে একটি ক্লিন ড্রাইভ। তদতিরিক্ত, সুরক্ষিত মুছে ফেলার প্রোগ্রামগুলি গ্যারান্টি দিতে পারে না তারা এমনকি আধুনিক ফাইল সিস্টেমে আসল ফাইলটি ওভাররাইট করে (ভ্রমণ)। নিজেকে অনুগ্রহ করুন এবং ফটোরেক করুন, গণ্ডগোলটি দেখতে আপনার ড্রাইভটি স্ক্যান করুন, 1 টি দিয়ে মুছে ফেলুন এবং বিকল্পটি শূন্যের সাহায্যে এটিকে অস্পৃশ্য দেখাচ্ছে। যদি ফটোরেক এখনও স্টাফ সন্ধান করে তবে মনে রাখবেন যে এটি উপলব্ধ সমস্ত কিছু স্ক্যান করছে তাই রুট ব্যবহারকারীর সাথে আবার সাবধানতার সাথে এটি করুন do

মনে রাখবেন, সিআইএ / এফবিআই / এনএসএর কাছে কোনও অভিনব মেশিন নেই যা আপনার চৌম্বকীয় মিডিয়া বিটের প্রকৃত অবস্থা পড়তে পারে। এগুলি অনেক আগে লেখা একটি কাগজ ছিল। একটি "কি-যদি"। আপনার কেবল 1 বার মুছতে হবে।


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

@ গ্রনোস্টাজ: আধুনিক ড্রাইভের দাবি "এটি একটি মিথের ডেটা একাধিকবার লিখে দেওয়া দরকার" অন্তত একাধিক গবেষণার মাধ্যমে প্রমাণিত হয়েছে। গুটম্যান দ্বারা প্রস্তাবিত এই সমস্ত 30+ পাসের আর আর প্রয়োজন হয় না, লেখক নিজে স্বীকার করেছেন।
করণ

1

স্ক্রাব ব্যবহার করা সহজ :

scrub -X dump

এটি dumpবর্তমান অবস্থানে একটি ফোল্ডার তৈরি করবে এবং ডিস্ক পূর্ণ না হওয়া পর্যন্ত ফাইল তৈরি করবে। -pবিকল্প ( nnsa|dod|bsi|old|fastold|gutmann) বিকল্পের সাহায্যে আপনি একটি প্যাটার্ন চয়ন করতে পারেন ।

স্ক্রাবটি ইনস্টল করা সহজ নয় ( এটি সম্পর্কে উবুন্টু ফোরামগুলি দেখুন ) তবে ইনস্টলেশনটি শেষ হয়ে গেলে আপনি নিজের হাতে একটি সহজ এবং দক্ষ সরঞ্জাম।


যদি স্মৃতি আমাকে পরিবেশন করে, আমি scrubএকবার চেষ্টা করেছি এবং এটি পুরো ফাইল-সিস্টেমকে দূষিত করে। ভাগ্যক্রমে আমি আমার পরীক্ষামূলক ফাইল-সিস্টেমে প্রথম পরীক্ষার ভাল ধারণা পেয়েছিলাম, আমার আসল তথ্যগুলিতে নয়।
ল্যান্ড্রোনি

আপনি কি করেছেন বা কী হয়েছে তা জানেন না, তবে ফাইল সিস্টেমটি পূরণ না করা পর্যন্ত স্ক্রাব মূলত নতুন ফাইল তৈরি করুন। এটি বিদ্যমান ফাইলের সাথে খেলে না, তা তাদের
কোনওটিও

1
প্রকৃতপক্ষে. চেষ্টা করেছেন scrub -X dump_dirএবং দেখে মনে হচ্ছে এটি দুর্দান্ত কাজ করেছে। BTW, উবুন্টু 14.04 ইনস্টল খুব সহজবোধ্য: apt-get install scrub
ল্যান্ড্রোনি

1

এখানে আমি ব্যবহার করছি "sdelete.sh" স্ক্রিপ্ট। বিশদ জন্য মন্তব্য দেখুন।

# Install the secure-delete package (sfill command).

# To see progress type in new terminal:
# watch -n 1 df -hm

# Assuming that there is one partition (/dev/sda1). sfill writes to /.
# The second pass writes in current directory and synchronizes data.
# If you have a swap partition then disable it by editing /etc/fstab
# and use "sswap" or similar to wipe it out.

# Some filesystems such as ext4 reserve 5% of disk space
# for special use, for example for the /home directory.
# In such case sfill won't wipe out that free space. You
# can remove that reserved space with the tune2fs command.
# See http://superuser.com/a/150757
# and https://www.google.com/search?q=reserved+space+ext4+sfill

sudo tune2fs -m 0 /dev/sda1
sudo tune2fs -l /dev/sda1 | grep 'Reserved block count'

sudo sfill -vfllz /

# sfill with the -f (fast) option won't synchronize the data to
# make sure that all was actually written. Without the fast option
# it is way too slow, so doing another pass in some other way with
# synchronization. Unfortunately this does not seem to be perfect,
# as I've watched free space by running the "watch -n 1 df -hm"
# command and I could see that there was still some available space
# left (tested on a SSD drive).

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
dd if=/dev/zero of=zero.file bs=1024
sync ; sleep 60 ; sync
rm zero.small.file
rm zero.file

sudo tune2fs -m 5 /dev/sda1
sudo tune2fs -l /dev/sda1 | grep 'Reserved block count'

1

আমি একটি সহজ সমাধান পেয়েছি যা লিনাক্স এবং ম্যাকোস-এ কাজ করে। আপনার ডিস্কের মূল ফোল্ডারে চলে যান এবং এই আদেশটি চালু করুন:

for i in $(seq 1 //DISKSPACE//); do dd if=/dev/zero of=emptyfile${i} bs=1024 count=1048576; done; rm emptyfile*;

যেখানে // ডিস্কস্পেস // হ'ল আপনার হার্ড ডিস্কের জিবি-র আকার।


0

আমি মাঝে মাঝে এই ব্যাশ ওয়ান-লাইনার ব্যবহার করি:

while :; do cat /dev/zero > zero.$RANDOM; done

এটি যখন ডিস্কটি পূর্ণ বলে বলতে শুরু করে, কেবলমাত্র Ctrl+ টিপুন Cএবং তৈরি করা zero.*ফাইলগুলি সরিয়ে ফেলুন ।

এটি ফাইল আকারের সীমা যাই হোক না কেন, কোনও সিস্টেমে কাজ করে।
কোনও cat: write error: File too largeত্রুটি উপেক্ষা করুন ।


0

এটি কোনও উত্তর নয়! যারা ব্যবহার করতে চান তাদের জন্য কেবল একটি মন্তব্য pv... সুতরাং ভোটদানকে বিরক্ত করবেন না।

উপর লিনাক্স মিন্ট 17.3 আপনি ব্যবহার করতে পারেন pv( নল দৃশ্য ) লেখার উন্নতি জন্য। উদাহরণ স্বরূপ:

# Install pv (pipe view)
sudo apt-get install pv

# Write huge file of approximate size of /dev/sdb, using urandom data:
pv --timer --average-rate --progress --numeric --eta --interval 5 --size "$(blockdev --getsize64 /dev/sda )" /dev/urandom >rand.file

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

উপর একটি খুব পুরানো এইচডি, আমি একটি তথ্য হার পেতে সম্পর্কে 13 মেগাবাইট / সেকেন্ড ব্যবহার /dev/urandom, এবং প্রায় 70 মেগাবাইট / সেকেন্ড , যখন ব্যবহার /dev/zero। যখন একটি কাঁচা ব্যবহার এটি সম্ভবত আরও উন্নতি হবে ddঅথবা catনা এবং pv


-13

ফাইলটি ফাইল সিস্টেমের রেকর্ডটি সরিয়ে দেওয়ার পরে, হার্ডডিস্কে থাকা ডেটাটি 1 এবং 0 এর অর্থহীন ক্রম। আপনি যদি সেই অর্থহীন ক্রমটি অন্য অর্থহীন ক্রমের সাথে প্রতিস্থাপন করতে চান তবে আমি আর্কনিসের মতো ড্রাইভগুলি নিরাপদে মুছে ফেলার জন্য কিছু বাণিজ্যিক পণ্যকে পরামর্শ দিতে পারি।


22
প্রাক্তন ফাইল সামগ্রীর সংখ্যক অংশগুলি এখনও ডিস্কে থেকে যায় এবং কাঁচা ডিস্ক ডেটা সরাসরি পরীক্ষা করা হয় তবে তা অর্থহীন from
অ্যালেক্স বি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.