ฉันได้รับการแจกจ่ายซอฟต์แวร์ Unix เป็นไฟล์ cpio ที่ถูกบีบอัด คำสั่งที่ดีที่สุดในการแตกไฟล์คืออะไร
ฉันได้รับการแจกจ่ายซอฟต์แวร์ Unix เป็นไฟล์ cpio ที่ถูกบีบอัด คำสั่งที่ดีที่สุดในการแตกไฟล์คืออะไร
คำตอบ:
gzip -cd foo.cpio.gz | cpio -idmv
mkdir archive
cd archive
zcat ../archive.cpio.gz | cpio -idmv --no-absolute-filenames
แม้ว่านี่จะเป็นคำถามเก่า แต่มันก็ปรากฏขึ้นสูงใน Google ดังนั้นฉันคิดว่าฉันน่าจะอัปเดต ฉันเห็นด้วยกับคำตอบที่ยอมรับโดยทั่วไป แต่คุณควรเพิ่ม "- no-absolute-filenames" เว้นแต่คุณต้องการจะเขียนทับไฟล์ระบบที่สำคัญในเครื่องของคุณ นอกจากนี้โดยส่วนตัวแล้วฉันชอบ "zcat" มากกว่า "gzip -cd" หรือ "gunzip -c"
สุดท้ายโปรดทราบว่าคุณต้องเรียกใช้ cpio ในฐานะรูท (เช่น sudo) หากคุณแยกระบบไฟล์รูทที่มีโหนดอุปกรณ์
หน้า Wikipedia นี้cpio
มีบันทึกที่ดี
สำหรับรายละเอียดเพิ่มเติมโปรดดูที่คู่มือcpio
การเชื่อมโยงจากหน้าวิกิพีเดียเดียวกันกล่าวถึงการเปรียบเทียบกับtar
ข้อมูลที่เก็บไว้
และนี่คือตัวอย่างของการใช้cpio
กับtar
รูปแบบ
ตัวอย่างเช่นหากต้องการแยกเนื้อหาที่เก็บถาวรของ / etc / httpd / ไปยังไดเรกทอรีปัจจุบันให้สร้างไดเรกทอรีย่อย. / etc / httpd/
mkdir restored-etc-httpd
cd restored-etc-httpd
zcat archive.cpio.gz | cpio -idmv --no-absolute-filenames "*etc/httpd/*"
คำตอบที่ได้รับการยอมรับและแมตต์เป็นประโยชน์กับฉัน แต่ฉันก็นิ่งงันอยู่พักหนึ่งเพราะรายละเอียดสามข้อ:
--no-absolute-filenames
จะต้องนำหน้ารูปแบบบนบรรทัดคำสั่ง/
ออกจากชื่อไฟล์รูปแบบการจับคู่จะต้องละเว้นส่วนนำหน้าด้วย/
man cpio
สิ่งที่คุณเห็น