在Linux中從ISO映像中提取和複製文件的3種方法

讓我們假設您的Linux伺服器上有一個大型的ISO檔案,您想要存取、解壓縮或從中複製單個文件。您該如何做?在Linux中,有幾種方法可以做到這一點。

閱讀也使用Bash腳本在Linux中從ISO創建可啟動的USB

例如,您可以使用標準的mount命令以唯讀模式掛載ISO映像,使用循環設備,然後將文件複製到另一個目錄中。

在Linux中掛載或提取ISO檔案

為此,您必須擁有一個ISO檔案(我使用了ubuntu-16.10-server-amd64.iso ISO映像)和掛載點目錄以掛載或提取ISO文件。

首先創建一個掛載點目錄,在那裡您將會掛載映像,如下所示:

$ sudo mkdir /mnt/iso

一旦目錄被創建,您可以輕鬆地掛載ubuntu-16.10-server-amd64.iso文件並通過運行以下命令來驗證其內容。

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

現在您可以進入已掛載的目錄(/mnt/iso)並訪問文件或使用cp命令將文件複製到/tmp目錄中。

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

注意: 使用-r选项递归复制目录,如果需要,您也可以监视复制命令的进度

使用7zip命令提取ISO内容

如果您不想挂载ISO文件,您可以简单地安装7zip,这是一个开源的存档程序,用于打包或解包不同格式的文件,包括TAR、XZ、GZIP、ZIP、BZIP2等。

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

一旦安装了7zip程序,您可以使用7z命令来提取ISO文件内容。

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

注意: 与Linux的mount命令相比,7zip似乎更快速,足够智能地打包或解包任何存档格式。

使用isoinfo命令提取ISO内容

isoinfo命令用于列出iso9660镜像的目录,但您也可以使用此程序来提取文件。

正如我所说的isoinfo程序执行目录列表,因此首先列出ISO文件的内容。

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

现在您可以从ISO镜像中提取单个文件,如下所示:

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

注意: 需要重定向,因为-x选项将提取到stdout。

Extract Single File from ISO in Linux

嗯,有许多方法可以做到,如果您知道任何有用的命令或程序可以从ISO文件中提取或复制文件,请通过评论部分与我们分享。

Source:
https://www.tecmint.com/extract-files-from-iso-files-linux/