如何将 Vagrant 虚拟机重置为原始状态

正如你可能已经, 流浪汉 是一个用于构建和维护虚拟软件开发环境的开源应用程序。 您可以使用预先配置的 Vagrant box 快速启动虚拟机,并将相同的 Vagrant box 复制到其他系统,以部署当前开发环境的精确副本。 一旦你完成了对你的开发环境的探索,你可以简单地将 Vagrant 机器重置回它原来的默认状态。 所以你不必一遍又一遍地下载同一个 Vagrant 盒子。

将 Vagrant 虚拟机重置为原始状态

出于本指南的目的,我下载了 Oracle Linux 8 Vagrant 盒子并使用该盒子创建了一个 VM。 此 VM 的默认用户名和主机名是 vagrantlocalhost 分别。

在 Oracle Linux VM 中显示用户名和主机名

让我们改变这些值。 我已经更改了用户名和主机名,如 本指南.

现在我当前的用户名是 ostechnix 和主机名是 ol8.

$ whoami
ostechnix
$ hostname
ol8
在 Oracle Linux 中显示用户名和主机名

让我们安装任何软件,因为 example nano 编辑。

$ sudo dnf install nano

验证是否 nano 已安装或未使用命令:

$ dnf list nano
验证是否在 Oracle Linux 中安装了软件包验证是否在 Oracle Linux 中安装了软件包

在虚拟机中做任何你想做的事。

在您探索虚拟环境之后,如果您不再需要它,只需擦除它并重新创建一个干净的虚拟环境。

在将 Vagrant 机器重置为默认状态之前,请备份您的工作,然后关闭 VM:

# poweroff

您还可以在主机名系统中使用以下命令来关闭 vagrant 虚拟机:

$ vagrant halt

验证 VM 是否正在运行:

$ vagrant status

样本输出:

Current machine states:

default                   shutoff (libvirt)

The Libvirt domain is not running. Run `vagrant up` to start it.

虚拟机已关闭。

现在我们将使用命令将 Vagrant 框重置为原始状态:

$ vagrant destroy

样本输出:

$ vagrant destroy
    default: Are you sure you want to destroy the 'default' VM? [y/N] y
==> default: Removing domain...
将 vagrant 虚拟机重置为原始状态将 vagrant 虚拟机重置为原始状态

destroy 命令将停止正在运行的虚拟机(如果它已经在运行)并销毁它以及在虚拟机创建过程中创建的所有资源。 现在您的主机系统应该保持干净状态,就好像您从未创建过客户机一样。

请注意,上述命令不会破坏在创建 VM 时已下载的 vagrant box。 供您参考,所有流浪箱都存储在 ~/.vagrant.d/boxes/ 在您的系统中的位置。 让我们验证一下 ls 命令:

$ ls ~/.vagrant.d/boxes/
fedora33  oraclelinux-VAGRANTSLASH-7
Fedora33  oraclelinux-VAGRANTSLASH-8

是的,所有盒子都可用。 我们只删除了使用 vagrant box 创建的虚拟机。

停止并销毁 VM 后,运行以下命令创建一个新的新虚拟机:

$ vagrant up --provider=libvirt

在这里,我使用 vagrant box libvirt/kvm 提供者。

如果您下载了适用于 Oracle Virtualbox 的 Vagrant box,则无需指定 --provider=libvirt 选项。 只需使用此命令:

$ vagrant up

完毕! 流浪机器已被重置为其默认的原始状态。 虚拟机中的所有自定义和安装的软件都将消失。 您现在应该有一个新的虚拟机。

登录 Oracle Linux vagrant 虚拟机登录 Oracle Linux vagrant 虚拟机

正如你在上面看到的 example,我没有删除Oracle Linux 8 Vagrant框并重新下载它。 从官方网站下载 Vagrant VM 时,我只是将其重置为原始状态。

希望这可以帮助。