從 ISO 鏡像中提取和複製檔案的絕招(Linux)
導讀假設你的 Linux 伺服器上有一個超大的 ISO 鏡像檔案,你想要開啟它,然後提取或者複製其中的一個檔案。你會怎麼做呢?其實在 Linux 系統裡,有很多方法來實現這個要求。
比如說,你可以使用傳統的 mount 命令以唯讀方式把 ISO 鏡像檔案載入為 loop 裝置,然後再把檔案複製到另一個目錄。
在 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/
在 Linux 系統裡掛載 ISO 鏡像現在你就可以進入到掛載目錄 /mnt/iso 裡,查看檔案或者使用cp 命令把檔案複製到 /tmp 目錄了。
$ cd /mnt/iso$ sudo cp md5sum.txt /tmp/$ sudo cp -r ubuntu /tmp/
在 Linux 系統中複製 ISO 鏡像裡的檔案注意:"-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 工具在 Linux 系統下提取 ISO 鏡像裡的檔案注意:跟 Linux 的 mount 命令相比起來,7zip 在壓縮和解壓縮任何格式的檔案時速度更快,更智能。
使用 isoinfo 命令來提取 ISO 鏡像檔案內容雖然isoinfo命令是用來以目錄的形式列出 iso9660 鏡像檔案的內容,但是你也可以使用該程式來提取檔案。
我說過,isoinfo 程式會顯示目錄列表,因此先列出 ISO 鏡像檔案的內容。
$ isoinfo -i ubuntu-16.10-server-amd64.iso -l
Linux 裡列出 ISO 檔案的內容現在你可以按如下的方式從 ISO 鏡像檔案中提取單檔案:
$ isoinfo -i ubuntu-16.10-server-amd64.iso -x MD5SUM.TXT > MD5SUM.TXT
注意:因為"-x"解壓到標準輸出,必須使用重新導向來提取指定檔案。
從 ISO 鏡像檔案中提取單個檔案就到這裡吧,其實還有很多種方法來實現這個要求,如果你還知道其它有用的命令或工具來提取複製出 ISO 鏡像檔案中的檔案,請在下面的評論中跟大家分享下。
原文來自:https://linux.cn/article-7992-1.html
本文地址:http://www.linuxprobe.com/linux-iso-copy.html