安装 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

results matching ""

    No results matching ""