❤️《vagrant官方中文文档》❤️①简介及安装(代码片段)

Lucifer三思而后行 Lucifer三思而后行     2022-12-11     488

关键词:

以下为个人翻译,包含个人一些截图,本打算自用,现分享给大家,欢迎👏🏻纠错~

一、简介

Vagrant文档

欢迎使用 Vagrant 文档 - 一款用于管理虚拟机的命令行实用程序。 该文档旨在完整地记录 Vagrant 的每个功能,并尽可能详细地介绍。 如果您刚刚开始使用 Vagrant,我们强烈建议您先从 HashiCorp 的 Learn 平台上的 入门教程 开始,然后返回到此页面。

导航将带您浏览 Vagrant 的每个组件。 单击导航项以开始使用,或阅读更多有关 为什么开发人员、设计人员和操作人员选择 Vagrant 来满足他们的需求的信息。

二、安装

1、安装Vagrant

安装 Vagrant 非常简单。 请前往 Vagrant下载页面 并获取适合您平台的安装程序或软件包。 使用适用于您的操作系统的标准程序安装软件包。

安装程序会自动将 vagrant 添到您的系统路径中,以便在终端中可用。 如果没有找到,请尝试注销并重新登录到您的系统(特别是对于 Windows 系统,很有必要)。

是否想通过 gem 安装? Vagrant 1.0.x 可以选择安装为 RubyGem。 后续已不再支持此安装方法。 如果您通过 Rubygems 安装了旧版本的 Vagrant,请在安装新版本的 Vagrant 之前将其删除。

当心系统包管理器! 一些操作系统发行版在其上游包存储库中包含一个 vagrant 包。 请不要以这种方式安装 Vagrant。 通常,这些包缺少依赖项或包含非常过时的 Vagrant 版本。 如果您通过系统的包管理器安装,很可能会遇到问题。 请使用下载页面上的官方安装程序。

运行多个虚拟机管理程序

有时,如果使用多个虚拟机管理程序,某些管理程序不允许您启动虚拟机。 如果你足够幸运的话,在尝试使用 Vagrant 和 VirtualBox 启动虚拟机时,您可能会看到以下错误消息:

There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", <ID of the VM>, "--type", "headless"]

Stderr: VBoxManage: error: VT-x is being used by another hypervisor (VERR_VMX_IN_VMX_ROOT_MODE).
VBoxManage: error: VirtualBox can't operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot
(VERR_VMX_IN_VMX_ROOT_MODE)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole

如果您尝试启动启用了 Hyper-V 的 VirtualBox VM,其他操作系统(如 Windows)将蓝屏。 如果存在另一个虚拟机管理程序,以下是确保您可以使用 Vagrant 和 VirtualBox 的几种方法。

Linux, VirtualBox, and KVM

上述错误消息是因为正在使用另一个管理程序(如 KVM)。 我们必须将这些列入黑名单才能使 VirtualBox 正确运行。


首先找出管理程序的名称:

$ lsmod | grep kvm
kvm_intel             204800  6
kvm                   593920  1 kvm_intel
irqbypass              16384  1 kvm

我们需要关注的是 kvm_intel。 你可能会显示有一个。

将管理程序列入黑名单(以 root 身份运行以下命令):

echo 'blacklist kvm-intel' >> /etc/modprobe.d/blacklist.conf

重新启动你的机器并再次尝试运行 vagrant。

Windows, VirtualBox, and Hyper-V


如果您希望在 Windows 上使用 VirtualBox,则必须确保在 Windows 上未启用 Hyper-V。 您可以通过运行以下 Powershell 命令来关闭该功能:

Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All


您还可以通过 Windows 系统设置禁用它:

  • 双击打开控制面板,打开 程序和功能
  • 选择 启用或关闭 Windows 功能
  • 取消选择 Hyper-V,然后单击确定。

您可能必须重新启动计算机才能使更改生效。 阅读有关 Hyper-V 的更多信息。

2、版本向后兼容性

1.0.x版本

对于未使用插件并且有效的 Vagrant 1.0.x Vagrantfiles版本,Vagrant 1.1+ 提供完全的向后兼容性。 安装 Vagrant 1.1 后,原有的 1.0.x 环境应该无需修改即可继续工作,并且现有的运行机器将继续得到正确管理。

甚至到 Vagrant 2.0 版本,版本兼容性依然有效。 但 Vagrant 的兼容性承诺仅适用于两个版本。由于主要的 Vagrant 版本需要数年时间来开发和发布,暂时坚持使用 1.0.x Vagrantfile 版本是安全的。

