সংক্ষেপণ সক্ষম করা থাকলে বিটিআরটিফগুলি স্বয়ংক্রিয়ভাবে বিদ্যমান ফাইলগুলি সংকোচিত করবে?


26

/উবুন্টু 12.04 এলটিএস ইনস্টলারে আমি আমার ফাইল সিস্টেমের ফর্ম্যাট হিসাবে বিটিআরএফস বেছে নিয়েছি । ইনস্টলেশন সমাপ্ত হওয়ার পরে, আমি compress=lzoমাউন্ট বিকল্পগুলিতে যুক্ত করে /etc/fstabপুনরায় বুট করলাম ।

বিদ্যমান ফাইলগুলি কি এখন স্বয়ংক্রিয়ভাবে সংকুচিত হবে, বা ঘটনার কারণ হিসাবে আমি কি স্পষ্টভাবে কিছু করব?


1
আপনাকে পুনরায় বুট করতে হবে না, আপনি ঠিক করতে পারেন sudo mount -o remount /এবং নতুন fstab বিকল্পগুলি কার্যকর হবে।
sep332

এনবি যে আপনাকে কমপ্রেস-ফোর্স বিকল্পটি ব্যবহার করার প্রয়োজন হতে পারে বা কিছু ফাইল এখনও আপনি
সঙ্কলিতই

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

উত্তর:


27

আপনাকে btrfs fi defragmentবিদ্যমান ডেটাগুলির পুনরায় সংক্ষেপণের জন্য চালাতে হবে । অন্যথায়, শুধুমাত্র নতুন ডেটা সংকুচিত হবে।

এফএকিউ থেকে :

... এর সাথে পুনরায় গণনা বিবেচনা করুন -o compressএবং হয় নির্দিষ্ট জায়গায় btrfs fi defragmentযথাযথ ফাইলগুলি পুনরায় লিখুন, বা সমস্ত কিছু সংশোধন করতে চালান । এটি কিছুটা সময় নিতে পারে।


বিটিআরএফস ফাই ডিফ্র্যাগমেন্ট -আর-ক্লজো / পাথ / টু / এফএস
ডেভিড গুডউইন

2
autodefragমাউন্ট বিকল্প সম্পর্কে কি ? এটি স্বয়ংক্রিয়-ডিফ্র্যাগ করার সময় এটি কি পূর্ববর্তী সঙ্কুচিত ফাইলকে সংকুচিত করে তোলে?
জেরেমিয়া

1
"-R" ডিরেক্টরিগুলির মধ্যে সংকোচনের জন্য পুনরাবৃত্ত পতাকা ব্যবহার করার বিষয়টি নিশ্চিত করুন।
সালামি

10

নরবার্ট ফ্যাব্রিটিয়াস যা বলেছিলেন আমি তা তৈরি করেছি, তবে বিদ্যমান ফাইলগুলিতে আমি কোনও সংকোচনের বিষয়টি লক্ষ্য করিনি - df -h / btrfs fi defragment = 658MB এর আগে | df -h / বিটিআরএফএসের পরে ডিফ্র্যাগমেন্ট = 658 এমবি। নতুন ফাইল ঠিক আছে। একটু অনুসন্ধান করে আমার এই উদ্ধৃতিটি নিয়ে আসে:

এটি চলছে:

# btrfs filesystem defragment ~/stuff

ডিরেক্টরি বিষয়বস্তু ডিফ্র্যাগমেন্ট করে না।

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

# find -xdev -type f -exec btrfs fi defrag '{}' \;

এর পরে, আমার / এটি 656MB কেটে ফেলছে - বিশাল কিছুই নয়, তবে অবশ্যই সেখানে সংক্ষেপণ রয়েছে।

সূত্র: https://btrfs.wiki.kernel.org/index.php/ প্রব্লেম_এফএকিউ# ডেফ্রেগমেন্টিং_এ_ডাইরেক্টরি_ডোজন 277t_work

এই সাহায্য আশা করি।

দুঃখিত আমার ইংরেজি.


1
বিআরটিএফ ব্যবহার করার সময়, df ব্যবহার করবেন না বা বিশ্বাস করবেন না । 2. একটি ভাল কম্প্রেশন অনুপাত, ব্যবহার zlib (অবশ্য এটা ধীর) এর জন্য
অগ্নি

3
আপনার কমান্ড লাইনে যদি কেবল জিনিসগুলি সংকুচিত করতে চান তবে কেবল তার পরিবর্তে defrag -clzoবা কেবল defrag -czlibপরিবর্তে হওয়া উচিত নয় defrag?
jbo5112

