.7zअभिलेखागार अक्सर किसी प्रकार के एल्गोरिथ्म के साथ संपीड़ित होते हैं, जबकि .tarअभिलेखागार केवल अभिलेखागार होते हैं।
वे अपने दायरे में भिन्न होते हैं, और ज्यादातर मामलों में एक रूपांतरण के लिए एक वैकल्पिक अपघटन की आवश्यकता होती है जो स्रोत संग्रह के निष्कर्षण के बाद हमेशा होता है। यहां तक कि अगर एक .7zसंग्रह किसी भी संपीड़न का उपयोग नहीं करेगा, तब भी इसे निष्कर्षण की आवश्यकता होगी।
यही कारण है कि किया जा रहा है ने कहा, आप [दबाव हटाना] / निकालने के लिए होती हैं / एक ही बार में स्रोत संग्रह rearchive, जवाब आप नहीं, कम से कम Ubuntu के डिफ़ॉल्ट उपकरण का उपयोग कर नहीं कर सकते क्योंकि है tarसे नहीं पढ़ सकते हैंstdin , तो आप पाइप नहीं कर सकते हैं 7zऔर tar। वैसे भी एक ही कमांड में सब कुछ स्वचालित करना बहुत आसान है:
mkdir tmp && 7z x <path_to_source_archive> -otmp && tar cf archive.tar tmp && rm -rf tmp
* <path_to_archive> = स्रोत .7zसंग्रह का पथ
स्रोत संग्रह की फ़ाइलों को डिस्क पर लिखने के लिए और निकाली गई फ़ाइलों को पढ़ने के लिए आवश्यक समय [डिकम्प्रेस] / दो चरणों में स्रोत संग्रह को निकालने / खोजने के लिए पूरे कार्य के लिए एक अड़चन है ज्यादातर ( पूरी तरह से नहीं) केवल) एक संभावित डिस्क की कम I / O गति के कारण, इसलिए एक आंशिक समाधान एक अस्थायी रैम रैमडिस्क को स्टोर करने के लिए होगा ताकि समग्र अड़चन को शून्य किया जा सके:
- रैमडिस्क के फाइल सिस्टम के लिए आरोह बिंदु बनाएँ:
sudo mkdir /mnt/tmpfs
- रामडिस्क के फाइल सिस्टम को माउंट करें:
sudo mount -t tmpfs -o size=<tmpfs_size> tmpfs /mnt/ramdisk* <tmpfs_size> = फाइल सिस्टम का आकार बाइट्स में * 10 3 (1, 1K, 1M, 1G, ...)
- स्रोत संग्रह के लिए * <path_to_archive> = पथ चलाएँ
mkdir /mnt/tmpfs/tmp && 7z x <path_to_source_archive> -o/mnt/tmpfs/tmp && tar cf archive.tar /mnt/tmpfs/tmp && rm -rf /mnt/tmpfs/tmp.7z
- रैमडिस्क के फाइल सिस्टम को अनमाउंट करें:
sudo umount
- रैमडिस्क के फाइल सिस्टम के लिए आरोह बिंदु निकालें:
sudo rmdir /mnt/tmpfs
.7zदूसरे कंप्यूटर पर फ़ाइल खोलने से क्या रोक रहा है?