安装 Packer
Packer 可以通过以下方式安装:
- 使用预编译的二进制文件。我们为所有支持的平台和架构发布二进制文件。这是官方最推荐的安装方法。
- 从源代码安装。仅建议高级用户使用此方法。
- 使用您系统的包管理器安装。
手动安装预编译的二进制文件
要安装预编译的二进制文件,请为您的系统下载适当的包。目前 Packer 被打包为一个 zip 文件。
下载 Packer 后,解压压缩包,有一个文件名为 packer
的二进制可执行文件。
最后,确保 packer
可执行文件被正确配置在 PATH
里。此过程将因您的操作系统而异。
在 Linux 平台上可以用以下命令打印当前的 PATH
:
$ echo $PATH
将 Packer 可执行文件移动到列出的位置之一。我们假设执行该命令时可执行文件正位于您的下载文件夹中,并且您的 PATH
里包括了 /usr/local/bin
,但如果您的位置不同,可以进行定制化的修改:
$ mv ~/Downloads/packer /usr/local/bin/
要了解更多有关于 Linux 平台上添加可执行文件到 PATH
的信息,可以参考这篇 StackOverflow 帖子。
Windows 平台上配置 PATH
可以参考这篇 StackOverflow 帖子。
要从源代码编译,您需要正确安装和配置 Go 以及 PATH
中正确配置的 git。我们假设您已经正确安装了 Go,并且配置了正确的 GOPATH
。
克隆代码仓库到本地:
$ git clone https://github.com/hashicorp/packer.git
进入克隆下来的仓库,用以下命令构建并安装一个适用于当前构建环境的开发版:
$ make dev
在 MacOS 上安装 Packer
Homebrew 是适用于 Mac OS X 的免费开源包管理系统。从终端安装官方 Packer formula。
首先,安装 HashiCorp tap,这是我们所有 Homebrew 软件包的存储库:
$ brew tap hashicorp/tap
现在,使用 hashicorp/tap/packer
安装 Packer:
$ brew install hashicorp/tap/packer
请注意,该命令将安装一个签名的二进制文件,并随着每个新的官方版本自动更新。
要更新到最新版本,请运行:
$ brew upgrade hashicorp/tap/packer
在 Windows 平台上使用 Chocolatey 安装 Packer
Chocolatey 是适用于 Windows 的免费开源包管理系统。
如果您使用的是 Windows 和 Chocolatey,则可以通过运行 choco install
命令来安装 Packer:
$ choco install packer
请注意,Chocolatey 包目前不是由 HashiCorp 维护的。
在 Ubuntu/Debian 上安装 Packer
添加 HashiCorp GPG 密钥。
$ curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
添加 HashiCorp 官方 Linux 包仓库:
$ sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
更新仓库信息并执行安装:
$ sudo apt-get update && sudo apt-get install packer
在 CentOS/RHEL 上安装 Packer
安装 yum-config-manager
来管理你的仓库:
$ sudo yum install -y yum-utils
使用 yum-config-manager
添加 HashiCorp 官方 Linux 仓库:
$ sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
安装:
$ sudo yum -y install packer
在 Fedora 上安装 Packer
安装 dnf config-manager
来管理您的仓库:
$ sudo dnf install -y dnf-plugins-core
使用 dnf config-manager
添加 HashiCorp 官方 Linux 仓库:
$ sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/fedora/hashicorp.repo
安装:
$ sudo dnf -y install packer
在 Amazon Linux 上安装 Packer
安装 yum-config-manager
来管理您的仓库:
$ sudo yum install -y yum-utils
使用 yum-config-manager
添加 HashiCorp 官方 Linux 仓库:
$ sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo
安装:
$ sudo yum -y install packer
验证安装
安装 Packer 后,可以打开新的命令提示符或控制台并检查 packer
是否可用来验证安装是否有效:
$ packer
Usage: packer [--version] [--help] <command> [<args>]
Available commands are:
build build image(s) from template
console creates a console for testing variable interpolation
fix fixes templates from old versions of packer
fmt Rewrites HCL2 config files to canonical format
hcl2_upgrade transform a JSON template into an HCL2 configuration
init Install missing plugins or upgrade plugins
inspect see components of a template
validate check that a template is valid
version Prints the Packer version
如果看到 packer
could not be found 的错误,那么您的 PATH
环境变量设置不正确。请返回并确保您的 PATH
变量包含安装 Packer 的目录。
如果一切正常,Packer 已安装,您就可以开始体验了!
错误排查
在某些发行版中,可能默认安装了另一个名为 packer
的工具。以下错误表明存在名称冲突:
$ packer
/usr/share/cracklib/pw_dict.pwd: Permission denied
/usr/share/cracklib/pw_dict: Permission denied
请注意,在 Arch Linux 上,主存储库和 AUR 中有一个名为 packer
的包。 AUR 中的 packer
包是 Arch 包管理工具的旧名称,它不是 HashiCorp Packer。
要修复该问题,请创建一个指向使用不同名称(如 packer.io
)的 packer
的符号链接,或使用其绝对路径调用所需的 packer
程序二进制文件,例如:/usr/local/packer
。