আমার সংকোচনের জন্য শত শত অনুরূপ বড় ফাইল (প্রতিটি 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 টি ফাইল পরীক্ষিত হয়েছিল।