टीएआर पुरालेख प्रारूप

टार संग्रह प्रारूप फ़ाइलों को संग्रहीत करने का एक विश्वसनीय तरीका प्रदान करता है। यह शुरुआत में 512-बाइट हेडर जोड़कर मूल डेटा को बाइट-बाय-बाइट संरक्षित करता है। फ़ाइल का आकार भी 512-बाइट ब्लॉकों में सुव्यवस्थित रूप से फिट होने के लिए समायोजित किया गया है। दिलचस्प बात यह है कि हेडर में त्रुटि का पता लगाने के लिए एक अंतर्निहित चेकसम शामिल है। जबकि मानक टार उपयोगिता दूषित हेडर (और परिणामस्वरूप संबंधित फ़ाइलों) को छोड़ सकती है, यह शेष संग्रह को संसाधित करना जारी रखेगी, यह सुनिश्चित करते हुए कि आप अभी भी अप्रकाशित फ़ाइलों तक पहुंच सकते हैं।

टीएआर पुरालेख सूचना के बारे में

एक टार फ़ाइल स्वरूप, जिसका संक्षिप्त रूप “टेप आर्काइव” है, UNIX सिस्टम में टार उपयोगिता द्वारा बनाया गया है। यह बैकअप या वितरण जैसे कार्यों के लिए फ़ाइलों को एक साथ बंडल करने के लिए एक संग्रह के रूप में कार्य करता है। संपीड़ित संग्रह प्रारूपों के विपरीत, टार फ़ाइलें संग्रह के बारे में मेटाडेटा के साथ एक असम्पीडित प्रारूप में कई फ़ाइलों को संग्रहीत करती हैं, जिन्हें टारबॉल भी कहा जाता है। जबकि टार फ़ाइलें स्वयं संपीड़ित नहीं होती हैं, उन्हें कुशल भंडारण और स्थानांतरण के लिए gzip या bzip2 जैसी उपयोगिताओं का उपयोग करके संपीड़ित किया जा सकता है।
चूंकि टार फ़ाइल प्रारूप में अंतर्निहित संपीड़न शामिल नहीं है, इसलिए टार अभिलेखागार को अक्सर बाहरी उपयोगिताओं जैसे कि gzip, bzip2, XZ (7-ज़िप / p7zip LZMA / LZMA2 संपीड़न एल्गोरिदम का उपयोग करके), ब्रॉटली, Zstandard का उपयोग करके संपीड़ित किया जाता है। , और इसी तरह के उपकरण। यह संपीड़न आसान पोर्टेबिलिटी और कुशल डेटा बैकअप के लिए संग्रह के आकार को कम करने में मदद करता है। इस प्रक्रिया के परिणामस्वरूप संपीड़ित फ़ाइलों में tgz, tbz, txz, tzst जैसे एकल एक्सटेंशन या tar.gz, tar.br, tar.bz2, tar.xz, tar.zst जैसे दोहरे एक्सटेंशन हो सकते हैं।

टीएआर पुरालेख प्रारूप का विकास

टार संग्रह प्रारूप समय के साथ विकसित हुआ है। 1980 के दशक से टार यूटिलिटी में जोड़े गए नए फीचर्स ने प्रारूप एक्सटेंशन को जन्म दिया जिसमें बेहतर कार्यक्षमता के लिए अतिरिक्त जानकारी शामिल है। प्रारंभिक टार प्रारूपों में संख्यात्मक फ़ील्ड को संग्रहीत करने के तरीके में स्थिरता का अभाव था, लेकिन पोर्टेबिलिटी को बढ़ाने के लिए बाद के संस्करणों में इस पर ध्यान दिया गया। यह सुधार 1988 में टार प्रारूपों के लिए पहले POSIX मानक के साथ शुरू हुआ।
POSIX.1 2001 ने “विस्तारित टार” प्रारूप (जिसे tar.h या pax के रूप में भी जाना जाता है) पेश किया। यह प्रारूप सबसे लचीला है, जिसमें अन्य टार विशिष्टताओं की कार्यक्षमताएँ शामिल हैं। यह विक्रेताओं को टैग का उपयोग करके कस्टम सुविधाएँ जोड़ने की अनुमति देता है। जबकि दस्तावेज़ीकरण इस बात पर प्रकाश डालता है कि सभी टार कार्यान्वयन इस प्रारूप को पूरी तरह से संभाल नहीं सकते हैं, इसका डिज़ाइन यह सुनिश्चित करता है कि “यूस्टार” अभिलेखागार को पढ़ने में सक्षम कोई भी उपकरण अधिकांश “पॉज़िक्स” अभिलेखागार को भी पढ़ सकता है। इसके अतिरिक्त, POSIX.1 2001 ने टार अभिलेखागार के लिए पिछली 8 जीबी फ़ाइल आकार सीमा को समाप्त कर दिया।

