Suppose you have a very large ISO image file on your Linux server and you want to open it and then extract or copy one of the files. What would you do?
In fact, there are many ways to achieve this requirement in Linux systems.
For example, you can use the traditional mount command to mount the ISO image file as a loop device in read-only mode, and then copy the file to another directory.
Extract ISO image file under Linux system
In order to complete this test, you must have an ISO image file (I use ubuntu-16.10-server-amd64.iso system image file) and the ISO image file for mounting and extracting Directory.
First, use the following command to create a mounting directory to mount the ISO image file:
$ sudo mkdir /mnt/iso
After the directory is created, you can run the following command to easily mount the ubuntu-16.10-server-amd64.iso system image file , and view its contents.
$ sudo mount -o loop ubuntu-16.10-server-amd64.iso /mnt/iso $ ls /mnt/iso/
Mount the ISO image in the Linux system
Now you can enter the mounting directory /mnt/iso, view the files or use the cp command to copy the files to the /tmp directory.
$ cd /mnt/iso $ sudo cp md5sum.txt /tmp/ $ sudo cp -r ubuntu /tmp/
Copy files in ISO image in Linux system
Note: -r option is used to recursively copy the contents of the directory. If necessary, you can also monitor the completion progress of the copy command.
Use the 7zip command to extract the contents of the ISO image
If you do not want to mount the ISO image, you can simply install a 7zip tool, which is a free and open source decompression software for compressing or decompressing files in different types 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]
After the 7zip software is installed, you can use the 7z command to extract the contents of the ISO image file.
$ 7z x ubuntu-16.10-server-amd64.iso
Use the 7zip tool to extract files in the ISO image under Linux system
Note: Compared with the Linux mount command, 7zip is faster and smarter when compressing and decompressing files in any format.
Use the isoinfo command to extract the contents of the ISO image file
Although the isoinfo command is used to list the contents of the iso9660 image file in the form of a directory, you can also use this program to extract files.
As I said, the isoinfo program will display a directory listing, so the contents of the ISO image file are listed first.
$ isoinfo -i ubuntu-16.10-server-amd64.iso -l
List the contents of ISO files in Linux
Now you can extract single files from ISO image files as follows:
$ isoinfo -i ubuntu-16.10-server-amd64.iso -x MD5SUM.TXT > MD5SUM.TXT
Note: Because -x decompresses to standard output, redirection must be used Extract the specified file.
Extract individual files from ISO image files