Linux KVM/Qemu Virt自定义教程

今天我将向大家展示一个实用的工具,用于管理Linux虚拟机和磁盘。通过虚拟化,人们开始在个人或公司PC中使用大量虚拟机。但是管理它们是困难的。我也面临这些困难。所以我寻找一个工具来帮助我,尤其是在更新方面。我附带了virt customize,这是libguestfs工具包中的一个工具。我们开始吧。

null

安装virt customize

为了使用virt customize命令,我们将安装libguestfs工具包。

为Ubuntu、Debian、Mint、Kali安装

$ sudo apt install libguestfs-tools
Install For Ubuntu, Debian, Mint, Kali
为Ubuntu、Debian、Mint、Kali安装

为Fedora、CentOS和Red Hat安装

$ sudo yum install libguestfs-tools-c

或者

$ sudo dnf install libguestfs-tools-c

加载图像

更新现有磁盘映像Virt customize打开磁盘,然后查找上次更新种子,然后尝试运行此发行版使用的更新命令。尚不支持Windows映像,但可以使用run命令更新Windows映像。在这里您可以为远程磁盘映像创建URI。自动检测磁盘格式。在加载图像时,我们可能会遇到一些错误,从而阻止加载图像。这通常是与权限相关的错误,可以通过 sudo 命令。

$ sudo virt-customize -a opensuse12.qcow2
Load Image
加载图像

将ISO安装到图像

我们还可以通过将ISO映像附加到VM映像中来运行交互式shell。我们将使用 --attach 命令提供ISO文件。

$ sudo virt-customize --attach fedora30.iso -a opensuse12.qcow2

连接Libvirt或Hypervisor

要连接虚拟机监控程序并运行virt customize,请使用带有虚拟机监控程序URI的-c选项,该选项位于本地libvirtd,并使用-d选项指定域名或UUID。在本例中,我们将连接本地hypervisor并打开名为Debian disk image的VM。

$ virt-customize -c qemu:///system -d debian[   0.0] Examining the guest ...[  35.0] Setting a random seed[  35.0] Finishing off

在测试模式下运行操作

在映像内执行的所有操作都将是持久的。但如果我们想在测试或干运行模式下工作,我们可以使用 -n 选项,操作不会影响图像。

$ virt-customize -n -c qemu:///system -d debian[   0.0] Examining the guest ...[   6.0] Setting a random seed[   7.0] Finishing off

设置RAM/内存

可以使用-m或–memory选项指定内存使用情况。默认内存大小可以通过guesfish get memsize命令查看,该命令为500MB。在本例中,我们将使用 -m 选项如下。

$ guestfish get-memsize500$ virt-customize -m 512 -c qemu:///system -d debian[   0.0] Examining the guest ...[   6.0] Setting a random seed[   6.0] Finishing off

无网络启动

默认情况下,启动的映像将连接到默认网络(通常是internet连接)。我们可以阻止用 --no-network 选项如下。

$ virt-customize --no-network -c qemu:///system -d debian[   0.0] Examining the guest ...[   6.0] Setting a random seed[   6.0] Finishing off

详细或调试模式

如果有问题需要排除或者我们需要更多关于启动的信息,我们可以使用 -v 详细选项。

$ sudo virt-customize -v -a fedora.qcow2
Verbose or Debug Mode
详细或调试模式

从截图中我们可以看到,所有的动作和配置都被详细地打印到终端上。

相关文章: 什么是ISO(国际标准化组织)?

删除文件

我们可以使用 --delete 选项,提供文件或文件夹名称。在本例中,我们将删除文件夹 /root/.ssh .

$ sudo virt-customize -c qemu:///system -d fedora --delete /root/.ssh[   0.0] Examining the guest ...[   4.0] Setting a random seed[   4.0] Deleting: /root/.ssh[   5.0] Finishing off

设置主机名

我们可以为给定的系统设置主机名。我们将使用 --hostname 选项并提供 poftut.fed1 在这个例子中。 poftut 域部分在哪里 fed1 是主机名。

$ sudo virt-customize -c qemu:///system -d fedora --hostname poftut.fed1[   0.0] Examining the guest ...[   4.0] Setting a random seed[   4.0] Setting the hostname: poftut.fed1[   5.0] Finishing off

安装软件包

我们还可以使用 --install 选项。使用–install选项,我们还将提供要安装的包名称。在本例中,我们将安装名为httpd和vim的包。

$ sudo virt-customize -c qemu:///system -d fedora --install httpd,vim[   0.0] Examining the guest ...[   3.0] Setting a random seed[   3.0] Installing packages: httpd[  49.0] Finishing off

创建目录

要在文件系统上创建目录,请使用 --mkdir 选项。没有边界,就像根一样,你可以创建任何你想要的东西

$ sudo virt-customize -c qemu:///system -d fedora --mkdir /root/sil[   0.0] Examining the guest ...[   3.0] Setting a random seed[   3.0] Making directory: /root/sil[   4.0] Finishing off

Run命令

到目前为止,我们调用与标准Linux命令相关的选项,也可以使用–run命令选项在磁盘映像中运行命令。

$ sudo virt-customize -c qemu:///system -d fedora --run-command "rmdir /root/sil"[   0.0] Examining the guest ...[   3.0] Setting a random seed[   3.0] Running: rmdir /root/sil[   4.0] Finishing off

运行脚本

如果我们想运行脚本,我们可以使用–run命令和脚本路径。在本例中,我们将运行名为 test.sh 存储在名为 downloads

$ sudo virt-customize -c qemu:///system -d fedora --run downloads/test.sh[   0.0] Examining the guest ...[   3.0] Setting a random seed[   3.0] Running: downloads/test.sh[   3.0] Finishing off

将文件上载到图像

我们可以用 --upload 选项。我们将提供本地文件名和我们想要上传到的图像中的目标路径。在本例中,我们将上载名为 test.sh 进入图像 /root/test.sh .

$ sudo virt-customize -c qemu:///system -d fedora --upload downloads/test.sh:/root/test.sh[   0.0] Examining the guest ...[   2.0] Setting a random seed[   2.0] Uploading: downloads/test.sh to /root/test.sh[   3.0] Finishing off

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享