Cách nhanh nhất để trích xuất ISO là gì?


34

Hiện tại tôi đang gắn ISO vào thư mục (chỉ đọc) (sử dụng mount -o looplệnh) và sau đó sao chép nội dung sang thư mục bình thường khác. Điều này mất rất nhiều thời gian vì ISO là lớn. Đây có phải là cách duy nhất để làm như vậy, hoặc có một số thay thế?


Bạn có thể xem giải pháp của tôi: superuser.com/a/1180728/541106
MewX

Đây không phải là một cách tồi vì ISO được gắn vào RAM của hệ thống. Trích xuất với một công cụ nên mất cùng thời gian.
dubis

Câu trả lời:


59

bạn có thể làm điều này bằng phần mềm 7zip:

sudo apt-get install p7zip-full

7z x iso_file.iso

trên Fedora:

7za x iso_file.iso


1
Làm việc với tôi với Windows 8.1 ISO, trong đó (trong Gnome), cả Nautilus và Trình quản lý lưu trữ đều không thể hiển thị nội dung.
krlmlr

4
Xem ra, "7za x" sẽ không hoạt động, chỉ "7z x". Cảm ơn!
lzap

7za hoạt động trên fedora, 7z thì không
Adam Kurkiewicz

Theo điều này , 7zsẽ không trích xuất tất cả các tập tin cần thiết.
Ploni

7

bsdtar(một phần của libarchive di động ) có thể phân tích nhiều định dạng tệp . Điều này rất hữu ích cho những người có ngón tay rất quen thuộc với các tùy chọn của tar ( để giải nén, chỉ kiểm tra nội dung). bsdtar xfp foo.isobsdtar tf yoyoma.rpm

Ngoài ra còn có một bsdcpio cho những người quen thuộc với cpioviệc sử dụng.

Nhiều bản phân phối linux hiện nay bao gồm bsdtar, bsdcpio và libarchive (thường là các gói riêng biệt mặc dù tất cả đều xuất phát từ mã libarchive).


2

Gắn hình ảnh, hoặc sử dụng 7zip như đã trả lời có lẽ là hai giải pháp duy nhất. Hãy thử chúng và kiểm tra nếu cái này nhanh hơn cái kia.

Nếu bạn thực sự cần một cái gì đó nhanh hơn, có lẽ bạn nên nhìn theo một hướng khác: thay vì thay đổi phần mềm, hãy thử sử dụng các đĩa khác nhau: một cho hình ảnh nguồn và một cho thư mục đích. Hoặc, cố gắng tránh sao chép các tệp này và chỉ giữ chúng trong hình ảnh iso.


FYI: đang sử dụng mount -o looprsync -a /mnt/iso /root/isođang sao chép với tốc độ ~ 100MB / giây từ ổ cứng SATA bên trong sang ổ SSD SATA bên trong.
rwenz3l

2

uniso là một tập lệnh Python tận dụng isoinfo để trích xuất nội dung từ luồng ISO. Nó đòi hỏi pythoric . Đó là một chút hack, nhưng nó hoàn thành công việc.

Tôi là tác giả của uniso và pythoric.


1

Nếu bạn chỉ muốn giải nén một số tệp thay vì toàn bộ nội dung, hãy thử mcaka MidnightCommander trong trình bao. Nó cũng gọn gàng để xem xét .zip/tar.gz/bz2với.


1

Tại sao không sử dụng:

isoinfo -R -X

để giải nén tất cả các tập tin hoặc

isoinfo -R -X -find find-options

để giải nén tập tin được kiểm soát bởi các tùy chọn tìm?


2
Lưu ý rằng nó giả định isoinfotừ schily cdrtools. Điều đó sẽ không hoạt động với cái được tìm thấy trên Debian (từ cdrkitmột nhánh của Debian cdrtools(vì lý do cấp phép AFAICT)).
Stéphane Chazelas

2
Chính xác, Debian đã tạo ra một ngã ba vào tháng 5 năm 2004 và không bao giờ đạt được tiến bộ hữu ích nào kể từ đó. Tất cả các cải tiến trong mã gốc đã bị bỏ qua và điều này rất nhiều: hơn 60% mã hiện tại trong dự án cdrtools là từ năm 2004. Nói cách khác, hơn 50% các tính năng của một cdrtools ban đầu gần đây bị thiếu trong ngã ba Debian.
schily

