.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
दूसरे कंप्यूटर पर फ़ाइल खोलने से क्या रोक रहा है?