আমি কেবলমাত্র একটি সামান্য পরীক্ষা করেছি যেখানে ডুপ্লিকেট ফাইলগুলি সহ একটি টার আর্কাইভ তৈরি করেছি এটি দেখার জন্য এটি আমার সংক্ষেপে সংকুচিত হবে কি না! বিশদগুলি অনুসরণ করে (পড়ার আনন্দের জন্য ফলাফল যুক্ত):
$ dd if=/dev/urandom bs=1M count=1 of=a
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.114354 s, 9.2 MB/s
$ cp a b
$ ln a c
$ ll
total 3072
-rw-r--r-- 2 guido guido 1048576 Sep 24 15:51 a
-rw-r--r-- 1 guido guido 1048576 Sep 24 15:51 b
-rw-r--r-- 2 guido guido 1048576 Sep 24 15:51 c
$ tar -c * -f test.tar
$ ls -l test.tar
-rw-r--r-- 1 guido guido 2109440 Sep 24 15:51 test.tar
$ gzip test.tar
$ ls -l test.tar.gz
-rw-r--r-- 1 guido guido 2097921 Sep 24 15:51 test.tar.gz
$
প্রথমে আমি 1MiB ফাইল এলোমেলো ডেটা তৈরি করেছি (ক)। তারপরে আমি এটিকে একটি ফাইল বিতে অনুলিপি করলাম এবং এটিকে সিটিতেও সংযুক্ত করেছি। টার্বলটি তৈরি করার সময়, টারলালটি স্পষ্টতই হার্ডলিঙ্ক সম্পর্কে অবগত ছিল, যেহেতু টারবালটি কেবলমাত্র ~ 2MiB এবং 3Mib নয়।
এখন আমি জিজিপটি প্রত্যাশা করেছি যে টারবলের আকার হ্রাস করে ~ 1MiB করা হবে যেহেতু a এবং b এর নকল রয়েছে, এবং টারবলের ভিতরে 1MiB ধারাবাহিক তথ্য পুনরাবৃত্তি করা উচিত, তবুও এটি ঘটেনি।
কেন? এবং এই ক্ষেত্রে আমি কীভাবে দক্ষতার সাথে টারবালকে সংকুচিত করতে পারি?