আমার সংকোচনের জন্য শত শত অনুরূপ বড় ফাইল (প্রতিটি 30 মেগাবাইট) রয়েছে। প্রতিটি জোড়া ফাইলের 99% একই ডেটা থাকে (তারপরে 1% পার্থক্য কম) তবে আমি আশা করি 40-50 মেগাবাইট আর্কাইভের বেশি হবে না।
একক ফাইল 13-15 মেগাবাইট করে 30 মেগাবাইট থেকে সংকুচিত করা যেতে পারে (সঙ্গে xz -1
, gz -1
, bzip2 -1
), কিন্তু যখন দুই বা ততোধিক ফাইল সংকুচিতকারী আমি আকার সঙ্গে সংরক্ষণাগার করতে চান 13-15MB + N*0.3MB
যেখানে n ফাইলের সংখ্যা।
যখন ব্যবহার tar
(ঘন পদার্থ সংরক্ষণাগার তৈরি) এবং xz -6
(- কম্প্রেশন অভিধান বড় বেশি ফাইল হতে নির্ধারণ করতে আপডেট -! এই যথেষ্ট ছিল না ), আমি এখনও আকার সঙ্গে সংরক্ষণাগার N*13MB
।
আমি মনে করি যে gzip
এবং উভয়ই bzip2
আমাকে সাহায্য করবে না কারণ তাদের অভিধান 1 এমবি এরও কম এবং আমার টার স্ট্রিমের প্রতি 30 এমবিতে পুনরাবৃত্তি রয়েছে।
আমি কীভাবে মানক সরঞ্জামগুলি ব্যবহার করে আধুনিক লিনাক্সে আমার সমস্যাটি সংরক্ষণাগারভুক্ত করতে পারি?
xz
দ্রুত সংকোচনের জন্য টিউন করা সম্ভব , তবে 30-60 এমবি এর চেয়ে বড় অভিধানটি ব্যবহার করুন?
আপডেট : সাথে কৌতুক করেছেন tar c input_directory | xz --lzma2=dict=128M,mode=fast,mf=hc4 --memory=2G > compressed.tar.xz
। প্রয়োজনীয় mf=hc4
এবং --memory=2G
বিকল্পগুলি সম্পর্কে নিশ্চিত নন ; তবে dict=128M
অভিধানটি যথেষ্ট বড় হতে হবে (এক ফাইলের চেয়ে বড়), এবং mode=fast
প্রক্রিয়াটির চেয়ে কিছুটা দ্রুত করুন -e
।
xz -1 --memory=2G
কোনও উপকারে আসেনি, সেটটি থেকে 2 এবং 4 টি ফাইল পরীক্ষিত হয়েছিল।