टीएआर संरचना

एक टीएआर संग्रह, इसके मूल में, डेटा ब्लॉक का एक अनुक्रम है। ये निश्चित आकार के ब्लॉक 512 बाइट्स प्रत्येक को रैखिक रूप से व्यवस्थित किया गया है। संग्रह के अंत को चिह्नित करने के लिए, शून्य से भरे दो लगातार ब्लॉक हैं।
हालाँकि, जब तार्किक रूप से देखा जाता है, तो TAR संग्रह फ़ाइल प्रविष्टियों की एक श्रृंखला है। प्रत्येक प्रविष्टि कई ब्लॉकों से बनी होती है, पहला ब्लॉक हमेशा एंट्री हेडर होता है। शेष ब्लॉक वास्तविक फ़ाइल सामग्री को संग्रहीत करते हैं।
एंट्री हेडर के अंदर
एंट्री हेडर संग्रह के भीतर प्रत्येक फ़ाइल के लिए एक ब्लूप्रिंट के रूप में कार्य करता है। इसमें निम्नलिखित जानकारी शामिल है

  • फ़ाइल का नाम (100 बाइट्स): इस प्रविष्टि में संग्रहीत फ़ाइल का नाम।
  • फ़ाइल अनुमतियाँ (8 बाइट्स): फ़ाइल तक पहुँचने की अनुमतियाँ, एक ऑक्टल स्ट्रिंग के रूप में दर्शायी जाती हैं।
  • स्वामी आईडी (8 बाइट्स): फ़ाइल स्वामी की संख्यात्मक उपयोगकर्ता आईडी (ऑक्टल प्रारूप)।
  • समूह आईडी (8 बाइट्स): फ़ाइल स्वामी की संख्यात्मक समूह आईडी (ऑक्टल प्रारूप)।
  • फ़ाइल का आकार (12 बाइट्स): ऑक्टल प्रारूप में फ़ाइल का आकार।
  • अंतिम संशोधित समय (12 बाइट्स): अंतिम फ़ाइल संशोधन का ऑक्टल टाइमस्टैम्प।
  • चेकसम (8 बाइट्स): हेडर डेटा की अखंडता को सत्यापित करने के लिए उपयोग किया जाने वाला चेकसम मान।
  • फ़ाइल प्रकार (1 बाइट): संग्रहीत फ़ाइल के प्रकार (नियमित फ़ाइल, हार्ड लिंक, या प्रतीकात्मक लिंक) को इंगित करता है।
  • लिंक की गई फ़ाइल का नाम (परिवर्तनीय लंबाई): यदि प्रविष्टि एक लिंक (हार्ड या प्रतीकात्मक) है, तो यह फ़ील्ड लिंक की गई फ़ाइल का नाम संग्रहीत करती है।

इस प्रारूप के लाभ

  • बहुमुखी प्रतिभा - टीएआर एक बहुमुखी प्रारूप है जो एक ही संग्रह फ़ाइल में कई फ़ाइलों और निर्देशिकाओं को संग्रहीत करने में सक्षम है, जो इसे विभिन्न बैकअप और वितरण आवश्यकताओं के लिए उपयुक्त बनाता है।
  • फ़ाइल विशेषताओं का संरक्षण टीएआर अनुमतियाँ, स्वामित्व और टाइमस्टैम्प जैसी महत्वपूर्ण फ़ाइल विशेषताओं को संरक्षित करता है, यह सुनिश्चित करता है कि संग्रहीत डेटा अपनी अखंडता और उपयोगिता बरकरार रखता है।
  • सरलता - टीएआर फाइलों की संरचना सरल और सीधी है, जिससे उनके साथ काम करना और संसाधित करना आसान हो जाता है। यह TAR अभिलेखागार से संबंधित कार्यों की प्रोग्रामिंग और स्वचालन को सरल बनाता है।

टीएआर पुरालेख समर्थित संचालन

Aspose.ZIP उपयोगकर्ता को विशेष प्रविष्टि या संपूर्ण संग्रह निकालने की अनुमति देता है। .NET के लिए Aspose.ZIP के लिए आप .tar.gz फ़ाइल को खोलने के लिए TanArchiveClass का उपयोग कर सकते हैं और फिर इसकी प्रविष्टियों के माध्यम से पुनरावृत्त करके, उन्हें वांछित स्थान पर निकाल सकते हैं। जावा के लिए Aspose.ZIP के लिए .tar.gz फ़ाइल को खोलने और प्रविष्टियाँ निकालने के लिए टारआर्काइव का उपयोग करके समान दृष्टिकोण।

