শূন্যের সাথে অব্যবহৃত স্থান সাফ করুন (ext3, ext4)


73

জিরো দিয়ে অব্যবহৃত স্থান কীভাবে সাফ করবেন? (, Ext3, ext4 এই)

আমি এর চেয়ে স্মার্ট কিছু খুঁজছি

cat /dev/zero > /mnt/X/big_zero ; sync; rm /mnt/X/big_zero

এফএসআরচিভারের মতো "ব্যবহৃত স্থান" খুঁজছেন এবং অব্যবহৃত, তবে বিপরীত সাইটটিকে উপেক্ষা করছেন।

উদ্দেশ্য: আমি পার্টিশন চিত্রগুলি সংকুচিত করতে চাই, সুতরাং শূন্যের সাথে অব্যবহৃত স্থান পূরণের সুপারিশ করা হয়।

BTW। বিটিআরএসএফের জন্য: জিরোস (বিটিআরএফএস) দিয়ে অব্যবহৃত স্থান সাফ করুন


4
এটি দেখুন: superuser.com
মাদুর

1
দুটি ভিন্ন ধরণের উত্তর সম্ভব। আপনি কি অর্জন করার চেষ্টা করছেন? হয় 1) সুরক্ষা, কাউকে সেই তথ্যগুলি পড়তে নিষেধ করে, বা 2) পুরো বিভাগের সংকোচনের অনুকূলকরণ বা [এসএসডি পারফরম্যান্স] ( এন।
উইকিপিডিয়া.org

উত্তর:


77

যেমন একটি ইউটিলিটি হয় zerofree

এর বর্ণনা থেকে:

জেরোফ্রি একটি ext2 বা ext3 ফাইল-সিস্টেমে অবিকৃত, অ-শূন্য শৃঙ্খলাগুলি আবিষ্কার করে এবং সেগুলি শূন্যে পূরণ করে। এই ফাইল-সিস্টেমটি যে ডিভাইসে থাকে সেই ডিভাইসটি যদি ডিস্কের চিত্র হয় তবে এটি কার্যকর। এই ক্ষেত্রে, ডিস্ক চিত্রের ধরণের উপর নির্ভর করে একটি গৌণ ইউটিলিটি জিরোফ্রি চালুর পরে ডিস্ক চিত্রের আকার হ্রাস করতে সক্ষম হতে পারে। জিরোফ্রি ফাইল-সিস্টেমটি আনমাউন্ট করা বা কেবল পঠনযোগ্য মাউন্ট করা প্রয়োজন।

একই ফলাফলটি অর্জনের স্বাভাবিক উপায় (অব্যবহৃত ব্লকগুলি শূন্য করা) "ডিডি" চালানোর জন্য ড্রাইভের পুরো ফাঁকা স্থান গ্রহণকারী জিরো পূর্ণ একটি ফাইল তৈরি করতে হবে এবং তারপরে এই ফাইলটি মুছুন। এর অনেক অসুবিধাগুলি রয়েছে, যা জিরোফ্রি হ্রাস করে:

  • ইহা ধীরগতি
  • এটি ডিস্ক চিত্রকে (অস্থায়ীভাবে) সর্বাধিক পরিমাণে বাড়িয়ে তোলে
  • এটি (অস্থায়ীভাবে) ডিস্কে সমস্ত ফাঁকা জায়গা ব্যবহার করে, যাতে অন্যান্য সমবর্তী লেখার ক্রিয়া ব্যর্থ হতে পারে।

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

আপডেট # 1

.Deb প্যাকেজটির বিবরণে এখন নিম্নলিখিত অনুচ্ছেদ রয়েছে যা বোঝায় যে এটি ext4 এর সাথেও দুর্দান্ত কাজ করবে।

বর্ণনা: ext2, ext3 এবং ext4 ফাইল-সিস্টেমের শূন্য মুক্ত ব্লকগুলি জিরোফ্রি একটি ext2, ext3 বা ext4 ফাইল-সিস্টেমে শূন্য-অমূল্য সামগ্রী সহ অযাচিত অবরুদ্ধ ব্লকগুলি খুঁজে পায় এবং সেগুলি শূন্যে পূরণ করে ...

অন্যান্য ব্যবহার

এই ইউটিলিটিটির আরেকটি অ্যাপ্লিকেশন হ'ল ডিস্ক চিত্রগুলি সংকুচিত করা যা সত্য ডিস্কের ব্যাকআপ। এর একটি সাধারণ উদাহরণ একটি বিগলবোন বা রাস্পবেরি পাইতে এসডি কার্ডের ডাম্প। একবার খালি জায়গাগুলি শূন্য হয়ে গেলে ব্যাকআপ চিত্রগুলি আরও দক্ষতার সাথে সংকুচিত করা যায়।


1
এটি কি intgat.tigress.co.uk/rmy/uml/index.html সরঞ্জামটির অফিসিয়াল পৃষ্ঠা ? আপনার কি মনে হয় এটি ext4 দিয়ে ব্যবহার করা নিরাপদ?
গ্রজেগোর্জ ওয়েয়ারজোইকিকি

2
@ গ্রজেগোর্জউইয়ারজোওইকিকি: হ্যাঁ, এটি পৃষ্ঠা, তবে ডেবিয়ান এবং বন্ধুদের জন্য এটি ইতিমধ্যে রেপোসে রয়েছে। ধারাবাহিকভাবে ডিস্ক ফাইল চিত্র সঙ্কুচিত করতে আমি ভার্চুয়াল ডিস্কের একটি ext4 পার্টিশনে ব্যবহার করেছি এবং কোনও সমস্যা ছিল না।
এনজোটিব

1
এটি ddমূল প্রশ্নে অশোধিত পদ্ধতির সমতুল্য নয় , কারণ এটি মাউন্ট করা ফাইল সিস্টেমে কাজ করে না।
jlh

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

2
সাবধানতা অবলম্বন করুন - আমি zerofreeঅ্যাস্ট্রালিনাক্স (ডেবিয়ান ভিত্তিক) ব্যবহার করে এক্সট 4 ফাইল সিস্টেমটি হারিয়েছি ...
হবিটাস

33

Ext2 / ext3 / ext4- তে অব্যবহৃত স্থান সাফ করার জন্য পদ্ধতির সংক্ষিপ্তসার (এই প্রশ্নে এবং অন্য কোথাও উল্লেখ করা হয়েছে):

জিরোয়িং অব্যবহৃত স্থান

ফাইল সিস্টেম মাউন্ট করা হয়নি

  • যদি আপনার ফাইল সিস্টেমটি "ডিস্ক" চালু থাকে তবে এটি বিভক্ত থাকে (যেমন একটি আধুনিক এসএসডি সমর্থনকারী ট্রিম, একটি ভিএম ফাইল যার ফর্ম্যাটটি অল্প পরিমাণে সমর্থন করে) এবং আপনার কার্নেল বলছে যে ব্লক ডিভাইসটি এটি বোঝে, আপনি e2fsck -E discard src_fsঅব্যবহৃত স্থান বাতিল করতে ব্যবহার করতে পারেন (e2fsprogs প্রয়োজন 1.42.2 বা উচ্চতর)।
  • ব্যবহার zerofree (যেমন zerofree src_fs) স্পষ্টভাবে অব্যবহৃত ব্লক ওভার শূন্য লিখতে।
  • ব্যবহার e2image -rap src_fs dest_fsকরার একমাত্র ব্যবহারে ব্লক কপি (নতুন ফাইল সিস্টেম একটি অন্যথায় zeroed "ডিস্ক" এ হওয়া উচিত, e2fsprogs 1.42.9 বা উচ্চতর আবশ্যক)।

ফাইল সিস্টেম মাউন্ট করা হয়েছে

  • যদি আপনার ফাইল সিস্টেমটি "ডিস্ক" চালু থাকে তবে এটি বিভক্ত থাকে (যেমন একটি আধুনিক এসএসডি সমর্থনকারী ট্রিম, একটি ভিএম ফাইল যার ফর্ম্যাটটি অল্প পরিমাণে সমর্থন করে), আপনার কার্নেলটি বলেছে যে ব্লক ডিভাইসটি এটি বোঝে এবং পরিশেষে এক্স ফাইল ফাইল ড্রাইভার এটি সমর্থন করে যা আপনি ব্যবহার করতে পারেন fstrim /mnt/fs/ফাইল সিস্টেমকে অব্যবহৃত স্থান ত্যাগ করতে বলুন
  • ব্যবহার করে cat /dev/zero > /mnt/fs/zeros; sync; rm /mnt/fs/zeros( sfillনিরাপদ থেকে মুছুন এই কৌশলটি ব্যবহার করে)। এই পদ্ধতিটি অদক্ষ, টেড সি'সো দ্বারা প্রস্তাবিত নয় (ext4 এর লেখক), নির্দিষ্ট কিছু জিনিস শূন্য করতে পারে না এবং ভবিষ্যতের পদ্ধতিগুলি ধীর করতে পারে fsck

ফাইল সিস্টেমটি আনমাউন্ট না করা মাউন্ট করার চেয়ে ভাল ফলাফল দেয়। পূর্বে ব্যবহৃত অনেক জায়গাকে শূন্য করতে হবে তবে zerofreeছাড়ার প্রক্রিয়াটি দ্রুততম পদ্ধতি হতে পারে তবে বাতিল করার প্রক্রিয়াটি ব্যবহার করার পরে মাঝে মাঝে কিছুটা অতিরিক্ত বাড়তে পারে ("ডিস্কে" কীভাবে বাতিল করা হয় তার উপর নির্ভর করে)।

ইমেজ ফাইলটি আরও ছোট করা

চিত্রটি একটি উত্সর্গীকৃত ভিএম ফর্ম্যাটে

qemu-img convert src_image dst_imageজিরোড স্পেসটি পুনরায় দাবি করতে সক্ষম করতে এবং চিত্রটির প্রতিনিধিত্বকারী ফাইলটিকে আরও ছোট হওয়ার অনুমতি দেওয়ার জন্য আপনাকে একটি উপযুক্ত ডিস্ক ইমেজ সরঞ্জাম ব্যবহার করতে হবে।

চিত্র একটি কাঁচা ফাইল

ফাইলটি বিচ্ছিন্ন করতে নিম্নলিখিত কৌশলগুলির মধ্যে একটি ব্যবহার করা যেতে পারে (সুতরাং শূন্যের রান স্থান দখল বন্ধ করে দেয়):

  • cp --sparse=always src_image dst_image
  • fallocate -d src_image (ইউজ-লিনাক্স ভি 2.25 বা তার বেশি প্রয়োজন)।

এই পদক্ষেপগুলি করতে এবং একসাথে আরও অনেক কিছু করতে এই দিনগুলিতে গুণ-স্পারসিফির মতো সরঞ্জাম ব্যবহার করা আরও সহজ ।

 সোর্স


15

sfillসুরক্ষিত-মোছা থেকে এটি এবং অন্যান্য বেশ কয়েকটি সম্পর্কিত কাজ করতে পারে।

যেমন

sfill -l -l -z /mnt/X

আপডেট # 1

আর্কলিনাক্স প্রোজেক্টটি গিথুবটিতে ব্যবহার করবে বলে মনে হয় এমন একটি উত্স ট্রি রয়েছে sfillযার জন্য উত্স রয়েছে যার জন্য সুরক্ষা-মুছুন প্যাকেজ অন্তর্ভুক্ত একটি সরঞ্জাম।

sfillএর ম্যান পেজের একটি অনুলিপি এখানে রয়েছে:


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

অপ্রচলিত ম্যানপেজ ইউআরএল এখন ঠিক করা হয়েছে। দেখে মনে হচ্ছে "ডিজিটপিডিয়া" আর জিনিস নয়।
mwfearnley

8

আপনার যদি e2fsprogs 1.42.9 থাকে, তবে আপনি e2imageপ্রথম স্থানটি খালি জায়গা ছাড়াই পার্টিশন চিত্র তৈরি করতে ব্যবহার করতে পারেন, তাই আপনি শূন্যস্থানটি ছাড়তে পারেন।


আমি এই প্যারামিটারগুলি সম্পর্কে অনলাইনে কোনও তথ্য খুঁজে পাইনি, তবে সেগুলিকে প্রকৃতপক্ষে 1.42.9 রিলিজ নোটে দেওয়া হয়েছে: e2fsprogs.sf.net/e2fsprogs-release.html#1.42.9
mwfearnley

1
এটি একটি মূল্যবান সরঞ্জাম! তবে আপনার উত্তরটি কীভাবে এটি ব্যবহার করতে হবে তাও ব্যাখ্যা করা ভাল। এটি e2image -ar /dev/foo1 | gzip > fs.img.gz, বা এর কিছু ভিন্নতা। -fএটি একটি মাউন্ট করা fs এ ব্যবহার করতে অন্তর্ভুক্ত করুন ।
মার্সেলেম 16

0

আপনি ব্যবহার করতে পারেন sfill। এটি পাতলা আয়তনের জন্য আরও ভাল সমাধান।


আপনি যদি ক্যাস উত্তরের বিষয়ে মন্তব্য করতে চান তবে আপনার যথেষ্ট খ্যাতি না পাওয়া পর্যন্ত অপেক্ষা করুন।
অ্যান্থন

1
আমি মনে করি উত্তরটি manpages.ubuntu.com/manpages/lucid/man1/sfill.1.html ... উল্লেখ করছে যা কমপক্ষে উত্তর দেওয়ার চেষ্টা। (এই ক্ষেত্রে "অনলাইন" অর্থ "ওয়েবে" নয়, "ফাইল সিস্টেমের সাথে মাউন্ট করা")।
ডারোবার্ট

0

আপনি যদি অতিরিক্ত সরঞ্জামগুলি অবলম্বন করতে না চান তবে এই পদ্ধতির চেয়ে দ্রুত হওয়া উচিত cat /dev/zero > /mnt/fs/zeros:

dd if=/dev/zero of="/mnt/fs/filler" bs=10485760
dd if=/dev/zero of="/mnt/fs/filler1" bs=1
rm /mnt/fs/filler
rm /mnt/fs/filler1

এর চেয়ে দ্রুত হবে কেন cat? (না, ব্লক আকারের যুক্তি ddসাহায্য করে না)
মার্সেলেম


2
হ্যাঁ, তবে তা ddদ্রুত হয় না । আসলে, এটি সম্ভবত catদ্রুততর করে তোলে । সিস্টেম কলের ওভারহেড হ্রাস করতে এবং সিপিইউ ক্যাশে ব্যবহারের অনুকূলকরণের জন্য ব্লক আকার কেবল গুরুত্বপূর্ণ। সিস্কেল ওভারহেডের সাহায্যে, আপনি হ্রাসকারী রিটার্নের অঞ্চলে প্রবেশ করুন। ক্যাশে উপরে আঘাত করতে শুরু করে, 1MiB বলে B এবং সত্যিকারের ডিস্কগুলিতে অপারেটিং করার সময় আপনি যেভাবেই আই / ও আবদ্ধ এবং পয়েন্টটি বেশিরভাগ ক্ষেত্রেই মোট। এটি নিজেই বেঞ্চমার্ক করার চেষ্টা করুন।
মার্সেলেম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.