Tar ফাইল (যার পূর্ণ রূপ হলো Tape Archive) একটি আর্কাইভ ফাইল ফরম্যাট যা মূলত ইউনিক্স এবং লিনাক্স সিস্টেমে ব্যবহৃত হয়। এটি একাধিক ফাইল বা ডিরেক্টরি একটি একক ফাইলে সংরক্ষণ করার জন্য ব্যবহৃত হয়। মূলত, Tar ফাইল ডেটার স্টোরেজ বা ব্যাকআপ উদ্দেশ্যে ব্যবহৃত হয়, এবং এটি একটি ফাইল বা ডিরেক্টরি স্ট্রাকচারকে সংরক্ষণ করার জন্য ব্যবহৃত হয়, যাতে পরে এটি আরেকটি সিস্টেমে সহজে এক্সট্র্যাক্ট করা যেতে পারে।
Tar ফাইল নিজেই সাধারণত কোনো কম্প্রেশন করে না, তবে এটি gzip বা bzip2 এর মতো কম্প্রেশন সফটওয়্যার দ্বারা কম্প্রেস করা হতে পারে। এই কম্প্রেসড Tar ফাইলগুলোকে সাধারণত .tar.gz, .tgz, .tar.bz2 ইত্যাদি এক্সটেনশন দেওয়া হয়।
Tar ফাইল ব্যবহারের কারণ:
- একাধিক ফাইল একত্রিত করা:
- Tar ফাইল একটি নির্দিষ্ট ফাইল ফরম্যাট যা একাধিক ফাইলকে একত্রে সংরক্ষণ করতে সাহায্য করে, একটি একক ফাইলে। একাধিক ফাইল বা ডিরেক্টরি সংরক্ষণ করার মাধ্যমে তারা সহজেই এক্সপোর্ট, ইমপোর্ট বা ব্যাকআপ করা যায়।
- ডিরেক্টরি স্ট্রাকচার বজায় রাখা:
- Tar ফাইল একটি ডিরেক্টরি স্ট্রাকচারসহ ফাইলগুলি সংরক্ষণ করে, যার ফলে এটি ফাইলের হারানো স্ট্রাকচার পুনরুদ্ধার করতে সাহায্য করে। উদাহরণস্বরূপ, যদি আপনি একটি ডিরেক্টরি সংরক্ষণ করেন, Tar ফাইলটি সেই ডিরেক্টরির অন্তর্গত ফাইলগুলির একটি এক্সাক্ট কপি তৈরি করবে এবং পরে তা আবার সেই একই স্ট্রাকচারে আনজিপ করা যেতে পারে।
- ব্যাকআপ এবং আর্কাইভিং:
- Tar ফাইল সাধারণত ব্যাকআপ এবং আর্কাইভিং কাজের জন্য ব্যবহৃত হয়। যখন কোনো ফাইল সিস্টেমের ডেটা স্টোর করতে হয়, তখন Tar ফাইল ব্যবহার করা হয় যাতে সিস্টেমের সমস্ত ফাইল একত্রে এবং একক ফাইল হিসেবে সংরক্ষিত হয়।
- প্রচলিত লিনাক্স সিস্টেমে ব্যবহৃত:
- Tar একটি পুরানো এবং জনপ্রিয় টুল যা লিনাক্স ও ইউনিক্স ভিত্তিক সিস্টেমে ব্যবহৃত হয়। এটি বিশেষভাবে সিস্টেম প্রশাসক এবং ডেভেলপারদের জন্য গুরুত্বপূর্ণ, কারণ এটি ফাইল এবং ডিরেক্টরি আর্কাইভ করার জন্য সহজ ও কার্যকর পদ্ধতি সরবরাহ করে।
- নির্দিষ্ট প্ল্যাটফর্মের জন্য সফটওয়্যার প্যাকেজিং:
- অনেক ওপেন সোর্স প্রোগ্রাম এবং সফটওয়্যার প্যাকেজ
.tarফরম্যাটে বিতরণ করা হয়, যা একটি নির্দিষ্ট প্ল্যাটফর্মে একত্রিত করা এবং এক্সট্র্যাক্ট করা সহজ।
- অনেক ওপেন সোর্স প্রোগ্রাম এবং সফটওয়্যার প্যাকেজ
Tar ফাইলের কম্প্রেশন:
যদিও Tar ফাইল স্বাভাবিকভাবেই কম্প্রেস করে না, তবে এটি অন্যান্য কম্প্রেশন টুলের সাথে ব্যবহার করা যেতে পারে। বেশ কিছু জনপ্রিয় কম্প্রেশন ফরম্যাটের সাথে Tar ফাইল সংযুক্ত করা হয়:
- gzip:
.tar.gzঅথবা.tgzএক্সটেনশন ব্যবহার করা হয়। - bzip2:
.tar.bz2এক্সটেনশন ব্যবহার করা হয়। - xz:
.tar.xzএক্সটেনশন ব্যবহার করা হয়।
এই কম্প্রেশন টুলস ব্যবহার করলে, টার ফাইলের আকার আরও ছোট হয়ে যায়, যার ফলে এটি আরও কম্প্যাক্ট এবং দ্রুত ডাউনলোড বা ট্রান্সফার করা যায়।
Java তে Tar ফাইল ব্যবস্থাপনা:
Java তে Tar ফাইল পরিচালনার জন্য কোনো বিল্ট-ইন ক্লাস নেই, কিন্তু Java তে কিছু তৃতীয় পক্ষের লাইব্রেরি রয়েছে যা Tar ফাইল তৈরি এবং এক্সট্র্যাক্ট করতে সাহায্য করে। একটি জনপ্রিয় লাইব্রেরি হচ্ছে Apache Commons Compress।
Apache Commons Compress লাইব্রেরি ব্যবহার করে Tar ফাইল তৈরি এবং এক্সট্র্যাক্ট করার উদাহরণ:
1. Tar ফাইল তৈরি করা (Tar File Creation)
import org.apache.commons.compress.archivers.tar.*;
import org.apache.commons.compress.utils.IOUtils;
import java.io.*;
import java.util.zip.GZIPOutputStream;
public class TarExample {
public static void main(String[] args) throws IOException {
// Tar ফাইল তৈরি করার জন্য আউটপুট স্ট্রিম
FileOutputStream fos = new FileOutputStream("archive.tar.gz");
GZIPOutputStream gzip = new GZIPOutputStream(fos);
TarArchiveOutputStream tarOut = new TarArchiveOutputStream(gzip);
// ফাইল যোগ করার জন্য TarEntry তৈরি করা
File fileToTar = new File("file1.txt");
TarArchiveEntry entry = new TarArchiveEntry(fileToTar, fileToTar.getName());
tarOut.putArchiveEntry(entry);
// ফাইলের কনটেন্ট লেখানো
FileInputStream fis = new FileInputStream(fileToTar);
IOUtils.copy(fis, tarOut);
// ফাইলের লেখন শেষ করা
tarOut.closeArchiveEntry();
fis.close();
tarOut.finish();
tarOut.close();
System.out.println("Tar ফাইল সফলভাবে তৈরি হয়েছে!");
}
}
2. Tar ফাইল এক্সট্র্যাক্ট করা (Tar File Extraction)
import org.apache.commons.compress.archivers.tar.*;
import org.apache.commons.compress.utils.IOUtils;
import java.io.*;
public class UntarExample {
public static void main(String[] args) throws IOException {
// Tar ফাইল ইনপুট স্ট্রিম
FileInputStream fis = new FileInputStream("archive.tar.gz");
TarArchiveInputStream tarIn = new TarArchiveInputStream(new GZIPInputStream(fis));
TarArchiveEntry entry;
while ((entry = tarIn.getNextTarEntry()) != null) {
// ফাইল এক্সট্র্যাক্ট করার জন্য
File outputFile = new File(entry.getName());
FileOutputStream fos = new FileOutputStream(outputFile);
IOUtils.copy(tarIn, fos);
fos.close();
}
tarIn.close();
System.out.println("Tar ফাইল সফলভাবে এক্সট্র্যাক্ট হয়েছে!");
}
}
- Tar ফাইল একটি জনপ্রিয় ফাইল আর্কাইভ ফরম্যাট যা একাধিক ফাইল এবং ডিরেক্টরিকে একটি একক ফাইলে সংরক্ষণ করতে ব্যবহৃত হয়।
- Java তে Tar ফাইল ব্যবস্থাপনা করার জন্য আপনি Apache Commons Compress লাইব্রেরি ব্যবহার করতে পারেন, যা Tar ফাইল তৈরি এবং এক্সট্র্যাক্ট করতে সাহায্য করে।
- Tar ফাইল মূলত Unix/Linux সিস্টেমে ব্যবহৃত হলেও, কম্প্রেশন টুলের মাধ্যমে এটি অন্যান্য সিস্টেমেও ব্যবহৃত হতে পারে।
Read more