অন্যান্য আধুনিক লিনাক্স ডিস্ট্রিবিউশনের মতো উবুন্টুও প্রতিটি প্রয়োজনের জন্য ডিফল্টভাবে অনেক টুল নিয়ে আসে। এর মধ্যে আপনি আর্কাইভ ম্যানেজার পাবেন যার মাধ্যমে ফাইলগুলো কম্প্রেসড প্যাকেজে সংরক্ষণ করা যায়। তবে একটি ছোট সমস্যা রয়েছে: এগুলো আপনার প্রয়োজনের জন্য এখনও বড় হতে পারে। এমন ক্ষেত্রে, ফাইলটি কম্প্রেস করে ছোট ছোট অংশে ভাগ করাই সেরা সমাধান।
যদিও উবুন্টু এই কাজের জন্য টুলগুলো সাথে নিয়ে আসে, দুর্ভাগ্যবশত আর্কাইভ ম্যানেজার এই ধরনের কাজের জন্য সেরা নয়। তখন আপনাকে অবশ্যই টার্মিনালের সাহারা নিতে হবে। خوشকিসমتی থেকে, প্রক্রিয়াটি সহজ এবং আপনি একটি কমান্ড দিয়ে ফাইলগুলো কম্প্রেস ও স্প্লিট করে ছোট ছোট চাঙ্কে ভাগ করতে পারেন। চলুন দেখি কিভাবে।
আপনার কম্প্রেশন বুঝুন
শুরু করার আগে, আমরা কম্প্রেশনের সব ফর্ম সম্পর্কে একটু বলতে চাই যা আপনার কীমتی সময় বাঁচাবে: কম্প্রেশন স্ট্যাক আপ হয় না।
এর অর্থ হলো, যদি আপনার কাছে ইতিমধ্যে হাইলি-কম্প্রেসড ফাইলগুলো থাকে, তবে সেগুলোকে ভিন্ন টাইপের কম্প্রেশন দিয়ে রি-কম্প্রেস করলে আপনি বেশি লাভ করবেন না। মনে করুন আপনি ইতিমধ্যে হাইলি-কম্প্রেসড JPG ইমেজ, MP4 ভিডিও ফাইল, বা অন্যান্য কম্প্রেসড আর্কাইভ শেয়ার করতে চান। সেক্ষেত্রে উপলব্ধ সেরা কম্প্রেশন সেটিংস ব্যবহার করার কোনো তুক নেই। আর্কাইভে সেগুলোকে "store" (কম্প্রেশন ছাড়া) मोডে রাখা ভালো।
যাইহোক, অকম্প্রেসড বা হালকা কম্প্রেসড ফাইলগুলোর জন্য—যেমন TXT ফাইল, বড় ডাটাবেস, বা অকম্প্রেসড মিডিয়া—সেরা কম্প্রেশন সেটিংস বেছে নেওয়া ফাইল সাইজ খুব বেশি কমানোতে পারে।
ক্লাসিক লিনাক্স পদ্ধতি
মান লেন আপনি উইন্ডোজ ১০ ISO ফাইলটি কম্প্রেস করতে চান যা এখানে উদাহরণ হিসেবে ব্যবহার করা হয়েছে। আপনি tar, split, এবং bzip ক্লাসিক টুলগুলো ব্যবহার করে এটি কম্প্রেস ও স্প্লিট করে ছোট ছোট ফাইল बनाতে পারেন।
- আপনার টার্মিনাল চালু করুন। দ্রুত পদ্ধতি হলো CTRL + ALT + T চাপা। তারপর সেই ফোল্ডারে যান যেখানে আপনার বড় ফাইলটি রয়েছে যেটি আপনি স্প্লিট আর্কাইভে সংরক্ষণ করতে চান। জিনিসপাতি পরিষ্কার রাখতে "split" নামে একটি সাবফোল্ডার তৈরি করুন যেখানে স্প্লিট আর্কাইভটি রাখব:
mkdir split
তারপর সেটির ভিতর যান:
cd split
tar -cvj FILENAME | split -b SIZE_OF_PARTS -d - "BASE NAME OF ARCHIVE"
আমাদের উইন্ডোজ ১০ ISO-এর জন্য, আমাদের কমান্ডটি ছিল:
tar -cvj ~/Data/Windows10.iso | split -b 50m -d - "Windows10_ISO.tar.bz."
- "~/Data/Windows10.iso" হলো আমরা যে ফাইলটি কম্প্রেস করতে চেয়েছিলাম তার পাথ এবং ফাইলনেম।
split -b 50mবলে আমরা আমাদের আর্কাইভকে ৫০ MB পার্টে ভাগ করতে চাই। আপনার পছন্দের সাইজ অনুযায়ী এই মান পরিবর্তন করুন।Windows10_ISO.tar.bz.হলো স্প্লিট আর্কাইভ ফাইলগুলোর ফাইলনেম। এর শেষে একটি এক্সট্রা ডট রয়েছে। কারণ প্রতিটি চাঙ্কের শেষে তার সিকোয়েন্স অনুযায়ী একটি নম্বর থাকবে।
কিছুক্ষণ পর (আপনার কম্প্রেস করা ফাইলগুলোর সাইজ এবং কম্পিউটারের স্পিডের উপর নির্ভর করে) আপনি split সাবফোল্ডারে আপনার স্প্লিট আর্কাইভের পার্টগুলো পাবেন।
যদি তাদের সম্মিলিত সাইজ চেক করেন, তবে সেটি তাদের অকম্প্রেসড টোটালের চেয়ে ছোট হবে।
আপনার মূল ফাইলগুলো ফিরে পাওয়ার জন্য, প্রথমে সব পার্টগুলোকে একসাথে করে একটি আর্কাইভে রি-অ্যাসেম্বল করতে হবে:
cat BASE_NAME_OF_PARTS.* > BASE_NAME_OF_PARTS.bz
তারপর এর কন্টেন্ট এক্সট্র্যাক্ট করুন:
tar -xvj REASSEMBLED_ARCHIVE.bz
আমাদের কেসে, উপরের দুটি কমান্ড হবে:
cat Windows10_ISO.tar.bz.* tar -xvj Windows10_ISO.tar.bz
তবে, আমরা আরও ভালো করতে পারি একটি নতুন কম্প্রেশন টুল ব্যবহার করে, যা আপনি এরপর দেখবেন।
আধুনিক হাই-কম্প্রেশন সমাধান
7Zip একটি আধুনিক আর্কাইভার যা উচ্চ কম্প্রেশন রেট প্রদান করে এবং স্প্লিট আর্কাইভ সাপোর্টও করে। তাই, এটি বর্তমান কাজের জন্য আরও ভালো সমাধান। যাইহোক, উবুন্টু এটিকে সাথে নিয়ে আসে না। এর লিনাক্স ভার্সন p7zip ইনস্টল করতে নিচের কমান্ড ব্যবহার করুন:
sudo apt install p7zip-full
এটি দিয়ে ফাইলগুলো স্প্লিট আর্কাইভে কম্প্রেস করা আগের ডিফল্ট সমাধানের চেয়ে আরও সহজ। আপনাকে শুধু প্রতিটি স্প্লিট ফাইলের সাইজ, বেস আর্কাইভ ফাইলনেম, এবং কী কম্প্রেস করতে চান সেটি বলতে হবে:
7z -vSIZE_OF_SPLIT_FILES a ARCHIVE_FILENAME FILE_TO_COMPRESS
আমাদের উইন্ডোজ ১০ ISO উদাহরণের জন্য, এটিকে ৫০ MB আকারের মাল্টিপার্ট আর্কাইভে কম্প্রেস করার কমান্ড হবে:
7z -v50m a Windows10_iso.7z ~/Data/Windows10.iso
কিছুক্ষণ পর, আপনি split সাবফোল্ডারে ফলাফল পাবেন, এবং তারা tar-split-bzip পদ্ধতির চেয়ে কম স্পেস নেবে।
আপনার ফাইলগুলো ফিরে পাওয়ার জন্য, শুধু সিকোয়েন্সের প্রথম ফাইলটি এক্সট্র্যাক্ট করুন, 7z বাকি গুলো স্বয়ংক্রিয়ভাবে প্রসেস করবে:
7z e FIRST_PART_OF_COMPRESSED_ARCHIVE
আমাদের উদাহরণে, এটি ছিল:
7z e Windows10_iso.7z.001
এছাড়া জানা ভালো যে, আজকাল pigz বা plzip এর মতো টুল ব্যবহার করে কম্প্রেসড আর্কাইভ তৈরি করার জন্য আরও অনেক অপশন রয়েছে।
আপনি কি কম্প্রেসড স্প্লিট আর্কাইভ ব্যবহারিক মনে করেন? এগুলোর জন্য কোন কম্প্রেশন টুল ব্যবহার করেন? নিচে কমেন্ট সেকশনে জানান।