คำสั่งแยกพื้นฐาน cpio เทียบเท่ากับ 'tar xzvf' หรือไม่


12

ฉันได้รับการแจกจ่ายซอฟต์แวร์ Unix เป็นไฟล์ cpio ที่ถูกบีบอัด คำสั่งที่ดีที่สุดในการแตกไฟล์คืออะไร


เมื่อคุณทำman cpioสิ่งที่คุณเห็น

5
ฉันเห็น: -i -o -p -t -B -c -C -f -F -H -M -n -v -V -V -W -b -r -s -S -E -A -O -l - 0 -a -I -L -R -d -m -u -? - ดึง - สร้าง - ส่งผ่าน - รายการ - บล็อก - ขนาด = - ขนาด - = - แรง - ท้องถิ่น - ไม่จับคู่ - ไฟล์ = - รูปแบบ = - ข้อความ = - ตัวเลข - uid-gid --quiet --rsh-command = --verbose --dot --warning = --swap --rename --swap-bytes --swap-halfwords --to-stdout --pattern-file = - เพียงตรวจสอบซีอาร์ซี - ผนวก - เชื่อมโยง - ชื่อไฟล์ - ไม่มีชื่อไฟล์สัมบูรณ์ - เป็นโมฆะ - ตั้งค่าการเข้าถึงเวลา - - อ้างอิง - เจ้าของ = - ทำให้ไดเรกทอรี - รักษา - การปรับเปลี่ยนเวลา - ไม่มี - สงวนเจ้าของ - หยาบ
Mark Harrison

คำตอบ:



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

แม้ว่านี่จะเป็นคำถามเก่า แต่มันก็ปรากฏขึ้นสูงใน Google ดังนั้นฉันคิดว่าฉันน่าจะอัปเดต ฉันเห็นด้วยกับคำตอบที่ยอมรับโดยทั่วไป แต่คุณควรเพิ่ม "- no-absolute-filenames" เว้นแต่คุณต้องการจะเขียนทับไฟล์ระบบที่สำคัญในเครื่องของคุณ นอกจากนี้โดยส่วนตัวแล้วฉันชอบ "zcat" มากกว่า "gzip -cd" หรือ "gunzip -c"

สุดท้ายโปรดทราบว่าคุณต้องเรียกใช้ cpio ในฐานะรูท (เช่น sudo) หากคุณแยกระบบไฟล์รูทที่มีโหนดอุปกรณ์


0

หน้า Wikipedia นี้cpioมีบันทึกที่ดี
สำหรับรายละเอียดเพิ่มเติมโปรดดูที่คู่มือcpio

การเชื่อมโยงจากหน้าวิกิพีเดียเดียวกันกล่าวถึงการเปรียบเทียบกับtarข้อมูลที่เก็บไว้
และนี่คือตัวอย่างของการใช้cpioกับtarรูปแบบ


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. รูปแบบการจับคู่จะต้องถูกยกมาให้ทำงานเป็นรูปแบบ: P
  2. ตัวเลือก--no-absolute-filenamesจะต้องนำหน้ารูปแบบบนบรรทัดคำสั่ง
  3. เนื่องจากตัวเลือกนั้นจะลบส่วนนำ/ออกจากชื่อไฟล์รูปแบบการจับคู่จะต้องละเว้นส่วนนำหน้าด้วย/
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.