1
BTW: ngã ba Debian được tạo vào tháng 5 năm 2004, tên cdrkit đã được sử dụng sau khi tôi yêu cầu Debian vào tháng 9 năm 2006 không sử dụng tên gốc nữa cho một ngã ba có hơn 100 lỗi cụ thể của Debian. Cho rằng tất cả các distro đã yêu cầu một luật sư chuyên ngành gửi cdrtools ban đầu, tôi không thể thấy bằng chứng cho vấn đề giấy phép.
schily

Nếu phải thú nhận tôi không thể nói tôi hiểu vấn đề giấy phép.
Stéphane Chazelas

1
Khi tôi cẩn thận làm theo tất cả các yêu cầu từ giấy phép (tôi đã kiểm tra điều này với một số luật sư), tôi không thể thấy vấn đề giấy phép. Với thực tế là Debian đã tuyên bố vấn đề giấy phép từ lâu trước khi giấy phép bị thay đổi, tôi nghi ngờ "cá trích đỏ" ở đây. Để tiếp tục dòng thời gian của tôi từ trên xuống: Debian tuyên bố vấn đề giấy phép từ một thay đổi không tồn tại vào Mùa thu năm 2005, nhưng thay đổi giấy phép đã xảy ra vào ngày 15 tháng 5 năm 2006 để bảo vệ chống lại các cuộc tấn công từ Eduard Bloch và Jörg Jaspert.
schily

1

Đối với những người sử dụng trình quản lý tệp Thunar trên linux và muốn giải pháp nhanh chóng và dễ dàng:

  1. Mở thunar -> Chỉnh sửa -> Định cấu hình hành động tùy chỉnh ...
  2. Tạo mục mới:
    • Tên: Trích xuất ISO tại đây
    • Mô tả: Trích xuất tập tin ISO
    • Chỉ huy: xfce4-terminal -e "7z x %f"
  3. Mở tab Điều kiện xuất hiện
    • Tiếp đầu ngữ: *.iso
    • Chọn chỉ Other files hộp kiểm
  4. Lưu nó và bạn đã sẵn sàng để giải nén bằng cách nhấp chuột phải.

Lưu ý rằng thủ thuật này sử dụng và phụ thuộc vào các gói xfce4-terminalp7zip . Nếu bạn đang sử dụng trình quản lý lưu trữ hoặc thiết bị đầu cuối khác nhau - hãy thay thế các lệnh tương ứng.


1

Hình ảnh loại 1 của AppImage là hình ảnh ISO với các tệp nén zisofs . Đây là lý do tại sao không phải mọi ứng dụng có thể trích xuất các tệp ISO cũng có thể trích xuất hình ảnh loại 1 của AppImage.


Ok, nhưng câu hỏi là LÀM THẾ NÀO ĐỂ KIẾM ĐƯỢC? + NHANH CHÓNG.
LinuxSecurityFreak

Tôi nghĩ cách nhanh nhất là sử dụng kernel để loop-mount và sau đó sao chép các tập tin ra. Tôi đã không thực hiện các phép đo khoa học, mặc dù.
probono

0

Hãy thử genisoimage. Nó có tất cả những gì bạn cần để xử lý ISO. Sau khi bạn cài đặt, bạn cũng có thể sử dụng mcđể xem nội dung ISO.


Chỉ cần đọc qua trang web cho việc này. Không thể tìm thấy bất kỳ tùy chọn nào để trích xuất nội dung của ISO hiện có.
Alex Jansen

0

Tôi đã điểm chuẩn các tiện ích được đề xuất cho nhanh nhất:

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

Họ đã được thử nghiệm với tệp 780M tại nvme ssd. Vì vậy, tôi sẽ gắn bó với 7z, vì sự đồng bộ và tốc độ nhanh.

Chỉnh sửa: Tôi đã vội khoảng 7z. 7z và isoinfo trích xuất các tập tin, nhưng chúng bị hỏng. Đó là lý do tại sao họ làm việc nhanh như vậy tôi nghĩ. Tôi đã giải nén một tập tin AppImage. Sau đó bsdtar có vẻ tốt nhất.


Tôi đã nhận xét họ, nhưng để lại cho những người khác có thể dễ dàng sử dụng các đối số của họ. Ngoài ra có lẽ nên thử với hình ảnh iso khác (không phải là AppImage).
Ashark
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.