วิธีที่เร็วที่สุดในการแยก ISO คืออะไร?


34

ขณะนี้ฉันกำลังเมาท์ ISO ไปยังไดเรกทอรี (อ่านได้อย่างเดียว) (โดยใช้mount -o loopคำสั่ง) แล้วคัดลอกเนื้อหาไปยังไดเรกทอรีปกติอื่น ใช้เวลานานเนื่องจาก ISO มีขนาดใหญ่ นี่เป็นวิธีเดียวที่จะทำเช่นนั้นหรือมีทางเลือกอื่นบ้าง?


คุณสามารถดูวิธีแก้ปัญหาของฉัน: superuser.com/a/1180728/541106
MewX

นี่ไม่ใช่วิธีที่ไม่ดีเนื่องจาก ISO ติดตั้งอยู่ใน RAM ของระบบ การแตกด้วยเครื่องมือควรใช้เวลาเดียวกัน
dubis

คำตอบ:


59

คุณสามารถทำได้โดยซอฟต์แวร์ 7zip:

sudo apt-get install p7zip-full

7z x iso_file.iso

บน Fedora:

7za x iso_file.iso


1
ทำงานให้ฉันด้วย Windows 8.1 ISO ซึ่ง (ใน Gnome) ทั้ง Nautilus และ Archive Manager ไม่สามารถแสดงเนื้อหาได้
krlmlr

4
ระวัง "7za x" จะไม่ทำงานเฉพาะ "7z x" ขอบคุณ!
lzap

7za ทำงานบน fedora, 7z ไม่ได้
Adam Kurkiewicz

ตามนี้ , 7zจะไม่ดึงไฟล์ทั้งหมดที่จำเป็น
Ploni

7

bsdtar(ส่วนหนึ่งของแบบพกพาlibarchive ) สามารถแยกจำนวนมากของรูปแบบไฟล์ สิ่งนี้มีประโยชน์สำหรับผู้ที่นิ้วมือคุ้นเคยกับตัวเลือกของน้ำมันดิน ( เพื่อแยกออกเพื่อตรวจสอบเนื้อหา) bsdtar xfp foo.isobsdtar tf yoyoma.rpm

นอกจากนี้ยังมี bsdcpio สำหรับผู้ที่คุ้นเคยกับcpioการใช้งาน

ลินุกซ์จำนวนมาก distros ตอนนี้รวมถึง bsdtar, bsdcpio และ libarchive (มักจะเป็นแพ็คเกจแยกต่างหากแม้ว่าทั้งหมดจะมาจากรหัส libarchive)


2

การติดตั้งรูปภาพหรือใช้ 7zip ตามคำตอบแล้วอาจเป็นเพียงสองวิธีเท่านั้น ลองพวกเขาและตรวจสอบว่าหนึ่งเร็วกว่าอื่น ๆ

หากคุณต้องการบางสิ่งที่เร็วกว่าจริง ๆ คุณควรมองไปในทิศทางที่แตกต่าง: แทนที่จะเปลี่ยนซอฟต์แวร์ลองใช้ดิสก์ที่ต่างกัน: อันหนึ่งสำหรับอิมเมจต้นทางและอีกอันสำหรับไดเร็กตอรี่เป้าหมาย หรือพยายามหลีกเลี่ยงการคัดลอกไฟล์เหล่านี้และเก็บไว้ในรูปแบบ iso


FYI: การใช้mount -o loopและrsync -a /mnt/iso /root/isoการคัดลอกที่ ~ 100MB / s จาก SATA HDD ภายในไปยัง SATA SSD ภายใน
rwenz3l

2

unisoเป็นสคริปต์ Python ที่ใช้ประโยชน์จากisMp3เพื่อแยกเนื้อหาจากกระแส ISO มันต้องมีpythoric มันค่อนข้างแฮ็ก แต่มันก็ทำงานเสร็จแล้ว

ฉันเป็นผู้เขียน uniso และ pythoric


1

หากคุณต้องการแยกเฉพาะบางไฟล์แทนที่จะเป็นเนื้อหาทั้งหมดให้ลองใช้mcMidnightCommander ในเชลล์ นอกจากนี้ยังดูเป็นระเบียบ.zip/tar.gz/bz2ด้วย


1

ทำไมไม่ใช้:

isoinfo -R -X

เพื่อแยกไฟล์ทั้งหมดหรือ

isoinfo -R -X -find find-options

แยกไฟล์ที่ควบคุมโดยตัวเลือกค้นหา?


2
หมายเหตุว่ามันถือว่าisoinfoจาก cdrtoolsschily สิ่งนี้จะไม่ทำงานกับสิ่งที่พบใน Debian (จากcdrkitDebian forkของcdrtools(สำหรับเหตุผลด้านสิทธิ์การใช้งาน AFAICT))
Stéphane Chazelas

2
ถูกต้อง Debian สร้างทางแยกในเดือนพฤษภาคม 2004 และไม่เคยดำเนินการใด ๆ ที่เป็นประโยชน์ตั้งแต่นั้นมา การปรับปรุงทั้งหมดในรหัสต้นฉบับนับตั้งแต่ถูกเพิกเฉยและเป็นจำนวนมาก: มากกว่า 60% ของรหัสปัจจุบันในโครงการ cdrtools มาจาก 2004 ที่ผ่านมาในคำอื่น ๆ มากกว่า 50% ของคุณสมบัติของ cdrtools ดั้งเดิมล่าสุดหายไป ในส้อม Debian
Schily

