क्या .tar
फ़ाइल बनाने का कोई तरीका है जो इसकी फ़ाइलों/निर्देशिकाओं के लिए एटिम/सीटाइम/एमटाइम के मानों को छोड़ देता है?एक टैर फ़ाइल कैसे बनाएं जो इसकी सामग्री के लिए टाइमस्टैम्प को छोड़ दे?
हम ऐसा क्यों करना चाहते हैं?
हमारे पास हमारी निर्माण प्रक्रिया में एक कदम है जो कलाकृतियों की एक निर्देशिका उत्पन्न करता है जो एक टैरिफाइल में पैक हो जाता है। हम उम्मीद करते हैं कि निर्माण को बेवकूफ़ बनाने के लिए - एक ही इनपुट दिए जाने पर, यह बिल्कुल प्रत्येक बार एक ही फाइल/आउटपुट उत्पन्न करता है।
आदर्श रूप से, हम बिटवाई क्लीन बिल्डों में बेवकूफ़ों को भी पसंद करना चाहते हैं, ताकि हम लगातार निर्माण के हैंश का उपयोग करके यह जांच सकें कि कुछ भी नहीं बदला है। लेकिन क्योंकि प्रत्येक प्रविष्टि के लिए टैर फाइलों में टाइमस्टैम्प (एटीम/सीटाइम/एमटाइम) शामिल होता है, उस बिल्ड चरण द्वारा बनाई गई टैर फाइलें पिछले रन के समान नहीं होती हैं, भले ही संग्रह के अंदर प्रत्येक फ़ाइल की सामग्री बिटवाई समान है।
क्या कोई टैरिफाइल उत्पन्न करने का कोई तरीका है जो इसकी प्रविष्टियों के टाइमस्टैम्प को छोड़ देता है, ताकि संग्रह उत्पन्न करने वाला चरण बिटवाईड idempotent हो सकता है? (हम अन्य फ़ाइल मेटाडेटा का लाभ उठाना चाहते हैं जो tar
संरक्षित करता है, जैसे फ़ाइल मोड बिट्स और सिम्लिंक।)
क्या आपको कभी इसका पूरा जवाब मिला? मैं भी वही काम करना चाहता हूं, यहां एक प्रश्न में पूछा गया: https://stackoverflow.com/questions/45734702/tar-preserving-only-file-names-contents-and-executable-bit?noredirect=1#comment78427625_45734702 मैं यह भी सुनिश्चित करना चाहता हूं कि उपयोगकर्ता, समूह और अनुमतियां संग्रहीत नहीं हैं। क्या इसके बारे में जागरूक होने के लिए कुछ और है? –
@TomEllis, यदि आप अनुमतियों के सटीक नियंत्रण चाहते हैं और संग्रहीत नहीं हैं, तो मैं पाइथन 'टैरफ़ाइल 'मॉड्यूल के साथ कुछ कस्टम बनाने पर विचार करता हूं। –