天天看點

在 Linux 系統下從 ISO 鏡像中提取和複制檔案的 3 種方法

假設你的 linux 伺服器上有一個超大的 iso 鏡像檔案,你想要打開它,然後提取或者複制其中的一個檔案。你會怎麼做呢?

其實在 linux 系統裡,有很多方法來實作這個要求。

比如說,你可以使用傳統的 mount 指令以隻讀方式把 iso 鏡像檔案加載為 loop 裝置,然後再把檔案複制到另一個目錄。

<a target="_blank"></a>

為了完成該測試,你得有一個 iso 鏡像檔案(我使用 ubuntu-16.10-server-amd64.iso 系統鏡像檔案)以及用于挂載和提取 iso 鏡像檔案的目錄。

首先,使用如下指令建立一個挂載目錄來挂載 iso 鏡像檔案:

<code>$ sudo mkdir /mnt/iso</code>

目錄建立完成後,你就可以運作如下指令很容易地挂載 ubuntu-16.10-server-amd64.iso 系統鏡像檔案,并檢視其中的内容。

<code>$ sudo mount -o loop ubuntu-16.10-server-amd64.iso /mnt/iso</code>

<code>$ ls /mnt/iso/</code>

在 Linux 系統下從 ISO 鏡像中提取和複制檔案的 3 種方法

在 linux 系統裡挂載 iso 鏡像

<code>$ cd /mnt/iso</code>

<code>$ sudo cp md5sum.txt /tmp/</code>

<code>$ sudo cp -r ubuntu /tmp/</code>

在 Linux 系統下從 ISO 鏡像中提取和複制檔案的 3 種方法

在 linux 系統中複制 iso 鏡像裡的檔案

如果不想挂載 iso 鏡像,你可以簡單地安裝一個 7zip 工具,這是一個自由而開源的解壓縮軟體,用于壓縮或解壓不同類型格式的檔案,包括 tar、xz、gzip、zip、bzip2 等等。

<code>$ sudo apt-get install p7zip-full p7zip-rar [on debian/ubuntu systems]</code>

<code>$ sudo yum install p7zip p7zip-plugins [on centos/rhel systems]</code>

7zip 軟體安裝完成後,你就可以使用<code>7z</code> 指令提取 iso 鏡像檔案裡的内容了。

在 Linux 系統下從 ISO 鏡像中提取和複制檔案的 3 種方法

使用 7zip 工具在 linux 系統下提取 iso 鏡像裡的檔案

注意:跟 linux 的 mount 指令相比起來,7zip 在壓縮和解壓縮任何格式的檔案時速度更快,更智能。

雖然 <code>isoinfo</code> 指令是用來以目錄的形式列出 iso9660 鏡像檔案的内容,但是你也可以使用該程式來提取檔案。

我說過,isoinfo 程式會顯示目錄清單,是以先列出 iso 鏡像檔案的内容。

<code>$ isoinfo -i ubuntu-16.10-server-amd64.iso -l</code>

在 Linux 系統下從 ISO 鏡像中提取和複制檔案的 3 種方法

linux 裡列出 iso 檔案的内容

現在你可以按如下的方式從 iso 鏡像檔案中提取單檔案:

<code>$ isoinfo -i ubuntu-16.10-server-amd64.iso -x md5sum.txt &gt; md5sum.txt</code>

注意:因為 <code>-x</code> 解壓到标準輸出,必須使用重定向來提取指定檔案。

在 Linux 系統下從 ISO 鏡像中提取和複制檔案的 3 種方法

從 iso 鏡像檔案中提取單個檔案

原文釋出時間為:2017-11-27

本文來自雲栖社群合作夥伴“linux中國”

繼續閱讀