如果您使用任何 Vagrant 1.0.x 插件,则必须在升级之前从 Vagrantfile 中删除对这些插件的引用。 Vagrant 1.1+ 引入了一种新的插件格式,可以防止这种不兼容再次发生。

1.x版本

官方不承诺 1.x 版本的向后兼容性,直到 2.0 final 才承诺 Vagrantfile 语法稳定性。 1.x 中的任何向后不兼容都将被清楚地记录下来。

这类似于 Vagrant 0.x 的处理方式。 在实践中,Vagrant 0.x 在整个开发周期中只引入了少数向后不兼容,但向后不兼容的可能性被明确了,所以用户并不感到惊讶。

Vagrant 2.0 final 将具有稳定的 Vagrantfile 格式,该格式将保持向后兼容,就像 1.0 被认为是稳定的一样。

3、更新Vagrant

如果你想从 Vagrant 1.0.x 升级,请阅读 如下章节:从1.0.x版本升级。 本页介绍了在 1.x 系列中升级 Vagrant 的一般情况。

1.x 版本系列中的 Vagrant 升级很简单:

  • 1、下载 新版本安装包
  • 2、安装覆盖原有版本即可

安装程序将正确覆盖和删除旧文件。 建议在升级过程中不要运行其他 Vagrant 进程。

请注意,新版本 Vagrantfile 语法的稳定性要到 2.0 最终版才能保证。 因此,虽然为 1.0.x 制作的 Vagrantfiles 将继续工作,但较新的 Vagrantfiles 可能具有向后不兼容的更改,直到 2.0 最终版。

升级遇到麻烦? 如果您遇到升级问题,请在Github提交问题。 升级是一个顺利的过程,如果不是,我们认为它是一个错误。

4、从1.0.x版本升级

从 1.0.x 到 1.x 的升级过程很简单。 Vagrant 与 Vagrant 1.0.x 完全向后兼容,因此您可以通过下载最新的软件包并使用适用于您的操作系统的标准程序安装它来简单地重新安装 Vagrant。

正如 向后兼容性页面 所说,Vagrant 1.0.x 插件不适用于 Vagrant 1.1+ 。 其中有很多插件都已更新用于较新版本的 Vagrant 使用,因此您可以查看它们是否已更新。 如果没有更新,则必须在升级前将其删除。

建议升级前先把插件全部去掉,再慢慢添加插件。 这通常会使升级过程更顺畅。

如果你的 Vagrant 版本是通过 Rubygems 安装的,你必须在安装新版本 Vagrant 的包之前卸载旧版本。 新版本将不再支持 Rubygems 安装。

5、使用源码安装Vagrant

使用源码安装 Vagrant 是一个非常规操作,仅在无法选择使用官方安装程序时才推荐使用。 本页详细介绍了从源码安装 Vagrant 的步骤和先决条件。

安装Ruby

你必须有一个新版本的 Ruby (>= 2.2) 才能开发和构建 Vagrant。 具体的 Ruby 版本记录在 Vagrant 的 gemspec中。 请参阅 GitHub 上存储库中的 vagrant.gemspec,因为它将包含最新的需求。 本指南不会讨论如何安装和管理 Ruby。 但是,请注意以下陷阱:

  • 不要使用系统自带的Ruby:使用 Ruby 版本管理器,如 rvm 或 chruby
  • Vagrant 插件是根据当前环境配置的。 如果插件是从源代码使用 Vagrant 安装的,它们将无法从基于包的 Vagrant 安装中工作。

下载Vagrant源码

注意:需要提前安装好Git软件。

将 Vagrant 的源码从 GitHub 克隆到您在机器上保存代码的目录中:

git clone https://github.com/hashicorp/vagrant.git

接下来, cd 进入该路径。 所有命令都将从此路径运行:

cd /path/to/your/vagrant/clone

使用所需版本的bundle来运行 bundle 命令以安装要求:

bundle install

您现在可以通过从该目录中运行 bundle exec vagrant 来运行 Vagrant。

本地使用

为了在其他项目中使用本地安装的 Vagrant 版本,您需要创建一个 binstub 并将其添加到您的路径中。

首先,从 Vagrant 仓库运行以下命令:

bundle --binstubs exec

这将在 exec/ 中生成文件,包括 vagrant。 您现在可以在操作系统的任何位置指定 exec/vagrant 的完整路径:

/path/to/vagrant/exec/vagrant init -m hashicorp/bionic64

请注意,您将收到警告,不支持像这样运行 Vagrant。 请仔细查看这些警告⚠️,确认是否有影响。

如果您不想指定 Vagrant 的完整路径(即您只想运行 vagrant),您可以创建一个指向您的 exec 的符号链接:

