Linux怎么安装Terraform_Linux IaC工具Terraform安装教程【进阶】

夜磊酱_8333

夜磊酱_8333

2026-04-01

743人浏览

原创

terraform在linux上有四种安装方法:一、官方二进制包安装;二、hashicorp官方仓库(apt/yum/dnf)安装;三、asdf版本管理器安装;四、带sha256校验的shell脚本自动化安装。

linux怎么安装terraform_linux iac工具terraform安装教程【进阶】

如果您希望在Linux系统中部署基础设施即代码(IaC)工具Terraform,但尚未完成安装,则可能是由于缺少官方二进制文件、未配置PATH环境变量或未验证校验和。以下是完成Terraform安装的多种方法:

一、使用官方预编译二进制包安装

该方法直接下载HashiCorp官方发布的静态链接二进制文件,适用于所有主流Linux发行版,无需编译,可控性强且版本明确。

1、打开终端,创建临时目录并进入:
mkdir -p ~/terraform-install && cd ~/terraform-install

2、查询最新稳定版Terraform版本号,访问 https://releases.hashicorp.com/terraform/ 获取最新版本号(例如 1.9.8),或运行:
curl -s https://checkpoint-api.hashicorp.com/v1/check/terraform | jq -r -M '.current_version'

3、下载对应版本的Linux AMD64二进制包(以1.9.8为例):
wget https://releases.hashicorp.com/terraform/1.9.8/terraform_1.9.8_linux_amd64.zip

4、解压并提取terraform可执行文件:
unzip terraform_1.9.8_linux_amd64.zip

5、将二进制文件移动至系统可执行路径:
sudo mv terraform /usr/local/bin/

6、验证安装:
terraform version

二、通过HashiCorp Linux仓库安装(支持APT/YUM/DNF)

该方法利用官方维护的软件源,便于后续通过系统包管理器统一升级和依赖管理,适合长期维护的生产环境。

1、导入HashiCorp官方GPG密钥:
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg

2、添加APT源(Ubuntu/Debian):
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list

3、更新软件包索引:
sudo apt update

4、安装terraform:
sudo apt install terraform

5、对于RHEL/CentOS/Fedora用户,执行以下命令替代步骤2–4:
sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo && sudo yum -y install terraform

三、使用asdf版本管理器安装

该方法适用于需在同一台机器上频繁切换多个Terraform版本的开发或测试场景,支持多版本共存与快速切换。

1、确保已安装asdf(若未安装,请先按asdf官方指南配置Git与Erlang/Node.js等基础依赖):
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.1

2、启用asdf插件支持:
source ~/.asdf/asdf.sh

3、添加Terraform插件:
asdf plugin add terraform https://github.com/asdf-community/asdf-hashicorp.git

4、列出可用版本:
asdf list-all terraform

5、安装指定版本(如1.9.8):
asdf install terraform 1.9.8

6、设置全局默认版本:
asdf global terraform 1.9.8

7、验证是否生效:
terraform version

四、通过Shell脚本自动化安装(含SHA256校验)

该方法集成下载、校验、权限设置与PATH配置全流程,适合CI/CD流水线或批量部署,确保二进制完整性与安全性。

1、创建安装脚本文件:
cat > install-terraform.sh

#!/bin/bash

VERSION=${1:-"1.9.8"}

OS="linux"

ARCH="amd64"

URL="https://releases.hashicorp.com/terraform/${VERSION}/terraform_${VERSION}_${OS}_${ARCH}.zip"

CHECKSUM_URL="https://releases.hashicorp.com/terraform/${VERSION}/terraform_${VERSION}_SHA256SUMS"

cd /tmp || exit

curl -sLO "$URL"

curl -sLO "$CHECKSUM_URL"

curl -sLO "${CHECKSUM_URL}.sig"

if ! sha256sum -c terraform_${VERSION}_SHA256SUMS 2>/dev/null | grep -q "terraform_${VERSION}_${OS}_${ARCH}.zip: OK"; then

  echo "校验失败:SHA256不匹配,拒绝执行安装" >&2

  exit 1

fi

unzip -o terraform_${VERSION}_${OS}_${ARCH}.zip -d /usr/local/bin/

chmod +x /usr/local/bin/terraform

echo "Terraform ${VERSION} 已安装至 /usr/local/bin/terraform"

EOF

2、赋予脚本执行权限:
chmod +x install-terraform.sh

3、运行安装(指定版本可省略,默认为1.9.8):
sudo ./install-terraform.sh 1.9.8

4、确认安装结果:
terraform version

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
erlang语言是什么
erlang语言是什么

erlang是一种并发、容错、分布式和动态类型的编程语言。它专门用于构建并发系统,并提供了一个轻量级进程模型来实现并发性。想了解更多erlang的相关内容,可以阅读本专题下面的文章。

2024.06.19

1358

9

python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.27

2640

5

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

2026.02.03

249

24

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

2023.09.22

549

3

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

2024.03.01

1678

6

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

2023.06.14

3503

6

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

2023.10.30

775

4

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

4096

8

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.28

1275

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习