cpio बेसिक एक्सट्रैक्ट कमांड, 'टार xzvf' बराबर?


12

मुझे एक संकुचित cpio फ़ाइल के रूप में एक यूनिक्स सॉफ्टवेयर वितरण प्राप्त हुआ है। फ़ाइलों को निकालने के लिए सबसे अच्छा कमांड क्या है?


आपने कब man cpioक्या देखा?

5
मैं देखता हूं: -i -p -t -t -B -c -f -F -H -M -n -v -V -W -b -b -s -s -E -E -O -l - 0-ए-आई-एल -आर -आर -एम -एम -यू -? --extract --create --pass-through --list --block-size = --io-size = --force-local -nonmatching --file = --format = --message = --numeric- uid-gid --quiet --rsh-command = --verbose --dot --warning = --swap --rename --swap-bytes --swap-halfwords --to-stdout --pattern-file = - -only-verify-crc --append --link --absolute-filenames - कोई-पूर्ण-फ़ाइल नाम --null --reset-access-time -dereference --owner = --make-directory --preserve- संशोधन-समय - कोई-संरक्षण-स्वामी
मार्क हैरिसन

जवाबों:



3
mkdir archive
cd archive
zcat ../archive.cpio.gz | cpio -idmv --no-absolute-filenames

हालांकि यह एक पुराना प्रश्न है, यह Google पर उच्च दिखाता है, इसलिए मैंने सोचा कि मैं इसे अपडेट कर सकता हूं। जब तक आप अपनी मशीन पर महत्वपूर्ण सिस्टम फ़ाइलों को अधिलेखित करने का इरादा रखते हैं, मैं सामान्य रूप से स्वीकृत उत्तर से सहमत हूं, लेकिन आपको "- पूर्ण-फ़ाइल नाम" जोड़ना चाहिए। इसके अलावा, व्यक्तिगत रूप से, मैं "gzip -cd" या "gunzip -c" पर "zcat" पसंद करता हूं।

अंत में, ध्यान दें कि आपको cpio को रूट के रूप में चलाने की आवश्यकता है (उदाहरण के लिए sudo) यदि आप एक रूट फाइल सिस्टम निकाल रहे हैं जिसमें डिवाइस नोड्स हैं।


0

इस विकिपीडिया पेज पर cpioकुछ अच्छे नोट्स हैं।
अधिक जानकारी के लिए, cpioमैनुअल को देखें ।

उसी विकिपीडिया पृष्ठ का एक लिंक अभिलेखागार के साथ तुलना पर चर्चा करता हैtar
और, यहां प्रारूप के साथ उपयोग करनेcpiotar का एक उदाहरण है ।


0

उदाहरण के लिए, वर्तमान निर्देशिका में / etc / httpd / की संग्रहीत सामग्री को निकालने के लिए, उपनिर्देशिकाएँ बनाना ।/etc/httpd/

mkdir restored-etc-httpd
cd restored-etc-httpd    
zcat archive.cpio.gz | cpio -idmv --no-absolute-filenames "*etc/httpd/*"

स्वीकृत उत्तर और मैट दोनों मेरे लिए मददगार थे, लेकिन तीन विवरणों के कारण मैं कुछ समय के लिए रुका हुआ था:

  1. मिलान पैटर्न को एक पैटर्न के रूप में काम करने के लिए उद्धृत करने की आवश्यकता है: पी
  2. विकल्प --no-absolute-filenamesको कमांड लाइन पर पैटर्न से पहले होना चाहिए
  3. चूंकि यह विकल्प /फ़ाइल नाम से अग्रणी को हटा देता है , इसलिए मिलान पैटर्न को अग्रणी को छोड़ना होगा/
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.