ln -sf /path/to/vagrant/exec/vagrant /usr/local/bin/vagrant

当您想切换回官方 Vagrant 版本时,只需删除符号链接即可。

6、卸载Vagrant

卸载 Vagrant 既简单又直接。 您可以卸载 Vagrant 二进制文件、用户数据或两者。 以下部分介绍了如何在每个平台上执行此操作。

删除Vagrant程序

删除 Vagrant 程序将从您的机器中删除 vagrant 二进制文件和所有依赖项。 卸载程序后,您仍然可以使用标准方法重新安装。 卸载 Vagrant 不会删除用户数据。 此部分下面的部分提供了有关如何从系统中删除该目录的更详细说明。

Windows系统:

使用控制面板的添加/删除程序部分卸载

Mac OS X系统:

sudo rm -rf /opt/vagrant /usr/local/bin/vagrant
sudo pkgutil --forget com.vagrant.vagrant

Linux系统:

rm -rf /opt/vagrant
rm -f /usr/bin/vagrant

删除用户数据

删除用户数据将删除 Vagrant 可能使用的所有boxes盒子、插件、许可证文件和任何已存储的状态。 有效地删除用户数据使 Vagrant 认为这是一个全新的安装。

在所有平台上,此目录位于您的主目录的根目录中,并命名为 vagrant.d。 只需删除 ~/.vagrant.d 目录即可删除用户数据。 如果在 Windows 上,此目录位于 C:\\Users\\YourUsername\\.vagrant.d,其中 YourUsername 是本地用户的用户名。

当需要进行调试时,Vagrant 支持团队可能会要求您删除此目录。 在删除此目录之前,请进行备份。

运行 Vagrant 将自动重新生成运行所需的任何数据,因此随时删除用户数据是安全的。


本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️《vagrant官方中文文档》❤️⑤命令行界面之plugin(插件)(代码片段)

以下为个人翻译,包含个人一些截图,本打算自用,现分享给大家,欢迎👏🏻纠错~Vagrant中文文档PluginPluginExpungePluginInstallPluginLicensePluginListPluginRepairPluginUninstallPluginUpdatePlugin命令࿱ 查看详情

❤️《vagrant官方中文文档》❤️⑤命令行界面之plugin(插件)(代码片段)

以下为个人翻译,包含个人一些截图,本打算自用,现分享给大家,欢迎👏🏻纠错~Vagrant中文文档PluginPluginExpungePluginInstallPluginLicensePluginListPluginRepairPluginUninstallPluginUpdatePlugin命令࿱ 查看详情

❤️《vagrant官方中文文档》❤️④命令行界面之基础命令(代码片段)

...算自用,现分享给大家,欢迎👏🏻纠错~Vagrant中文文档ConnectDestroyGlobalStatusHaltInitLoginPackageConnect命令:vagrantconnectNAMEconnect命令通过启用对共享环境的访问来补充sha 查看详情

❤️《vagrant官方中文文档》❤️④命令行界面之基础命令(代码片段)

...算自用,现分享给大家,欢迎👏🏻纠错~Vagrant中文文档ConnectDestroyGlobalStatusHaltInitLoginPackageConnect命令:vagrantconnectNAMEconnect命令通过启用对共享环境的访问来补充sha 查看详情

❤️《vagrant官方中文文档》❤️③命令行界面之cloud命令(代码片段)

以下为个人翻译,包含个人一些截图,本打算自用,现分享给大家,欢迎👏🏻纠错~Vagrant中文文档VagrantCloud1、CloudAuthCloudAuthLogin子命令选项CloudAuthLogoutCloudAuthWhoami2、CloudBoxCloudBoxCreate子命令选项CloudBo 查看详情

❤️《vagrant官方中文文档》❤️③命令行界面之cloud命令(代码片段)

以下为个人翻译,包含个人一些截图,本打算自用,现分享给大家,欢迎👏🏻纠错~Vagrant中文文档VagrantCloud1、CloudAuthCloudAuthLogin子命令选项CloudAuthLogoutCloudAuthWhoami2、CloudBoxCloudBoxCreate子命令选项CloudBo 查看详情

❤️《vagrant官方中文文档》❤️②命令行界面之box语法(代码片段)

...算自用,现分享给大家,欢迎👏🏻纠错~Vagrant中文文档Vagrant命令行一、命令行界面命令自动补全二、Box1、BoxAddBoxadd子命令选项本地路径添加Box子命令选项2、BoxList3、BoxOutdated子命令选项4、BoxPrune子命令选项5、Box 查看详情

❤️《vagrant官方中文文档》❤️②命令行界面之box语法(代码片段)