TAR-फ़ाइल - आंतरिक संरचना

सेगमेंट फ़ाइलें किसी सेगमेंट के बारे में कच्चा डेटा संग्रहीत करती हैं। जबकि विभिन्न खंड प्रकार मौजूद हैं, TAR फ़ाइलें केवल डेटा और बल्क खंडों के बीच अंतर करती हैं। थोक खंडों को सीधे TAR फ़ाइल में “जैसा है” सहेजा जाता है।
हालाँकि, अन्य खंडों या कच्ची बाइनरी सामग्री के संदर्भ खोजने के लिए डेटा खंडों की जांच की जाती है। इन संदर्भों को डेटा सेगमेंट के भीतर विशिष्ट पहचानकर्ताओं (यूयूआईडी) की एक सूची के रूप में संग्रहीत किया जाता है। संदर्भित खंड या तो वर्तमान टीएआर फ़ाइल के भीतर या बाहरी रूप से स्थित हो सकते हैं।
TAR फ़ाइल की अनुक्रमणिका की जाँच करके आंतरिक संदर्भ पाए जाते हैं। बाहरी संदर्भों को किसी अन्य TAR फ़ाइल में खंड का पता लगाने के लिए एक बाहरी उपकरण की आवश्यकता होती है। डेटा सेगमेंट में संदर्भित सेगमेंट की सूची तेजी से पुनर्प्राप्ति के लिए ग्राफ़ फ़ाइल में संग्रहीत की जाती है। खोज प्रक्रिया को अनुकूलित करने के लिए इस सूची को क्रमबद्ध रखा गया है।

TAR-फ़ाइल - आंतरिक संरचना

आंतरिक पुरालेख संरचना

  • फ़ाइल मेटाडेटा - टार संग्रह के समान, प्रत्येक फ़ाइल संशोधन समय और अनुमतियों जैसी बुनियादी जानकारी संग्रहीत करती है। हालाँकि, यह अनुभाग लचीला है और आपकी आवश्यकताओं के आधार पर एक्सेस कंट्रोल लिस्ट (एसीएल) या विस्तारित विशेषताओं (ईए) जैसे अतिरिक्त विवरणों को छोड़ने या शामिल करने की अनुमति देता है। डेटा अखंडता सुनिश्चित करने के लिए नियमित फ़ाइलों के लिए एक मजबूत हैश फ़ंक्शन (जैसे SHA1) शामिल करने की अनुशंसा की जाती है।
  • एकाधिक सामग्री स्ट्रीम - पारंपरिक अभिलेखागार के विपरीत, फ़ाइलों में आंतरिक डेटा फ़ाइल के भीतर एक से अधिक डेटा स्ट्रीम हो सकती हैं। यह फ़ाइल से जुड़े विस्तारित विशेषताओं या संसाधन फ़ोर्क को संग्रहीत करने के लिए उपयोगी है।
  • हेडर - आंतरिक सूचकांक फ़ाइल फ़ाइल हेडर रखती है, जो आंतरिक डेटा फ़ाइल में बिखरे हुए हेडर को प्रतिबिंबित करती है। लेकिन, जब अलग से संग्रहीत किया जाता है, तो इंडेक्स हेडर को डेटा फ़ाइल के भीतर उनके संबंधित डेटा की शुरुआती स्थिति का संदर्भ देना चाहिए। इसके अतिरिक्त, इंडेक्स में निर्देशिका प्रविष्टियाँ उनकी निहित फ़ाइलों और आंतरिक फ़ाइल इंडेक्स के भीतर उनके संबंधित ऑफसेट को सूचीबद्ध करती हैं।
  • डुप्लिकेट मेटाडेटा के लिए तर्क - यह डिज़ाइन विकल्प कुशल डेटा स्ट्रीमिंग/डिकोडिंग और रैंडम फ़ाइल एक्सेस दोनों सुनिश्चित करता है। इसके अतिरिक्त, मेटाडेटा अच्छी तरह से संपीड़ित होता है, जिसके परिणामस्वरूप न्यूनतम भंडारण ओवरहेड होता है। परीक्षणों से पता चलता है कि मेटाडेटा आम तौर पर भंडारण स्थान के 0.3% से कम पर कब्जा करता है, जिससे व्यापार-बंद सार्थक हो जाता है।
  • ब्लॉक हेडर - बाहरी फ़ाइल के समान ब्लॉक हेडर में ब्लॉक आकार की जानकारी और एक विशिष्ट पहचानकर्ता अनुक्रम होता है।

