正如你可能已经, 流浪汉 是一个用于构建和维护虚拟软件开发环境的开源应用程序。 您可以使用预先配置的 Vagrant box 快速启动虚拟机,并将相同的 Vagrant box 复制到其他系统,以部署当前开发环境的精确副本。 一旦你完成了对你的开发环境的探索,你可以简单地将 Vagrant 机器重置回它原来的默认状态。 所以你不必一遍又一遍地下载同一个 Vagrant 盒子。
将 Vagrant 虚拟机重置为原始状态
出于本指南的目的,我下载了 Oracle Linux 8 Vagrant 盒子并使用该盒子创建了一个 VM。 此 VM 的默认用户名和主机名是 vagrant
和 localhost
分别。
让我们改变这些值。 我已经更改了用户名和主机名,如 本指南.
现在我当前的用户名是 ostechnix
和主机名是 ol8
.
$ whoami
ostechnix
$ hostname
ol8
让我们安装任何软件,因为 example nano
编辑。
$ sudo dnf install nano
验证是否 nano
已安装或未使用命令:
$ dnf list nano

在虚拟机中做任何你想做的事。
在您探索虚拟环境之后,如果您不再需要它,只需擦除它并重新创建一个干净的虚拟环境。
在将 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...

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

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