5
একটি "-r" পুনরাবৃত্ত পতাকা রয়েছে যাতে আপনি কেবল এখনই এটি করতে পারেন:btrfs fi defrag -r -czlib ~/stuff
সালামি

8

ওরাকল এর ডকুমেন্টেশন অনুসারে আপনি বিদ্যমান ফাইলগুলিকে প্রতিটি ফাইল -c, -clzo বা -czlib বিকল্পের সাথে ডিফ্যাগমেন্ট করে একটি বিদ্যমান, অনলাইন ফাইল সিস্টেমের মধ্যে সংক্ষিপ্ত করতে পারেন। LZO গতির জন্য প্রস্তাবিত হয়।

find / -xdev \( -type f -o -type d \) -exec btrfs filesystem defragment -v -clzo -- {} +

এটি রুট ফাইল সিস্টেমে প্রতিটি ফাইলের বিটিআরএফস ডিফ্র্যাগামেন্টার চালানোর জন্য ফাইন্ড কমান্ড ব্যবহার করে (শুরুতে "ফাইন্ড" কমান্ডের পরে স্ল্যাশ দ্বারা প্রদত্ত)। আপনার যদি অন্য সাবভলিউম থাকে তবে আপনি এটি একটি সাবভলিউমের পাথে আবার ব্যবহার করতে পারেন (আমার কাছে / বাড়িতে একটি আছে, উদাহরণস্বরূপ) একক স্ল্যাশের পরিবর্তে।

এর জন্য আপনার রুট সুবিধাগুলি প্রয়োজন, তাই আপনার যদি প্রয়োজন হয় তবে সামনে সুডো যুক্ত করুন।

দেখুন:


3

Https://btrfs.wiki.kernel.org/index.php/Mount_options অনুসারে সংক্ষিপ্ততার আলগোরিদিমগুলি নিম্নলিখিত তালিকা_এফ_পশন উপলব্ধ:


compress,compress-force
Enable compression. Starting with kernel 2.6.38 you can choose the algorithm for compression:

 - compress=zlib - Better compression ratio. It's the default and safe for olders kernels.
 - compress=lzo - Faster compression.
 - compress=no - Disables compression (starting with kernel 3.6). 

compress-force= - Enable compression even for files that don't compress well, like videos and dd images of disks. The options compress-force=zlib and compress-force=lzo works for kernels >2.6.38.

Note that old (before 2012) btrfs-progs versions will probably fail some operations (e.g. fsck) on filesystems with LZO compression. 

দ্রষ্টব্য: এই পোস্টটি অতিরিক্ত প্রশ্নের জন্য উত্তর যা কী ধরণের সংক্ষেপণ অ্যালগরিদমগুলি যা নীচে জিজ্ঞাসা করা হয়েছিল ... তার জন্য দয়া করে আমাকে দোষ দেবেন না answer


2

আর্কউইকির মতে :

টিপ: compressমাউন্ট অপশনটি ব্যবহার না করে কম্প্রেশন প্রতি ফাইল-এ সক্ষম হতে পারে ; কেবল chattr +cফাইলের জন্য প্রয়োগ করুন। ডিরেক্টরিতে প্রয়োগ করা হলে এটি নতুন ফাইলগুলি আসার সাথে সাথে স্বয়ংক্রিয়ভাবে সংকুচিত হবে।

খুব সুন্দর! Bশ্বর বিটিআরএফএস মঙ্গল করুন!

এছাড়াও, বিটিআরএফএস উইকি থেকে :

আমি কি কমপ্রেস মাউন্ট অপশনটি ব্যবহার না করে কোনও ফাইলের উপর চাপ প্রয়োগ করতে পারি ?

হ্যাঁ। ইউটিলিটি chattrফাইল অ্যাট্রিবিউট সি সেট করে যা নতুন লিখিত ডেটা সংকুচিত করতে ইনোডকে চিহ্নিত করে supports


-9

বিআরটিএফসে সংক্ষেপণ ডিফল্টরূপে সক্ষম হয়, সুতরাং আপনি এটিকে স্পষ্টভাবে অক্ষম না করলে এটি সংকুচিত হওয়া উচিত।


11
সত্য নয়, compression=এটি সক্ষম করতে আপনাকে fstab এ "আপনার প্রিয় সংক্ষেপণ অ্যালগরিদম" পাস করতে হবে।
টার্বো

@ টুর্বো কোন সংক্ষেপণ অ্যালগরিগমগুলি উপলভ্য?
ζ--

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