टीएआर का उपयोग करने के उदाहरण

Aspose.ZIP API किसी अन्य तृतीय पक्ष एप्लिकेशन की आवश्यकता के बिना आपके एप्लिकेशन में संग्रह निकालने देता है। Aspose.ZIP API TAR अभिलेखागार के साथ काम करने के लिए टारआर्काइव क्लास प्रदान करता है।

Add entries to existing TAR archive via C#

All you need to do is open archive for extraction and add entry to archive .

    using (TarArchive archive = new TarArchive(existing.tar))
    {
        archive.CreateEntry("one_more.bin", data.bin);
        archive.Save(added.tar);
    }

Delete entries from existing TAR archive via .net

Entries of tar archive can be deleted with similar DeleteEntry methods.

using (var archive = new TarArchive("two_files.tar"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.tar");
}

Add files to TAR archive without compression

Tar is a file archival format used to group multiple files and directories into a single archive file without compression , unlike formats like ZIP, RAR and others. To create a tar archive without specifying any compression settings, simply use a TarArchive instance.

    using (FileStream tarFile = File.Open("joint.tar", FileMode.Create))
    {
        FileInfo fi1 = new FileInfo("text.txt");
        FileInfo fi2 = new FileInfo("picture.png");
        using (TarArchive archive = new TarArchive())
        {
            archive.CreateEntry("text.txt", fi1);
            archive.CreateEntry("picture.png", fi2);
            archive.Save(tarFile);
        }
    }

Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:

Aspose.Zip for .NETAspose.Zip via JavaAspose.Zip via Python.NET

TAR-अभिलेखागार के बारे में अतिरिक्त जानकारी

लोग पूछ रहे हैं

1. TAR पुरालेख क्या है?

TAR आर्काइव, टेप आर्काइव का संक्षिप्त रूप, एक फ़ाइल स्वरूप है जिसका उपयोग कई फ़ाइलों और निर्देशिकाओं को बिना संपीड़न के एक एकल आर्काइव फ़ाइल में बंडल करने के लिए किया जाता है। इसका उपयोग आमतौर पर यूनिक्स-आधारित सिस्टम में बैकअप और वितरण उद्देश्यों के लिए किया जाता है।

2. टीएआर अभिलेखागार लाभ क्या हैं?

टीएआर सार्वभौमिकता का दावा करता है, क्योंकि यह अधिकांश ऑपरेटिंग सिस्टम और संग्रह कार्यक्रमों के साथ संगत है, जो विभिन्न प्लेटफार्मों पर निर्बाध डेटा साझाकरण और विनिमय की सुविधा प्रदान करता है। इसकी सरलता टीएआर अभिलेखागार की सीधी संरचना में निहित है, जो फाइलों के सहज निर्माण, निष्कर्षण और हेरफेर को सक्षम बनाती है। इसके अलावा, TAR gzip या bzip2 जैसे बाहरी उपकरणों के साथ संपीड़न की अनुमति देकर दक्षता प्रदान करता है, जिससे उपयोगकर्ता फ़ाइल आकार को कम करने और डेटा ट्रांसमिशन के दौरान भंडारण स्थान और बैंडविड्थ को संरक्षित करने में सक्षम होते हैं।

3. TAR अभिलेखागार की कुछ सीमाएँ क्या हैं?

जबकि टीएआर एक बहुमुखी फ़ाइल प्रारूप है जिसका उपयोग आमतौर पर यूनिक्स-आधारित सिस्टम में फ़ाइलों को संग्रहीत करने और वितरित करने के लिए किया जाता है, यह कुछ सीमाओं के साथ आता है जिनके बारे में जागरूक होना आवश्यक है। सबसे पहले, TAR में अंतर्निहित संपीड़न क्षमताओं का अभाव है, जिसका अर्थ है कि फ़ाइल आकार को कम करने के लिए आपको gzip या bzip2 जैसे अतिरिक्त टूल की आवश्यकता होगी। दूसरे, टीएआर अभिलेखागार मूल एन्क्रिप्शन सुविधाएँ प्रदान नहीं करते हैं, इसलिए यदि आपको डेटा सुरक्षा की आवश्यकता है, तो आपको पासवर्ड सुरक्षा के लिए बाहरी उपकरणों पर निर्भर रहना होगा। अंत में, TAR के पास फ़ाइल विशेषताओं जैसे टाइमस्टैम्प और मूल फ़ाइलों की अनुमतियों को संरक्षित करने के लिए सीमित समर्थन है, जो संग्रहीत डेटा की अखंडता को प्रभावित कर सकता है।