Vagrant:一款方便、快捷虚拟机管理工具
最近在编译OpenWrt,因为Windows下面无法交叉编译,装个虚拟机临时用一用。下载Archlinux的时候,发现一个好用的虚拟机管理工具——vagrant。vagrant主要有以下几个功能:
- 可以零配置新建一个虚拟机环境,省去了繁杂的配置过程
- 快速连接虚拟机
- 打包虚拟机镜像,并分发
vagrant提供了虚拟机创建、管理、链接和打包的功能,给虚拟机使用了提供了极大的便利。
Vagrant的安装[1]
Vagrant安装前,需要配置好虚拟机环境(Provider),如:VirtualBox、VMware Workspace、QEMU等,这里用的是VirtualBox。在Windows下使用VirtualBox的时候,需要关掉Hyper-V。Windows 10可以在Powershell中使用以下命令关闭Hyper-V。
如果是Windows 11用户,可以在Powershell中使用以下命令关闭Hyper-V。
装好VirtualBox之后,从Vagrant的下载页面[2]下载Vagrant的安装文件并安装好Vagrant。
安装成功之后,当在Powershell中执行vagrant version
后,会出现以下内容。
Vagrant的使用
安装好vagrant之后,新建一个vagrantfile可以在当前目录下执行以下命令。
当执行vagrant up
命令的时候,vagrant会从本地寻找archlinux/archlinux
这个名称的box。如果本地box列表中不存在这个名称的box的话,vagrant会自动从vagrant cloud[3]下载这个box。在使用的过程中,可以先去vagrant cloud搜索一下自己的Provider的镜像。
当虚拟机启动完成之后,就可以通过vagrant ssh
连接到此虚拟机了。
另外,正常关闭虚拟机,使用vagrant halt
命令。删除虚拟机,使用vagrant destroy
命令。
总结一下:
vagrant init <box name>
创建虚拟机配置文件,如果需要编辑网络、内存和硬盘等设置,可以在这一步之后,修改Vagrantfile配置文件,详细的配置文件设置可以参考官方文档中Vagrantfile[4]这一页。vagrant up
下载虚拟机镜像,执行虚拟机配置并启动虚拟机。vagrant ssh
通过ssh连接到虚拟机vagrant halt
关闭虚拟机vagrant destroy
删除虚拟机
安利自己的Codeforces环境
每次换了电脑,或者重装系统之后,重新配一套Codeforces环境确实也很麻烦。了解vagrant之后,使用vagrant搭建了一套Codeforces用的虚拟环境。
使用方法:
这套环境是基于ArchLinux的镜像的,里面主要安装的软件如下所示:
参考
- https://developer.hashicorp.com/vagrant/docs/installation ↩
- https://developer.hashicorp.com/vagrant/downloads ↩
- https://app.vagrantup.com/boxes/search ↩
- https://app.vagrantup.com/boxes/search ↩
- https://spacevim.org/ ↩
- https://github.com/nvm-sh/nvm ↩
- https://github.com/dianhsu/cf-tool ↩
- https://ohmyz.sh/ ↩
- https://github.com/neoclide/coc.nvim ↩