1
BTW: Debian fork ถูกสร้างขึ้นในเดือนพฤษภาคม 2004 ชื่อ cdrkit ถูกใช้หลังจากที่ฉันถาม Debian ในเดือนกันยายน 2549 ไม่ควรใช้ชื่อดั้งเดิมอีกต่อไปสำหรับ fork ที่มีข้อบกพร่องเฉพาะ Debian มากกว่า 100 รายการ เนื่องจาก distros ทั้งหมดที่ถามนักกฎหมายเฉพาะส่ง cdrtools ดั้งเดิมฉันไม่สามารถดูหลักฐานการออกใบอนุญาตได้
schily

หากต้องสารภาพฉันไม่สามารถพูดได้ว่าฉันเข้าใจปัญหาใบอนุญาต
Stéphane Chazelas

1
เนื่องจากฉันปฏิบัติตามข้อกำหนดทั้งหมดอย่างละเอียดจากใบอนุญาต (ฉันตรวจสอบกับทนายความหลายคน) ฉันไม่เห็นปัญหาใบอนุญาต จากข้อเท็จจริงที่ว่า Debian อ้างว่ามีปัญหาเรื่องใบอนุญาตมานานก่อนที่ใบอนุญาตจะถูกเปลี่ยนไปฉันจึงสงสัยว่า "ปลาเฮอริ่งแดง" ที่นี่ เพื่อดำเนินการตามกำหนดเวลาของฉันจากด้านบน: Debian อ้างว่ามีปัญหาสิทธิ์ใช้งานจากการเปลี่ยนแปลงที่ไม่มีอยู่ในฤดูใบไม้ร่วงปี 2005 แต่การเปลี่ยนใบอนุญาตเกิดขึ้นเมื่อวันที่ 15 พฤษภาคม 2549 เพื่อป้องกันการโจมตีจาก Eduard Bloch และJörg Jaspert
Schily

1

สำหรับผู้ที่ใช้เครื่องมือจัดการไฟล์ Thunar บน linux และต้องการโซลูชันที่ง่ายและรวดเร็ว:

  1. เปิด thunar -> แก้ไข -> กำหนดค่าการกระทำที่กำหนดเอง ...
  2. สร้างรายการใหม่:
    • ชื่อ: แยก ISO ที่นี่
    • คำอธิบาย: แยกไฟล์ ISO
    • คำสั่ง: xfce4-terminal -e "7z x %f"
  3. เปิดแท็บเงื่อนไขลักษณะที่ปรากฏ
    • คำนำหน้า: *.iso
    • เลือกช่องทำเครื่องหมายเท่านั้น Other files
  4. บันทึกและคุณพร้อมที่จะแยกโดยใช้การคลิกขวา

โปรดทราบว่าการใช้เคล็ดลับนี้และขึ้นอยู่กับxfce4 ขั้วและp7zipแพคเกจ หากคุณกำลังใช้ตัวจัดการเก็บถาวรหรือเทอร์มินัลอื่น - แทนที่คำสั่งตามนั้น


1

AppImage type-1 images เป็นอิมเมจ ISO พร้อมไฟล์บีบอัดzisofs นี่คือสาเหตุที่ไม่ใช่ทุกแอปพลิเคชันที่สามารถแยกไฟล์ ISO ยังสามารถแตกรูปภาพ AppImage type-1


ตกลง แต่คำถามคือทำอย่างไรจึงจะได้ผลดี? + FAST
LinuxSecurityFreak

ฉันคิดว่าวิธีที่เร็วที่สุดคือการใช้เคอร์เนลเพื่อวนลูปจากนั้นคัดลอกไฟล์ออก ฉันยังไม่ได้ทำการวัดทางวิทยาศาสตร์
probono

0

ลองgenisoimageดู มันมีทุกอย่างที่คุณต้องการเพื่อจัดการกับ ISO หลังจากติดตั้งแล้วคุณจะสามารถใช้mcเพื่อดูเนื้อหา ISO ได้


เพียงอ่าน manpage สำหรับสิ่งนี้ ไม่พบตัวเลือกใด ๆ สำหรับการแยกเนื้อหาของ ISO ที่มีอยู่
Alex Jansen

0

ฉันได้เปรียบเทียบยูทิลิตี้ที่แนะนำสำหรับการเร็วที่สุด:

FILE=some_file.iso
DIR="./unpacked"

# time 7z x $FILE -o$DIR # see note below
# real    0m0,656s

time xorriso -osirrox on -indev $FILE -extract / $DIR
# real    0m5,528s

mkdir $DIR
time bsdtar xp -C $DIR -f $FILE
# real    0m5,376s

# mkdir $DIR; cd $DIR
# time isoinfo -R -X -i ../$FILE # see note below
# real    0m0,446s

พวกเขาทดสอบกับไฟล์ 780M ที่ nvme ssd ดังนั้นฉันจะติดกับ 7z เพราะสรุปความเชื่อมั่นและความเร็วที่รวดเร็ว

แก้ไข: ฉันรีบประมาณ 7z 7z และ isicut แยกไฟล์ แต่มันเสียหาย นั่นเป็นเหตุผลว่าทำไมพวกเขาถึงทำงานเร็วขนาดนี้ ฉันกำลังแตกไฟล์ AppImage จากนั้น bsdtar ดูเหมือนจะดีที่สุด


ฉันได้แสดงความคิดเห็นพวกเขาออก แต่ทิ้งให้ผู้อื่นสามารถใช้ข้อโต้แย้งของพวกเขาได้อย่างง่ายดาย นอกจากนี้อาจเป็นความคิดที่ดีที่จะลองใช้รูปภาพ iso อื่น ๆ (เช่นไม่ใช่ AppImage)
Ashark
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.