3 Ways to Extract and Copy Files from ISO Image in Linux

Let’s say you have a large ISO file on your Linux server and you wanted to access, extract or copy one single file from it. How do you do it? Well in Linux there are couple ways do it.

Read Also: A Bash Script to Create a Bootable USB from ISO in Linux

For example, you can use standard mount command to mount an ISO image in read-only mode using the loop device and then copy the files to another directory.

Mount or Extract ISO File in Linux

To do so, you must have an ISO file (I used ubuntu-16.10-server-amd64.iso ISO image) and mount point directory to mount or extract ISO files.

First create an mount point directory, where you will going to mount the image as shown:

$ sudo mkdir /mnt/iso

Once directory has been created, you can easily mount ubuntu-16.10-server-amd64.iso file and verify its content by running following command.

$ sudo mount -o loop ubuntu-16.10-server-amd64.iso /mnt/iso
$ ls /mnt/iso/
Mount ISO File in Linux

Mount ISO File in Linux

Now you can go inside the mounted directory (/mnt/iso) and access the files or copy the files to /tmp directory using cp command.

$ cd /mnt/iso
$ sudo cp md5sum.txt /tmp/
$ sudo cp -r ubuntu /tmp/
Copy Files From ISO File in Linux

Copy Files From ISO File in Linux

Note: The -r option used to copy directories recursively, if you want you can also monitor progress of copy command.

Extract ISO Content Using 7zip Command

If you don’t want to mount ISO file, you can simply install 7zip, is an open source archive program used to pack or unpack different number of formats including TAR, XZ, GZIP, ZIP, BZIP2, etc..

$ sudo apt-get install p7zip-full p7zip-rar [On Debian/Ubuntu systems]
$ sudo yum install p7zip p7zip-plugins      [On CentOS/RHEL systems]

Once 7zip program has been installed, you can use 7z command to extract ISO file contents.

$ 7z x ubuntu-16.10-server-amd64.iso
7zip - Extract ISO File Content in Linux

7zip – Extract ISO File Content in Linux

Note: As compared to Linux mount command, 7zip seems much faster and smart enough to pack or unpack any archive formats.

Extract ISO Content Using isoinfo Command

The isoinfo command is used for directory listings of iso9660 images, but you can also use this program to extract files.

As I said isoinfo program perform directory listing, so first list the content of ISO file.

$ isoinfo -i ubuntu-16.10-server-amd64.iso -l
List ISO Content in Linux

List ISO Content in Linux

Now you can extract a single file from an ISO image like so:

$ isoinfo -i ubuntu-16.10-server-amd64.iso -x MD5SUM.TXT > MD5SUM.TXT

Note: The redirection is needed as -x option extracts to stdout.

Extract Single File from ISO in Linux

Extract Single File from ISO in Linux

Well, there are many ways to do, if you know any useful command or program to extract or copy files from ISO file do share us via comment section.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Ravi Saive

I am Ravi Saive, creator of TecMint. A Computer Geek and Linux Guru who loves to share tricks and tips on Internet. Most Of My Servers runs on Open Source Platform called Linux. Follow Me: Twitter, Facebook and Google+

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

9 Responses

  1. Taylor Braun-Jones says:

    7z has a bug that truncates file names longer than 64 characters: https://sourceforge.net/p/sevenzip/bugs/1055/

    But `cmake -E tar` is based in libarchive so it gets the job done nicely.

    For example:

    # cmake -E tar xf CentOS.iso
    
  2. ISO_Brater says:

    I had problems to extract files with isoinfo.

    Solution:

    # isoinfo -i myiso.iso -R -x /SOME_FILE_IN_ROOT_OF_ISO
    

    Important was -R and the leading / for the path.

  3. umbrellafan says:

    Thanks – used this today and it worked first time.

  4. richud says:

    Best of all is probably BSD’s tar [uses libarchive]

    $ sudo apt install bsdtar
    $ bsdtar -xf youriso.iso -C targetfolder/
    

    For example, extracting an Ubuntu ISO, 7x extracts a [BOOT] folder, but omits the ubuntu -> ./ link
    bsdtar ok with link but no [BOOT] folder.

    neither seem to inherit permissions properly especially when using sticky bit.

  5. Mak1001 says:

    dd if=file.iso of=/dev/sdX

  6. Hervé Jégou says:

    Thank you. Useful and easy. I must say my first reaction was to put the ISO on a pc ;-)

  7. Daniel Vogel says:

    @Bill: If you have a linux server you usually have no Window Manager installed. Ergo: Everything goes through commands. That’s why you have to do this “complicated” way.

  8. Bill Turner says:

    Whats wrong with “Gnome Archive Manager” – I’m using Mint 18 – or one of the equivalents for other distros. Works very well and a lot less complicated than any of the above. I haven’t tried it but presume one could add files as well. Will give that a go some time and let you know.

  9. Martins Almeida says:

    Thank you for your article about managing and extractions iso files. However, most of the time that we have to deal with iso files, is to write them to a CD/DVD or to a pen drive, in order to use them to perform a subsequent software installation.

    It would be interesting to know similar Linux alternatives to the commonly used windows ImgBurn software.
    Regards.

Leave a Reply to richud Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.