...算自用,现分享给大家,欢迎👏🏻纠错~Vagrant中文文档Vagrant命令行一、命令行界面命令自动补全二、Box1、BoxAddBoxadd子命令选项本地路径添加Box子命令选项2、BoxList3、BoxOutdated子命令选项4、BoxPrune子命令选项5、Box 查看详情

❤️vagrant安装苹果macos系统,就是玩儿❤️(代码片段)

Vagrant玩转macOS🌲前言❄️一、环境准备❄️①下载Vagrantbox②Vagrant添加Box③Vagrant初始化box④Vagrant启动macOS虚拟机系统⑤关闭macOS主机🍩写在最后🌲前言⭐️Windows系统的朋友看过来!想玩玩macOS系统,❤️看下... 查看详情

❤️vagrant安装苹果macos系统,就是玩儿❤️(代码片段)

Vagrant玩转macOS🌲前言❄️一、环境准备❄️①下载Vagrantbox②Vagrant添加Box③Vagrant初始化box④Vagrant启动macOS虚拟机系统⑤关闭macOS主机🍩写在最后🌲前言⭐️Windows系统的朋友看过来!想玩玩macOS系统,❤️看下... 查看详情

☀️福利向:⚡️万字图文⚡️带你vagrant从入门到超神!❤️(代码片段)

Vagrant从入门到超神🌲前言🌲🌻Vagrant简介🌻❤️入门玩法:Vagrant安装❤️⚡️初阶玩法:Vagrant常用命令⚡️1️⃣Vagrant基础命令2️⃣VagrantBox管理3️⃣Vagrant虚拟机系统命令4️⃣Vagrant插件管理🌀进... 查看详情

⭐️这年头谁还用虚拟机装系统?墨迹!❤️vagrant一键搞定❤️(代码片段)

Vagrant一键安装任意系统🌲前言一、⭐️Vagrant安装Linux系统⭐️1、安装目录2、下载Vagrantbox3、Vagrant添加Box4、配置Vagrantfile文件5、准备安装介质6、编写Vagrantfile中定义的Shell脚本二、❤️Vagrant启动一键安装Oracle❤️1、😏... 查看详情

macos☀️vagrant使用parallelsdesktop安装oracle数据库☀️(代码片段)

Vagrant玩转macOS系列🌲前言❄️一、环境准备❄️1、下载Vagrantbox2、安装Paralles插件3、Vagrant添加box4、配置Vagrantfile5、准备安装介质6、编写Vagrantfile中定义的Shell脚本❤️二、Vagrant启动一键安装Oracle❤️1、😏很简单,... 查看详情

macos☀️vagrant使用parallelsdesktop安装oracle数据库☀️(代码片段)

Vagrant玩转macOS系列🌲前言❄️一、环境准备❄️1、下载Vagrantbox2、安装Paralles插件3、Vagrant添加box4、配置Vagrantfile5、准备安装介质6、编写Vagrantfile中定义的Shell脚本❤️二、Vagrant启动一键安装Oracle❤️1、😏很简单,... 查看详情

❤️vagrant一键安装任意系统,甚至oracle数据库!!!☀️建议收藏ᕕ(ᐛ)ᕗ(代码片段)

Vagrant一键安装任意系统🌲前言一、⭐️Vagrant安装Linux系统⭐️1、安装目录2、下载Vagrantbox3、Vagrant添加Box4、配置Vagrantfile文件5、准备安装介质6、编写Vagrantfile中定义的Shell脚本二、❤️Vagrant启动一键安装Oracle❤️1、😏... 查看详情

☀️福利向:⚡️万字图文⚡️带你vagrant从入门到超神!❤️(代码片段)

...1;😏❤️ヾ(◍°∇°◍)ノ゙❤️首先下载安装Vagrant和Vir 查看详情

☀️手把手教你camel环境搭建☀️《❤️记得收藏❤️》(代码片段)

☀️手把手教你Camel环境搭建☀️《❤️记得收藏❤️》目录😊开讲啦!!!!🏳️‍🌈:person_fencing:1、Vagrant环境😀1.1、Vagrant是什么😃1.2、Vagrant能做什么😄1.3、Vagrant相关软件下载Ƕ 查看详情

❤️教你零基础安装oracle数据库,你敢说你还不会?⭐️(代码片段)

目录前言安装下载项目安装软件下载Oracle安装包安装编辑vagrant.yml文件开始安装使用方式连接主机关闭主机开启主机销毁主机写在最后前言很多朋友吐槽我的脚本不会用,看不懂,哎,一言难尽!于是,我将[va... 查看详情