网站搜索

在 Linux 中从 ISO 映像提取和复制文件的 3 种方法


假设您的 Linux 服务器上有一个大型 ISO 文件,并且您想要从中访问、提取或复制一个文件。你怎么做呢?在 Linux 中,有几种方法可以做到这一点。

另请阅读:在 Linux 中从 ISO 创建可启动 USB 的 Bash 脚本

例如,您可以使用标准 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/

现在您可以进入已安装的目录 (/mnt/iso) 并访问文件或使用 cp 命令将文件复制到 /tmp 目录。

cd /mnt/iso
sudo cp md5sum.txt /tmp/
sudo cp -r ubuntu /tmp/

注意-r选项用于递归复制目录,如果您愿意,您还可以监视复制命令的进度。

使用 7zip 命令提取 ISO 内容

如果你不想挂载ISO文件,你可以简单地安装7zip,它是一个开源的压缩程序,用于打包或解压不同格式的文件,包括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]

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

7z x ubuntu-16.10-server-amd64.iso

注意:与 Linux mount 命令相比,7zip 似乎更快、更智能,足以打包或解压任何文件存档格式。

使用 isoinfo 命令提取 ISO 内容

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

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

isoinfo -i ubuntu-16.10-server-amd64.iso -l

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

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

注意:当 -x 选项提取到 stdout 时需要重定向。

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