Linux mkisofs 命令实战示例

LinuxBeginner
立即练习

介绍

在本实验中,我们将探索 Linux 的 mkisofs 命令,这是一个用于创建 ISO 镜像的强大工具。mkisofs 命令是 cdrkit 软件包的一部分,该软件包提供了一组用于处理 CD/DVD 媒体的工具。我们将学习如何创建一个基本的 ISO 镜像,并通过添加目录和文件来自定义它。mkisofs 命令用于从目录树创建 ISO 镜像文件,然后可以将其刻录到 CD 或 DVD 上,或在虚拟机或其他环境中使用。

要使用 mkisofs 命令,我们首先需要安装 cdrkit 软件包。安装完成后,我们可以通过指定输出文件和包含 ISO 内容的目录来创建一个基本的 ISO 镜像。我们还可以通过向内容目录添加目录和文件来自定义 ISO 镜像。

Linux 命令速查表

mkisofs 命令介绍

在这一步中,我们将探索 mkisofs 命令,这是一个在 Linux 上创建 ISO 镜像的强大工具。mkisofs 命令是 cdrkit 软件包的一部分,该软件包提供了一组用于处理 CD/DVD 媒体的工具。

mkisofs 命令用于从目录树创建 ISO 镜像文件。这个 ISO 镜像可以刻录到 CD 或 DVD 上,也可以在虚拟机或其他环境中使用。

让我们从安装包含 mkisofs 命令的 cdrkit 软件包开始:

sudo apt-get update
sudo apt-get install -y cdrkit

示例输出:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libfile-listing-perl libhtml-parser-perl libhtml-tagset-perl libhttp-cookies-perl libhttp-date-perl libhttp-message-perl libio-html-perl libio-socket-ssl-perl libnet-http-perl liburi-perl
Suggested packages:
  libdigest-md5-perl libdigest-sha-perl
The following NEW packages will be installed:
  cdrkit libfile-listing-perl libhtml-parser-perl libhtml-tagset-perl libhttp-cookies-perl libhttp-date-perl libhttp-message-perl libio-html-perl libio-socket-ssl-perl libnet-http-perl liburi-perl
0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.

现在我们已经安装了 cdrkit 软件包,可以使用 mkisofs 命令来创建 ISO 镜像。

创建基本 ISO 镜像

在这一步中,我们将使用 mkisofs 命令创建一个基本的 ISO 镜像。

首先,让我们创建一个目录,作为 ISO 镜像的内容:

mkdir ~/project/iso-content

现在,我们可以使用 mkisofs 命令来创建 ISO 镜像:

sudo mkisofs -o ~/project/basic.iso ~/project/iso-content

该命令将在 ~/project 目录下创建一个名为 basic.iso 的 ISO 镜像文件,使用 ~/project/iso-content 目录中的内容。

示例输出:

Succes - wrote /home/labex/project/basic.iso - 0 bytes, 0.000s

-o 选项指定输出文件名,最后一个参数是包含要包含在 ISO 镜像中的文件的目录。

现在,我们可以验证 ISO 镜像是否成功创建:

ls -l ~/project/basic.iso

示例输出:

-rw-r--r-- 1 labex labex 0 Apr 18 12:34 /home/labex/project/basic.iso

使用目录和文件自定义 ISO 镜像

在这一步中,我们将学习如何通过包含目录和文件来自定义 ISO 镜像。

首先,让我们创建一个目录结构以及一些我们希望包含在 ISO 镜像中的文件:

mkdir -p ~/project/iso-content/documents
touch ~/project/iso-content/documents/file1.txt
touch ~/project/iso-content/documents/file2.txt

现在,我们可以使用 mkisofs 命令来创建包含自定义内容的 ISO 镜像:

sudo mkisofs -o ~/project/custom.iso -V "My Custom ISO" -p "Labex" -publisher "Labex" ~/project/iso-content

以下是各个选项的含义:

  • -o:指定输出文件名。
  • -V:设置 ISO 镜像的卷标。
  • -p:设置准备者信息。
  • -publisher:设置发布者信息。
  • 最后一个参数是包含要包含在 ISO 镜像中的文件的目录。

示例输出:

Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
0.01% done, estimate finish Tue Apr 18 12:34:56 2023
0.02% done, estimate finish Tue Apr 18 12:34:56 2023
0.03% done, estimate finish Tue Apr 18 12:34:56 2023
[...]
100.00% done, estimate finish Tue Apr 18 12:34:56 2023
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
wrote /home/labex/project/custom.iso - 4096 blocks

现在,让我们验证自定义的 ISO 镜像是否成功创建:

ls -l ~/project/custom.iso

示例输出:

-rw-r--r-- 1 labex labex 2097152 Apr 18 12:34 /home/labex/project/custom.iso

总结

在本实验中,我们探索了 mkisofs 命令,这是一个在 Linux 上创建 ISO 镜像的强大工具。我们首先安装了包含 mkisofs 命令的 cdrkit 软件包。然后,我们使用 mkisofs 命令从目录生成 ISO 文件,创建了一个基本的 ISO 镜像。最后,我们学习了如何通过向内容中添加目录和文件来自定义 ISO 镜像。

Linux 命令速查表