সঙ্কুচিত ফাইল অনুমান ভুল?


9

আমার কাছে একটি বড় (~ 60G) সংক্ষেপিত ফাইল ( tar.gz) ছিল।

আমি splitএটিকে 4 টি ভাগে বিভক্ত করতাম এবং তারপরে catআবার তাদের সাথে যোগ দিতে।

যাইহোক, এখন আমি যখন সঙ্কুচিত ফাইলটির আকারটি অনুমান করার চেষ্টা করছি, তখন দেখা যাচ্ছে যে এটি মূলের চেয়ে ছোট? এটা কিভাবে সম্ভব?

$ gzip -l myfile.tar.gz 
         compressed        uncompressed  ratio uncompressed_name
        60680003101          3985780736 -1422.4% myfile.tar

splitসত্যিই কি এর সাথে প্রাসঙ্গিক? বিভাজন এবং তাদের আবার একসাথে যোগদানের পরে কি আপনার সমস্যা আছে?
বার্মার

উত্তর:


20

জিজিপযুক্ত ফাইলগুলিতে সঙ্কুচিত আকার সংরক্ষণের জন্য ব্যবহৃত ক্ষেত্রের আকারের কারণে এটি ঘটে: এটি কেবল 32 বিট, তাই কেবলমাত্র 4 জিবিবি gzipআকারের ফাইলগুলি সংরক্ষণ করতে পারে। বড় যে কোনও কিছুই সংকুচিত এবং সংকুচিতভাবে সঠিকভাবে হয় তবে gzip -lএটি একটি ভুল সঙ্কুচিত আকার দেয়।

সুতরাং টার্বলটি বিভক্ত করা এবং এটি পুনর্গঠন করার কারণে এটি ঘটেনি এবং ফাইলটি প্রভাবিত হওয়া উচিত নয় - আপনি যদি নিশ্চিত করতে চান তবে আপনি এটি দিয়ে পরীক্ষা করতে পারেন gzip -tv

দেখুন বড় GZIPPED ফাইলের ডিকম্প্রেস আকার আউট কাজ করার দ্রুততম উপায় আরো বিস্তারিত জানার জন্য, এবং ম্যানুয়াল :gzip

gzipবিন্যাস ইনপুট আকার মডিউল প্রতিনিধিত্ব করে 2³² তাই ডিকম্প্রেস আকার এবং কম্প্রেশন অনুপাত ডিকম্প্রেস করা ফাইল 4 GiB এবং বড় জন্য ভুল তালিকাভুক্ত করা হয়।


সুতরাং, প্রকৃত সামগ্রী এখনও অক্ষত থাকতে পারে, তাই না?
Ruslan

@ রাস্লান হ্যাঁ, প্রদর্শিত আকারটি ভুল, তবে বিষয়বস্তু ভাল।
স্টিফেন কিট

+1 আমি অনুমান করছিলাম এটি ইউআইএনটি 32 ত্রুটি বা এর মতো কিছু।
mathreadler
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.