Currently I'm mounting an ISO to a (readonly) directory (using mount -o loop command) and then copying the contents to another normal directory. This takes lot of time as the ISO is large. Is this the only way to do so, or there are some alternatives?

you can do this by 7zip software:

sudo apt-get install p7zip-full

7z x iso_file.iso

on Fedora:

7za x iso_file.iso

  • 1
    Worked for me with a Windows 8.1 ISO, for which (in Gnome) neither Nautilus nor Archive Manager were able to show the contents. – krlmlr Oct 24 '14 at 9:20
  • 4
    Watch out, "7za x" wont work, only "7z x". Thanks! – lzap Nov 10 '15 at 8:52
  • 7za works on fedora, 7z doesn't – Adam Kurkiewicz May 24 '16 at 13:21
  • As per this, 7z will not extract all the necessary files. – Ploni Jul 9 at 17:16

bsdtar (part of the portable libarchive [1]) can parse lots of file formats [2]. This is handy for those whose fingers are very familiar with tar's options (bsdtar xfp foo.iso to extract, bsdtar tf yoyoma.rpm to just inspect the contents).

There's also a bsdcpio for those who are familiar with cpio's usage.

Many linux distros now include bsdtar, bsdcpio and libarchive (often as separate packages although it all comes from the libarchive code).

[1] http://www.libarchive.org/ [2] https://github.com/libarchive/libarchive/wiki/LibarchiveFormats

Mounting the image, or using 7zip as already answered are probably the only two solutions. Try them and check if one is faster than the other.

If you really need something more fast, you should probably look in a different direction: instead of changing software, try to use different disks: one for the source image and one for the target directory. Or, try to avoid copying these files and just keep them in the iso image.

  • FYI: using mount -o loop and rsync -a /mnt/iso /root/iso is copying at ~100MB/s from an internal SATA HDD to an Internal SATA SSD. – rwenz3l Feb 17 at 10:29

uniso is a Python script that leverages isoinfo to extract the contents from an ISO stream. It requires pythoric. It's a bit hacky, but it gets the job done.

I'm the author of uniso and pythoric.

If you want to extract only some files instead of the whole content, try mc aka MidnightCommander in the shell. It's also neat to look into .zip/tar.gz/bz2 with.

Why not use:

isoinfo -R -X

to extract all files or

isoinfo -R -X -find find-options

to extract files controlled by the find options?

  • 2
    Note that it assumes the isoinfo from schily's cdrtools. That won't work with the one found on Debian (from cdrkit a Debian fork of cdrtools (for licensing reasons AFAICT)). – Stéphane Chazelas Aug 20 '15 at 11:50
  • 2
    Correct, Debian created a fork on May 2004 and did never make any useful progress since then. All enhancements in the original code since than was ignored and this was a lot: more than 60% of the current code in the cdrtools project is from past 2004. In other words more than 50% of the features of a recent original cdrtools is missing in the Debian fork. – schily Aug 20 '15 at 12:39
  • 1
    BTW: the Debian fork was created in May 2004, the name cdrkit was used after I asked Debian in September 2006 not to use the original name anymore for a fork with more than 100 Debian specific bugs. Given that all distros that asked a specialized lawyer ship the original cdrtools, I cannot see a proof for a license issue. – schily Aug 20 '15 at 12:49
  • If have to confess I can't say I understand the license issue. – Stéphane Chazelas Aug 20 '15 at 12:54
  • 1
    As I carefully follow all requirements from the licenses (I checked this with several lawyers), I cannot see a license issue. Given the fact that Debian claimed a license issue long before the licenses have been changed, I suspect a "red herring" here. To continue with my time-line from above: Debian claimed a license issue from a non existing change in Autumn 2005, but the license change happened on May 15 2006 in order to defend against the attacks from Eduard Bloch and Jörg Jaspert. – schily Aug 20 '15 at 14:37

For those who use Thunar file manager on linux and want easy and fast solution:

  1. Open thunar --> Edit --> Configure custom actions...
  2. Create new item:
    • Name: Extract ISO here
    • Description: Extracts ISO file
    • Command: xfce4-terminal -e "7z x %f"
  3. Open tab Appearance Conditions
    • Prefix: *.iso
    • Select only Other files checkbox
  4. Save it and you are ready to extract using right click.

Note that this trick uses and depends on xfce4-terminal and p7zip packages. If you are using different archive manager or terminal - replace commands accordingly.

Try genisoimage. It has all you need to handle ISOs. After you install it you'll also be able to use mc to view ISO content.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.