टैर (कंप्यूटिंग): Difference between revisions
No edit summary |
|||
| Line 52: | Line 52: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! फील्ड ऑफसेट | ||
! | ! फील्ड की माप | ||
! | ! फील्ड | ||
|- | |- | ||
| 0 | | 0 | ||
| 100 | | 100 | ||
| | | फ़ाइल का नाम | ||
|- | |- | ||
| 100 | | 100 | ||
| 8 | | 8 | ||
| | | फ़ाइल मोड (ऑक्टल) | ||
|- | |- | ||
| 108 | | 108 | ||
| 8 | | 8 | ||
| | | एडमिन की सांख्यिक उपयोगकर्ता आईडी (ऑक्टल) | ||
|- | |- | ||
| 116 | | 116 | ||
| 8 | | 8 | ||
| | | समूह की सांख्यिक उपयोगकर्ता आईडी (ऑक्टल) | ||
|- | |- | ||
| 124 | | 124 | ||
| 12 | | 12 | ||
| | | बाइट्स में फ़ाइल का आकार (ऑक्टल) | ||
|- | |- | ||
| 136 | | 136 | ||
| 12 | | 12 | ||
| | | संख्यात्मक यूनिक्स समय प्रारूप (ऑक्टल) में अंतिम संशोधन समय | ||
|- | |- | ||
| 148 | | 148 | ||
| 8 | | 8 | ||
| | | हेडर रिकॉर्ड के लिए चेकसम | ||
|- | |- | ||
| 156 | | 156 | ||
| 1 | | 1 | ||
| | | लिंक संकेतक (फ़ाइल प्रकार) | ||
|- | |- | ||
| 157 | | 157 | ||
| 100 | | 100 | ||
| | | लिंक की गई फ़ाइल का नाम | ||
|} | |} | ||
पीओएसआईएक्स .1-1988 से पहले के लिंक इंडिकेटर फील्ड में निम्नलिखित मान हो सकते हैं: | पीओएसआईएक्स .1-1988 से पहले के लिंक इंडिकेटर फील्ड में निम्नलिखित मान हो सकते हैं: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ लिंक सूचक क्षेत्र | ||
|- | |- | ||
! | ! मान | ||
! | ! अर्थ | ||
|- | |- | ||
| '0' | | '0' या ([[एएससीआईआई]] [[नल कैरेक्टर|एनयूएल]]) | ||
| | | सामान्य फ़ाइल | ||
|- | |- | ||
| '1' | | '1' | ||
| [[ | | [[हार्ड लिंक]] | ||
|- | |- | ||
| '2' | | '2' | ||
| [[ | | [[प्रतीकात्मक कड़ी]] | ||
|} | |} | ||
कुछ पूर्व- पीओएसआईएक्स .1-1988 टार कार्यान्वयन ने नाम में अनुगामी [[स्लैश (विराम चिह्न)]] (/) होने से एक निर्देशिका का संकेत दिया। | कुछ पूर्व- पीओएसआईएक्स .1-1988 टार कार्यान्वयन ने नाम में अनुगामी [[स्लैश (विराम चिह्न)]] (/) होने से एक निर्देशिका का संकेत दिया। | ||
| Line 116: | Line 116: | ||
यूनिक्स फाइलसिस्टम एक ही फाइल के लिए कई लिंक (नाम) का समर्थन करते हैं। यदि ऐसी कई फाइलें टार पुरालेखन में दिखाई देती हैं, तो केवल पहली फाइल को सामान्य फाइल के रूप में संग्रहित किया जाता है; बाकी को हार्ड लिंक के रूप में संग्रहीत किया जाता है, लिंक की गई फ़ाइल फ़ील्ड के नाम के साथ पहले वाले के नाम पर समुच्चय किया जाता है। निकालने पर, ऐसे हार्ड लिंक को फाइल प्रणाली में फिर से बनाया जाना चाहिए। | यूनिक्स फाइलसिस्टम एक ही फाइल के लिए कई लिंक (नाम) का समर्थन करते हैं। यदि ऐसी कई फाइलें टार पुरालेखन में दिखाई देती हैं, तो केवल पहली फाइल को सामान्य फाइल के रूप में संग्रहित किया जाता है; बाकी को हार्ड लिंक के रूप में संग्रहीत किया जाता है, लिंक की गई फ़ाइल फ़ील्ड के नाम के साथ पहले वाले के नाम पर समुच्चय किया जाता है। निकालने पर, ऐसे हार्ड लिंक को फाइल प्रणाली में फिर से बनाया जाना चाहिए। | ||
[[Category:All articles with failed verification|Tar (File Format)]] | |||
[[Category:All articles with unsourced statements|Tar (File Format)]] | |||
[[Category:Articles with failed verification from July 2022|Tar (File Format)]] | |||
[[Category:Articles with hatnote templates targeting a nonexistent page|Tar (File Format)]] | |||
[[Category:Articles with invalid date parameter in template|Tar (File Format)]] | |||
[[Category:Articles with unsourced statements from July 2020|Tar (File Format)]] | |||
[[Category:Articles with unsourced statements from October 2021|Tar (File Format)]] | |||
[[Category:Collapse templates|Tar (File Format)]] | |||
[[Category:Created On 25/04/2023|Tar (File Format)]] | |||
[[Category:IBM i Qshell कमांड|Tar (File Format)]] | |||
=== यूएसस्टार प्रारूप === | === यूएसस्टार प्रारूप === | ||
Revision as of 08:35, 28 April 2023
This article needs additional citations for verification. (April 2012) (Learn how and when to remove this template message) |
| Filename extension |
.tar |
|---|---|
| Internet media type |
application/x-tar |
| Uniform Type Identifier (UTI) | public.tar-archive |
| Magic number | u s t a r \0 0 0 at byte offset 257 (for POSIX versions)
|
| Latest release | various various |
| Type of format | File archiver |
| Standard | POSIX since POSIX.1, presently in the definition of pax[1] |
| Open format? | Yes |
संगणना में, टार(स्टार्टअप) एक कंप्यूटर सॉफ्टवेयर उपयोगिता है जो कई फ़ाइलों को एक संग्रहण फ़ाइल में संग्रहित करने के लिए होती है, जिसे अधिकांशतः सॉफ़्टवेयर वितरण या पूर्तिकर उद्देश्यों के लिए टारबॉल कहा जाता है। यह नाम टेप पुरालेखन से लिया गया है, क्योंकि इसे मूल रूप से अनुक्रमिक इनपुट/आउटपुट उपकरणों में डेटा लिखने के लिए विकसित किया गया था, जिसमें उनका अपना कोई फाइल प्रणाली नहीं है। टार द्वारा बनाए गए संग्रह डेटा समुच्चय में विभिन्न फ़ाइल प्रणाली पैरामीटर होते हैं, जैसे नाम, टाइमस्टैम्प, स्वामित्व, फ़ाइल-अभिगमन अनुमतियाँ और निर्देशिका(संगणना ) संगठन आदि। पीओएसआईएक्स ने पैक्स (कमांड) के अनुकूल में 'टार' को छोड़ दिया, फिर भी 'टार' का व्यापक उपयोग जारी है।
इतिहास
जनवरी 1979 में कमांड-लाइन उपयोगिता को पहली बार संस्करण 7 यूनिक्स में प्रस्तुत किया गया था, जिसने tp प्रोग्राम (जो बदले में टैप को प्रतिस्थापित किया) को बदल दिया।[2] इस जानकारी को संग्रहीत करने के लिए फ़ाइल स्वरूप को पीओएसआईएक्स .1-1988 और बाद में पीओएसआईएक्स .1-2001 में मानकीकृत किया गया था[3] ,[4] और अधिकांश आधुनिक फ़ाइल संग्रह प्रणालियों द्वारा समर्थित प्रारूप बन गया। टार कमांड को पैक्स(कमांड) कमांड के अनुकूल में पीओएसआईएक्स .1-2001 में छोड़ दिया गया था, जो कि यूएसटीएआर फाइल प्रारूप को प्रोत्साहन करने के लिए था; टार कमांड को कम से कम 1994 से पैक्स कमांड के अनुकूल में वापस लेने का संकेत दिया गया था।
आज, यूनिक्स जैसे प्रचालन प्रणाली में सामान्यतः टार फाइलों को प्रोत्साहन करने के लिए यंत्र सम्मलित होते हैं, साथ ही उपयोगिताओं को सामान्यतः उन्हें संक्षिप्त करने के लिए उपयोग किया जाता है, जैसे कि gzip और bzip2। tar}ar कमांड को IBM i प्रचालन प्रणाली में भी पोर्ट किया गया है।[5]
बीएसडी-टार को विंडोज 10 संस्करण इतिहास के बाद से माइक्रोसॉफ़्ट विंडोज़ में सम्मलित किया गया है,[6][7]अन्यथा और दूसरे विंडोज़ पर इन प्रारूपों को पढ़ने और लिखने के लिए कई तृतीय अनुकूल उपकरण उपलब्ध हैं।
तर्काधार
कई ऐतिहासिक टेप ड्राइव चर-लंबाई वाले ब्लॉक(डेटा संग्रहण) को पढ़ते और लिखते हैं, ब्लॉक के बीच टेप पर महत्वपूर्ण निरर्थक स्थान छोड़ते हैं (टेप को भौतिक रूप से प्रारम्भ करने और चलने से रोकने के लिए)। कुछ टेप ड्राइव (और अनिर्मित डिस्क) केवल निश्चित-लंबाई वाले डेटा ब्लॉक का समर्थन करते हैं। साथ ही, किसी भी माध्यम जैसे फ़ाइल प्रणाली या नेटवर्क पर लिखते समय, कई छोटे ब्लॉकों की तुलना में एक बड़े ब्लॉक को लिखने में कम समय लगता है। इसलिए, टार कमांड कई 512 बाइट ब्लॉक के लिखित प्रमाण में डेटा लिखता है। उपयोगकर्ता एक अवरोधक कारक निर्दिष्ट कर सकता है, जो प्रति लिखित प्रमाण ब्लॉक की संख्या है। पूर्व निर्धारित मूल्य 20 है, जो 10 किबिबाइट लिखित प्रमाण बनाता है।[8]
फ़ाइल प्रारूप
ऐतिहासिक और वर्तमान वाले को सम्मिलित करते हुए कई टार फ़ाइल स्वरूप हैं। पीओएसआईएक्स में दो टार प्रारूपों को संहिताबद्ध किया गया है: USStar प्रारूप और पीओएसआईएक्स .1-2001/pax। जीएनयू संहिताबद्ध नहीं है लेकिन अभी भी वर्तमान उपयोग में जीएनयू टैर प्रारूप उपयोगी है।
एक टार पुरालेखन में फ़ाइल उद्देश्य की एक श्रृंखला होती है, इसलिए प्रचलित शब्द टारबॉल, यह संदर्भित करता है कि कैसे एक टैरबॉल (तेल) सभी प्रकार की वस्तुओं को संग्रहित करता है जो इसकी सतह पर चिपक जाती हैं। प्रत्येक फ़ाइल उद्देश्य में कोई फ़ाइल डेटा सम्मलित होता है, और 512-बाइट हैडर (संगणना ) लिखित प्रमाण से पहले होता है। फ़ाइल डेटा को अपरिवर्तित लिखा गया है, सिवाय इसके कि इसकी लंबाई 512 बाइट्स के गुणक तक है। मूल टार कार्यान्वयन ने पैडिंग बाइट्स की सामग्री की संरक्षण नहीं की, और बफर डेटा को अपरिवर्तित छोड़ दिया, लेकिन अधिकांश आधुनिक टार कार्यान्वयन अतिरिक्त स्थान को शून्य से पूर्ण कर देते हैं।[9] एक संग्रह का अंत कम से कम दो लगातार शून्य-भरे लिखित प्रमाण द्वारा चिह्नित किया गया है। (टार के लिखित प्रमाण आकार की उत्पत्ति संस्करण 7 यूनिक्स फाइल प्रणाली में उपयोग किए गए 512-बाइट डिस्क सेक्टर प्रतीत होती है।) एक संग्रह का अंतिम ब्लॉक शून्य के साथ पूरी लंबाई तक स्थूल है।
शीर्षणी
फ़ाइल शीर्षणी लिखित प्रमाण में फ़ाइल के बारे में मेटाडाटा होता है। अलग-अलग endianness के साथ अलग-अलग आर्किटेक्चर में पोर्टेबिलिटी सुनिश्चित करने के लिए, शीर्षणी लिखित प्रमाण में जानकारी ASCII में एन्कोड की गई है। इस प्रकार यदि संग्रह की सभी फाइलें ASCII पाठ फ़ाइलें हैं, और ASCII नाम हैं, तो संग्रह अनिवार्य रूप से एक ASCII पाठ फ़ाइल है (जिसमें कई अशक्त वर्ण हैं)।
मूल यूनिक्स टैर प्रारूप द्वारा परिभाषित फ़ील्ड नीचे दी गई तालिका में सूचीबद्ध हैं। लिंक संकेतक/फ़ाइल प्रकार तालिका में कुछ आधुनिक एक्सटेंशन सम्मलित हैं। जब किसी क्षेत्र का उपयोग नहीं किया जाता है तो यह NUL बाइट्स से पूर्ण कर जाता है। शीर्षणी 257 बाइट्स का उपयोग करता है, फिर इसे 512 बाइट लिखित प्रमाण भरने के लिए एनयूएल बाइट्स के साथ पैड किया जाता है। फाइल की पहचान के लिए शीर्षणी में कोई मैजिक नंबर नहीं है।
पीओएसआईएक्स .1-1988 से पहले (यानी v7) टार हेडर:
| फील्ड ऑफसेट | फील्ड की माप | फील्ड |
|---|---|---|
| 0 | 100 | फ़ाइल का नाम |
| 100 | 8 | फ़ाइल मोड (ऑक्टल) |
| 108 | 8 | एडमिन की सांख्यिक उपयोगकर्ता आईडी (ऑक्टल) |
| 116 | 8 | समूह की सांख्यिक उपयोगकर्ता आईडी (ऑक्टल) |
| 124 | 12 | बाइट्स में फ़ाइल का आकार (ऑक्टल) |
| 136 | 12 | संख्यात्मक यूनिक्स समय प्रारूप (ऑक्टल) में अंतिम संशोधन समय |
| 148 | 8 | हेडर रिकॉर्ड के लिए चेकसम |
| 156 | 1 | लिंक संकेतक (फ़ाइल प्रकार) |
| 157 | 100 | लिंक की गई फ़ाइल का नाम |
पीओएसआईएक्स .1-1988 से पहले के लिंक इंडिकेटर फील्ड में निम्नलिखित मान हो सकते हैं:
| मान | अर्थ |
|---|---|
| '0' या (एएससीआईआई एनयूएल) | सामान्य फ़ाइल |
| '1' | हार्ड लिंक |
| '2' | प्रतीकात्मक कड़ी |
कुछ पूर्व- पीओएसआईएक्स .1-1988 टार कार्यान्वयन ने नाम में अनुगामी स्लैश (विराम चिह्न) (/) होने से एक निर्देशिका का संकेत दिया।
संख्यात्मक मान को अष्टभुजाकार नंबर में ASCII डिजिट का प्रयोग करते हुए एनकोड किया जाता है, जिसमें लीडिंग जीरो होते हैं। ऐतिहासिक कारणों से, अंतिम NUL या स्पेस (विराम चिह्न) वर्ण का भी उपयोग किया जाना चाहिए। इस प्रकार हालांकि फ़ाइल आकार को संग्रहीत करने के लिए 12 बाइट आरक्षित हैं, केवल 11 ऑक्टल अंक संग्रहीत किए जा सकते हैं। यह संग्रहीत फ़ाइलों पर अधिकतम 8 गीगाबाइट का फ़ाइल आकार देता है। इस सीमा को पार करने के लिए, 2001 में स्टार ने एक बेस-256 कोडिंग प्रारम्भ की जो एक संख्यात्मक क्षेत्र के सबसे बाएं बाइट के उच्च-क्रम बिट को समुच्चय करके इंगित किया गया है।[citation needed] जीएनयू-टार और बीएसडी-टार ने इस विचार का अनुसरण किया। इसके अतिरिक्त, 1988 से पहले पीओएसआईएक्स मानक से पहले के संस्करण शून्य के बजाय रिक्त स्थान वाले मानों को पैड करते हैं।
अंततः, की गणना शीर्षणी लिखित प्रमाण के अहस्ताक्षरित बाइट मानों का योग लेकर की जाती है, जिसमें आठ चेकसम बाइट्स ASCII स्पेस (दशमलव मान 32) लिए जाते हैं। इसे छह अंकों की ऑक्टल संख्या के रूप में संग्रहीत किया जाता है जिसमें अग्रणी शून्य होता है जिसके बाद NUL और फिर एक स्थान होता है। विभिन्न कार्यान्वयन इस प्रारूप का पालन नहीं करते हैं। इसके अलावा, कुछ ऐतिहासिक टार कार्यान्वयन बाइट्स को हस्ताक्षर के रूप में मानते हैं। कार्यान्वयन आम तौर पर दोनों तरीकों से चेकसम की गणना करते हैं, और यदि हस्ताक्षरित या अहस्ताक्षरित राशि सम्मलित चेकसम से मेल खाती है तो इसे अच्छा मानते हैं।
यूनिक्स फाइलसिस्टम एक ही फाइल के लिए कई लिंक (नाम) का समर्थन करते हैं। यदि ऐसी कई फाइलें टार पुरालेखन में दिखाई देती हैं, तो केवल पहली फाइल को सामान्य फाइल के रूप में संग्रहित किया जाता है; बाकी को हार्ड लिंक के रूप में संग्रहीत किया जाता है, लिंक की गई फ़ाइल फ़ील्ड के नाम के साथ पहले वाले के नाम पर समुच्चय किया जाता है। निकालने पर, ऐसे हार्ड लिंक को फाइल प्रणाली में फिर से बनाया जाना चाहिए।
यूएसस्टार प्रारूप
अधिकांश आधुनिक टार प्रोग्राम यूएसस्टार (यूनिक्स स्टैंडर्ड टीएआर) में अभिलेखागार पढ़ते और लिखते हैं[2][10]) प्रारूप, 1988 से पीओएसआईएक्स IEEE P1003.1 मानक द्वारा प्रस्तुत किया गया। इसने अतिरिक्त शीर्षणी फ़ील्ड प्रस्तुत किए। पुराने टार प्रोग्राम अतिरिक्त जानकारी (संभवतः आंशिक रूप से नामित फाइलों को निकालने) की उपेक्षा करेंगे, जबकि नए प्रोग्राम यह निर्धारित करने के लिए यूस्टार स्ट्रिंग की उपस्थिति के लिए परीक्षण करेंगे कि नया प्रारूप उपयोग में है या नहीं। यूएसटीएआर प्रारूप लंबे फ़ाइल नामों की अनुमति देता है और प्रत्येक फ़ाइल के बारे में अतिरिक्त जानकारी संग्रहीत करता है। अधिकतम फ़ाइल नाम का आकार 256 है, लेकिन यह पिछले पथ फ़ाइल नाम उपसर्ग और स्वयं फ़ाइल नाम के बीच विभाजित है, इसलिए यह बहुत कम हो सकता है।[11]
| Field offset | Field size | Field |
|---|---|---|
| 0 | 156 | (Several fields, same as in the old format) |
| 156 | 1 | Type flag |
| 157 | 100 | (Same field as in the old format) |
| 257 | 6 | यूएसटीएआर indicator, "ustar", then NUL |
| 263 | 2 | यूएसटीएआर version, "00" |
| 265 | 32 | Owner user name |
| 297 | 32 | Owner group name |
| 329 | 8 | Device major number |
| 337 | 8 | Device minor number |
| 345 | 155 | Filename prefix |
प्रकार ध्वज फ़ील्ड में निम्न मान हो सकते हैं:
| Value | Meaning |
|---|---|
| '0' or (ASCII NUL) | Normal file |
| '1' | Hard link |
| '2' | Symbolic link |
| '3' | Character special |
| '4' | Block special |
| '5' | Directory |
| '6' | FIFO |
| '7' | Contiguous file |
| 'g' | Global extended header with meta data ( पीओएसआईएक्स .1-2001) |
| 'x' | Extended header with metadata for the next file in the archive ( पीओएसआईएक्स .1-2001) |
| 'A'–'Z' | Vendor specific extensions ( पीओएसआईएक्स .1-1988) |
| All other values | Reserved for future standardization |
पीओएसआईएक्स .1-1988 लिंक फ़्लैग मान 'A'-'Z' का उपयोग करने वाले विक्रेता विशिष्ट एक्सटेंशन का अलग-अलग विक्रेताओं के साथ आंशिक रूप से अलग अर्थ होता है और इस प्रकार इसे पुराने के रूप में देखा जाता है और पीओएसआईएक्स .1-2001 एक्सटेंशन द्वारा प्रतिस्थापित किया जाता है जिसमें एक विक्रेता टैग भी सम्मलित होता है।
प्रकार '7' (समीपस्थ फ़ाइल) को औपचारिक रूप से पीओएसआईएक्स मानक में आरक्षित के रूप में चिह्नित किया गया है, लेकिन इसका मतलब उन फ़ाइलों को इंगित करना था जिन्हें डिस्क पर लगातार आवंटित किया जाना चाहिए। कुछ प्रचालन प्रणाली ऐसी फाइलों को स्पष्ट रूप से बनाने का समर्थन करते हैं, और इसलिए अधिकांश टीएआर प्रोग्राम उनका समर्थन नहीं करते हैं, और टाइप 7 फाइलों का इलाज करेंगे जैसे कि वे टाइप 0 (नियमित) थे। MASSCOMP RTU (रीयल टाइम यूनिक्स) प्रचालन प्रणाली पर चलने पर GNU टार के पुराने संस्करण एक अपवाद हैं, जो एक सन्निहित फ़ाइल का अनुरोध करने के लिए open() फ़ंक्शन के लिए O_CTG फ़्लैग का समर्थन करता है; हालाँकि, उस समर्थन को GNU टार संस्करण 1.24 से हटा दिया गया था।
पीओएसआईएक्स .1-2001/पैक्स
1997 में, सन माइक्रोसिस्टम्स ने टार प्रारूप में एक्सटेंशन जोड़ने के लिए एक विधि प्रस्तावित की। इस विधि को बाद में पीओएसआईएक्स .1-2001 मानक के लिए स्वीकार किया गया। इस प्रारूप को विस्तारित टैर प्रारूप या पैक्स (कमांड) प्रारूप के रूप में जाना जाता है। नया टार प्रारूप उपयोगकर्ताओं को किसी भी प्रकार के विक्रेता-टैग किए गए विक्रेता-विशिष्ट संवर्द्धन को जोड़ने की अनुमति देता है। निम्नलिखित टैग पीओएसआईएक्स मानक द्वारा परिभाषित किए गए हैं:
- 'atime', 'mtime': एक फ़ाइल के सभी टाइमस्टैम्प स्वैच्छिक रिज़ॉल्यूशन में (अधिकांश कार्यान्वयन नैनोसेकंड ग्रैन्युलैरिटी का उपयोग करते हैं)
- 'पथ': असीमित लंबाई और वर्ण समुच्चय कोडिंग के पथ नाम
- 'लिंकपाथ': असीमित लंबाई और वर्ण समुच्चय कोडिंग के सिमलिंक लक्ष्य नाम
- 'अनाम', 'gname': उपयोगकर्ता और असीमित लंबाई और वर्ण समुच्चय कोडिंग के समूह के नाम
- 'आकार': असीमित आकार वाली फ़ाइलें (ऐतिहासिक टार प्रारूप 8 जीबी है)
- 'यूआईडी', 'जीआईडी': आकार सीमा के बिना यूजर आईडी और ग्रुपिड (ऐतिहासिक टार प्रारूप 2097151 की अधिकतम आईडी तक सीमित था)
- पथ नाम और उपयोगकर्ता/समूह नाम (यूटीएफ-8 -8) के लिए एक वर्ण समुच्चय परिभाषा
2001 में, स्टार प्रोग्राम नए प्रारूप का समर्थन करने वाला पहला टार बन गया।[citation needed] 2004 में, GNU टार ने नए प्रारूप का समर्थन किया,[12] हालांकि यह इसे अभी तक टार प्रोग्राम से अपने पूर्व निर्धारित मूल्य आउटपुट के रूप में नहीं लिखता है।[13]
पैक्स प्रारूप को डिज़ाइन किया गया है ताकि यूस्टार प्रारूप को पढ़ने में सक्षम सभी कार्यान्वयन पैक्स प्रारूप को भी पढ़ सकें। एकमात्र अपवाद वे फ़ाइलें हैं जो विस्तारित सुविधाओं का उपयोग करती हैं, जैसे कि लंबे फ़ाइल नाम। संगतता के लिए, इन्हें टार फाइलों में विशेष के रूप में एन्कोड किया गया है x या g फाइल टाइप करें, सामान्यतः एक के तहत PaxHeaders.XXXX निर्देशिका।[14]: exthdr.name एक पैक्स-समर्थक कार्यान्वयन सूचना का उपयोग करेगा, जबकि 7-ज़िप जैसे गैर-समर्थक कार्यान्वयन उन्हें अतिरिक्त फ़ाइलों के रूप में संसाधित करेंगे।[15]
उपयोग करता है
कमांड सिंटैक्स
tar [-options] <टार संग्रह का नाम> [फ़ाइलें या निर्देशिकाएं जिन्हें संग्रह में जोड़ना है]
मूल विकल्प:
-c, --create- एक नया संग्रह बनाएँ;-a, --auto-compress- संग्रह को अतिरिक्त रूप से एक कंप्रेसर के साथ संपीड़ित करें जो संग्रह के फ़ाइल नाम एक्सटेंशन द्वारा स्वचालित रूप से निर्धारित किया जाएगा। यदि संग्रह का नाम के साथ समाप्त होता है*.tar.gzफिर gzip का उपयोग करें, यदि*.tar.xzफिर XZ Utils का उपयोग करें,*.tar.zstZमानक आदि के लिए;-r, --append- एक संग्रह के अंत में फ़ाइलें संलग्न करें;-x, --extract, --get- एक संग्रह से फ़ाइलें निकालें;-f, --file- संग्रह का नाम निर्दिष्ट करें;-t, --list- संग्रह में फ़ाइलों और फ़ोल्डरों की सूची दिखाएं;-v, --verbose- संसाधित फ़ाइलों की सूची दिखाएं।
मूल उपयोग
एक संग्रह फ़ाइल बनाएँ archive.tar फ़ाइल से README.txt और निर्देशिका src:
$ tar -cvf archive.tar README.txt src
के लिए सामग्री निकालें archive.tar वर्तमान निर्देशिका में:
$ tar -xvf archive.tar
एक संग्रह फ़ाइल बनाएँ archive.tar.gz फ़ाइल से README.txt और निर्देशिका src और इसे gzip से संक्षिप्त कर करें:
$ tar -cavf archive.tar.gz README.txt src
के लिए सामग्री निकालें archive.tar.gz वर्तमान निर्देशिका में:
$ tar -xvf archive.tar.gz
तारपाइप
टारपाइप टार यूटिलिटी की मानक स्ट्रीम मानक आउटपुट (stdout) फ़ाइल पर एक पुरालेखन बनाने की विधि है और इसे इसके मानक स्ट्रीम#मानक इनपुट (stdin) पर दूसरी टार प्रक्रिया में पाइप करना, दूसरी निर्देशिका में काम करना, जहां यह है अनपैक्ड। यह प्रक्रिया सभी विशेष फ़ाइलों को सम्मिलित करते हुए संपूर्ण स्रोत निर्देशिका ट्री की प्रतिलिपि बनाती है, उदाहरण के लिए:
$ tar cf - srcdir | tar x -C destdir
सॉफ्टवेयर वितरण
ओपन-सोर्स मॉडल|ओपन-सोर्स सॉफ़्टवेयर वितरण के लिए टार प्रारूप का बड़े पैमाने पर उपयोग जारी है। * एनआईएक्स-वितरण इसे विभिन्न स्रोत- और बाइनरी-पैकेज वितरण तंत्र में उपयोग करते हैं, जिसमें अधिकांश सॉफ़्टवेयर स्रोत कोड संपीड़ित टार अभिलेखागार में उपलब्ध कराए जाते हैं।[citation needed]
सीमाएं
मूल टार प्रारूप यूनिक्स के शुरुआती दिनों में बनाया गया था, और वर्तमान व्यापक उपयोग के बावजूद, इसकी कई डिज़ाइन सुविधाओं को दिनांकित माना जाता है।[16]
कई पुराने टार कार्यान्वयन विस्तारित विशेषताओं (xattrs) या कंट्रोल सूची को खोलो (ACLs) को लिखित प्रमाण नहीं करते हैं और न ही पुनर्स्थापित करते हैं। 2001 में, स्टार ने पीओएसआईएक्स .1-2001 पैक्स के लिए अपने स्वयं के टैग के माध्यम से ACL और विस्तारित विशेषताओं के लिए समर्थन प्रस्तुत किया। Bsdtar ACL को समर्थन देने के लिए स्टार एक्सटेंशन का उपयोग करता है।[17] जीएनयू टार के अधिक हाल के संस्करण लिनक्स विस्तारित विशेषताओं का समर्थन करते हैं, स्टार एक्सटेंशन को फिर से लागू करते हैं।[18] बीएसडी टार, टार (5) के लिए फाइलटाइप मैनुअल में कई एक्सटेंशन की समीक्षा की गई है।[17]
टार की कमियों को दूर करने के लिए अन्य प्रारूप बनाए गए हैं।
टैरबॉम्ब
शब्दजाल फ़ाइल में एक टारबॉम्ब, एक टार फ़ाइल है जिसमें कई फाइलें होती हैं जो कार्यशील निर्देशिका में निकाली जाती हैं। ऐसी टार फ़ाइल कार्यशील निर्देशिका में उसी नाम की फ़ाइलों को अधिलेखित करके या एक परियोजना की फ़ाइलों को दूसरे में मिला कर समस्याएँ पैदा कर सकती है। यह उपयोगकर्ता के लिए सबसे अच्छी असुविधा है, जो निर्देशिका की अन्य सामग्री के साथ बीच-बीच में कई फाइलों को पहचानने और हटाने के लिए बाध्य है। इस तरह के व्यवहार को संग्रह के निर्माता की ओर से बुरा शिष्टाचार माना जाता है।
एक संबंधित समस्या टार फाइल बनाते समय पथ (संगणना ) या निर्देशिका (संगणना ) संदर्भों का उपयोग है। ऐसे संग्रह से निकाली गई फ़ाइलें अधिकांशतः कार्यशील निर्देशिका के बाहर असामान्य स्थानों में बनाई जाएंगी और एक टैरबॉम्ब की तरह, उपस्थित फ़ाइलों को अधिलेखित करने की क्षमता होती है। हालांकि, फ्रीबीएसडी और जीएनयू टैर के आधुनिक संस्करण पूर्व निर्धारित मूल्य रूप से पूर्ण पथ और मूल-निर्देशिका संदर्भों को बनाते या निकालते नहीं हैं, जब तक कि ध्वज के साथ स्पष्ट रूप से अनुमति नहीं दी जाती है। -P या विकल्प --absolute-names. Bsdtar प्रोग्राम, जो कई प्रचालन प्रणाली पर भी उपलब्ध है और macOS v10.6 पर पूर्व निर्धारित मूल्य टार यूटिलिटी है, पैरेंट-डायरेक्टरी संदर्भ या प्रतीकात्मक लिंक का भी पालन नहीं करता है।[19][failed verification]
यदि किसी उपयोगकर्ता के पास केवल बहुत पुराना टार उपलब्ध है, जो उन सुरक्षा उपायों को प्रदर्शित नहीं करता है, तो कमांड का उपयोग करके पहले टार फ़ाइल की जांच करके इन समस्याओं को कम किया जा सकता है। tar tf archive.tar, जो सामग्री को सूचीबद्ध करता है और बाद में समस्याग्रस्त फ़ाइलों को बाहर करने की अनुमति देता है। ये आदेश किसी फ़ाइल को नहीं निकालते हैं, लेकिन संग्रह में सभी फ़ाइलों के नाम प्रदर्शित करते हैं। यदि कोई समस्याग्रस्त है, तो उपयोगकर्ता एक नई खाली निर्देशिका बना सकता है और उसमें संग्रह को निकाल सकता है - या पूरी तरह से टार फ़ाइल से बच सकता है। अधिकांश ग्राफ़िकल उपकरण संग्रह की सामग्री को निकालने से पहले प्रदर्शित कर सकते हैं। विम (पाठ संपादक) टार पुरालेखन खोल सकता है और उनकी सामग्री प्रदर्शित कर सकता है। GNU Emacs एक टार पुरालेखन खोलने में भी सक्षम है और इसकी सामग्री को एक थके हुए बफर में प्रदर्शित करता है।
रैंडम एक्सेस
टैर प्रारूप को फाइलों के लिए केंद्रीकृत इंडेक्स या सामग्री की तालिका के बिना और पूर्तिकर उपकरणों को टेप करने के लिए उनके गुणों के लिए डिज़ाइन किया गया था। फ़ाइलों को सूचीबद्ध करने या निकालने के लिए संग्रह को क्रमिक रूप से पढ़ा जाना चाहिए। बड़े टार संग्रहों के लिए, यह एक प्रदर्शन दंड का कारण बनता है, टार संग्रहों को उन स्थितियों के लिए अनुपयुक्त बना देता है जिन्हें अधिकांशतः अलग-अलग फ़ाइलों तक यादृच्छिक पहुंच की आवश्यकता होती है।
डुप्लीकेट्स
टार प्रारूप के साथ एक और समस्या यह है कि यह संग्रह में कई (संभवतः भिन्न) फ़ाइलों को समान पथ और फ़ाइल नाम रखने की अनुमति देता है। इस तरह के संग्रह को निकालने पर, सामान्यतः फ़ाइल का बाद वाला संस्करण पूर्व को अधिलेखित कर देता है।
यह एक गैर-स्पष्ट (अस्पष्ट) टैरबॉम्ब बना सकता है, जिसमें तकनीकी रूप से पूर्ण पथ वाली फ़ाइलें या मूल निर्देशिकाओं का संदर्भ नहीं होता है, लेकिन फिर भी वर्तमान निर्देशिका के बाहर फ़ाइलों को ओवरराइट करने का कारण बनता है (उदाहरण के लिए, संग्रह में समान पथ और फ़ाइल नाम वाली दो फ़ाइलें हो सकती हैं, जिनमें से पहला वर्तमान निर्देशिका के बाहर कुछ स्थान के लिए एक प्रतीकात्मक लिंक है, और जिनमें से दूसरा एक नियमित फ़ाइल है; फिर कुछ टार कार्यान्वयनों पर इस तरह के संग्रह को निकालने से सिम्लिंक द्वारा बताए गए स्थान पर लेखन हो सकता है)।
मुख्य कार्यान्वयन
ऐतिहासिक रूप से, कई प्रणालियों ने टार को लागू किया है, और फाइल संग्रहकर्ताओं की कई तुलनाओं में टार के लिए कम से कम आंशिक समर्थन है (अधिकांशतः नीचे कार्यान्वयन में से एक का उपयोग करके)। टार का इतिहास असंगतियों की कहानी है, जिसे टार युद्धों के रूप में जाना जाता है। अधिकांश टार कार्यान्वयन cpio और pax (कमांड) को पढ़ और बना सकते हैं (बाद वाला वास्तव में पीओएसआईएक्स -2001-एक्सटेंशन के साथ एक टार-प्रारूप है)।
उत्पत्ति के क्रम में प्रमुख कार्यान्वयन:
- 'सोलारिस (प्रचालन प्रणाली ) टार', मूल यूनिक्स V7 टार पर आधारित है और सोलारिस प्रचालन प्रणाली पर पूर्व निर्धारित मूल्य के रूप में आता है
- जीएनयू टार अधिकांश लिनक्स वितरणों पर पूर्व निर्धारित मूल्य है। यह सार्वजनिक डोमेन कार्यान्वयन pdtar पर आधारित है जो 1987 में प्रारम्भ हुआ था। हाल के संस्करण ustar, pax, GNU और v7 स्वरूपों को सम्मिलित करते हुए विभिन्न स्वरूपों का उपयोग कर सकते हैं।
- फ्रीबीएसडी टार (भी बीएसडी टार) मैकओएस को सम्मिलित करते हुए अधिकांश बर्कले सॉफ्टवेयर वितरण प्रचालन प्रणाली पर पूर्व निर्धारित मूल्य टार बन गया है। मुख्य कार्यक्षमता अन्य अनुप्रयोगों में सम्मलित करने के लिए लिबरचार्चिव के रूप में उपलब्ध है। यह कार्यान्वयन स्वचालित रूप से फ़ाइल के प्रारूप का पता लगाता है और टार, पैक्स, cpio, ज़िप, rar, ar, xar, rpm और ISO 9660 cdrom छवियों से निकाल सकता है। यह कार्यात्मक रूप से समतुल्य cpio कमांड-लाइन इंटरफ़ेस के साथ आता है।
- शिली टार, जिसे स्टार के रूप में जाना जाता है, ऐतिहासिक रूप से महत्वपूर्ण है क्योंकि इसके कुछ विस्तार काफी प्रचलित थे। पहली बार अप्रैल 1997 में प्रकाशित,[20] इसके डेवलपर ने कहा है कि उसने 1982 में विकास प्रारम्भ किया था।[21]
- पायथन टार्फाइल मॉड्यूल कई टार प्रारूपों का समर्थन करता है, जिसमें ustar, pax और gnu सम्मलित हैं; यह पढ़ सकता है लेकिन V7 प्रारूप और SunOS टार विस्तारित प्रारूप नहीं बना सकता है; पैक्स अभिलेखागार के निर्माण के लिए पूर्व निर्धारित मूल्य स्वरूप है।[22] 2003 से उपलब्ध है।[23]
इसके अतिरिक्त, अधिकांश Pax (कमांड) और cpio कार्यान्वयन कई प्रकार की टार फाइलें पढ़ और बना सकते हैं।
संपीड़ित फ़ाइलों के लिए प्रत्यय
टार पुरालेखन फाइलों में सामान्यतः फाइल प्रत्यय .tar (जैसे somefile.tar) होता है।
एक टार पुरालेखन फ़ाइल में उन फ़ाइलों की असम्पीडित बाइट धाराएँ होती हैं जिनमें यह सम्मलित है। पुरालेखन कंप्रेशन प्राप्त करने के लिए, विभिन्न प्रकार के आधार - सामग्री संकोचन प्रोग्राम उपलब्ध हैं, जैसे कि gzip, bzip2, XZ Utils, lzip, Lempel-Ziv-Markov चेन एल्गोरिथम, Z Standard, या Compress, जो पूरे टार पुरालेखन को संकुचित करें करते हैं। सामान्यतः , पुरालेखन के कंप्रेस्ड फॉर्म को पुरालेखन फाइल नाम में फॉर्मेट-स्पेसिफिक कंप्रेसर प्रत्यय जोड़कर एक फाइल नाम प्राप्त होता है। उदाहरण के लिए, एक टार पुरालेखन आर्काइव.टार, को आर्काइव.टार.जीजेड नाम दिया गया है, जब इसे gzip द्वारा संक्षिप्त कर किया जाता है।
प्रचलित टार प्रोग्राम जैसे बर्कले सॉफ्टवेयर डिस्ट्रीब्यूशन और टार के GNU संस्करण कमांड लाइन इंटरफेस Z (कंप्रेस), z (gzip), और j (bzip2) का समर्थन करते हैं ताकि पुरालेखन फ़ाइल को निर्माण या अनपैकिंग पर संपीड़ित या विघटित किया जा सके। अपेक्षाकृत हाल की परिवर्धन में --lzma (लेम्पेल-ज़िव-मार्कोव श्रृंखला एल्गोरिथम), --lzop (lzop), --xz या J (XZ Utils), --lzip (lzip), और --zstd सम्मलित हैं।[24] यदि समर्थित फ़ाइल नाम एक्सटेंशन का उपयोग किया जाता है, तो इन स्वरूपों का डिकंप्रेशन स्वचालित रूप से नियंत्रित किया जाता है, और यदि विकल्प --auto-compress (संक्षिप्त रूप -a) GNU टार के एक लागू संस्करण के लिए पास किया जाता है, तो उसी फ़ाइल नाम एक्सटेंशन का उपयोग करके संपीड़न को स्वचालित रूप से नियंत्रित किया जाता है।[11]बीएसडी टार कंप्रेशर्स (lrzip, LZ4 (संपीड़न एल्गोरिथम)) की एक व्यापक श्रेणी का पता लगाता है, फ़ाइल नाम का नहीं बल्कि डेटा का उपयोग करके।[25] अपरिचित स्वरूपों को पाइपिंग द्वारा मैन्युअल रूप से संपीड़ित या विघटित किया जाना है।
MS-DOS की 8.3 फ़ाइलनाम सीमाओं के परिणामस्वरूप कंप्रेस्ड टार आर्काइव्स के नामकरण के लिए अतिरिक्त परिपाटियां हुईं। हालाँकि, फ़ाइल आवंटन तालिका के साथ अब इस प्रथा में गिरावट आई है, जो अब लंबे फ़ाइलनामों की पेशकश कर रही है।
| Compressor | Long | Short |
|---|---|---|
| bzip2 | .tar.bz2 | .tb2, .tbz, .tbz2, .tz2 |
| gzip | .tar.gz | .taz, .tgz |
| lzip | .tar.lz | |
| lzma | .tar.lzma | .tlz |
| lzop | .tar.lzo | |
| xz | .tar.xz | .txz |
| compress | .tar.Z | .tZ, .taZ |
| zstd | .tar.zst | .tzst |
यह भी देखें
- फ़ाइल अभिलेखागार की तुलना
- संग्रह स्वरूपों की तुलना
- संग्रह प्रारूपों की सूची
- यूनिक्स कमांड की सूची
संदर्भ
- ↑ Gilmore, John; Fenlason, Jay (4 February 2019). "Basic Tar Format". gnu.org. and others. Free Software Foundation. Retrieved 17 April 2019.
- ↑ 2.0 2.1 "tar(5) manual page". FreeBSD.org. FreeBSD. 20 May 2004. Retrieved 2 May 2017.
- ↑ IEEE Std 1003.1-1988, IEEE Standard for Information Technology - Portable Operating System Interface (POSIX)
- ↑ IEEE Std 1003.1-2001, IEEE Standard for Information Technology - Portable Operating System Interface (POSIX)
- ↑ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). IBM (in English). Retrieved 2020-09-05.
- ↑ "Announcing Windows 10 Insider Preview Build 17063 for PC". Windows Experience Blog. 2017-12-19. Retrieved 2 July 2018.
- ↑ "टार और कर्ल विंडोज़ में आते हैं!". 2019-03-22.
- ↑ "ब्लॉक कर रहा है". ftp.gnu.org. Retrieved 2020-08-26.
- ↑ Hoo, James. "Open/Extract TAR File with Freeware on Windows/Mac/Linux". e7z Org. Archived from the original on 6 February 2015. Retrieved 3 September 2019.
- ↑ Kientzle, Tim (1995). इंटरनेट फ़ाइल प्रारूप. Coriolis Groups Books. p. 196. ISBN 978-1-883577-56-8. Retrieved 2022-11-10.
- ↑ 11.0 11.1 11.2 "GNU tar 1.32: 8.1 Using Less Space through Compression". GNU. 2019-02-23. Retrieved 2019-08-11.
- ↑ NEWS, git.savannah.gnu.org - search for "Added support for POSIX.1-2001 and ustar archive formats."
- ↑ "GNU tar 1.34: 8. Controlling the Archive Format". GNU. Retrieved 2022-07-11.
- ↑ – Shell and Utilities Reference, The Single UNIX Specification, Version 4 from The Open Group
- ↑ "#2116 Tars with pax headers not parsed". 7-Zip / Bugs | SourceForge.
- ↑ Proposed format to replace tar, by the Duplicity utility's developers.
- ↑ 17.0 17.1 – FreeBSD File Formats Manual
- ↑ "Extended attributes: the good, the not so good, the bad". Les bons comptes. 15 July 2014. Archived from the original on 14 December 2014. Retrieved 3 September 2019.
The extended attributes can be very valuable for storing file metadata (e.g. author="John Smith", subject="country landscape"), in the many cases where you do not want or can't store this data in the file internal properties.
- ↑ Man page for "bsdtar".
- ↑ Thomas E. Dickey (January 4, 2015). "TAR versus Portability: Schily tar". Retrieved October 23, 2021.
- ↑ Jörg Schilling (September 4, 2021). "स्टार - अद्वितीय मानक टेप संग्रहकर्ता". Retrieved October 23, 2021.
- ↑ tarfile module, python.org
- ↑ tarfile.py, github.com
- ↑ Poznyakoff, Sergey (2019-01-02). "tar-1.31 released [stable]". GNU mailing lists. Retrieved 2019-08-06.
- ↑ – FreeBSD General Commands Manual
बाहरी संबंध
- X/Open CAE Specification Commands and Utilities Issue 4, Version 2 (pdf), 1994, opengroup.org – indicates tar as to be withdrawn
- tar in The Single UNIX ® Specification, Version 2, 1997, opengroup.org – indicates applications should migrate to pax utility
- C.4 Utilities in The Open Group Base Specifications Issue 6, 2004 Edition, opengroup.org – indicates tar as removed
- – Shell and Utilities Reference, The Single UNIX Specification, Version 4 from The Open Group – specifies the यूएसटीएआर and pax file formats
- – Version 7 Unix Programmer's Manual
- – manual from GNU
- – Plan 9 Programmer's Manual, Volume 1
- – Solaris 10 User Commands Reference Manual
- – FreeBSD General Commands Manual
- – OpenBSD General Commands Manual
- – Linux User Manual – User Commands
- – FreeBSD File Formats Manual
- TAR - Windows CMD - SS64.com