升级 Terraform 的版本
我在我的Mac上通过brew安装了terraform,
但是在brew升级时,升级的速度非常慢,所以我尝试手动升级。
虽然说是手动升级,但实际上只是修改了符号链接,我会把这个过程记录下来。
在我的环境中,terraform已经按照以下方式安装。
$ ls -l /usr/local/bin/terraform*
lrwxr-xr-x 1 hoge hage 39 Apr 27 14:21 /usr/local/bin/terraform -> ../Cellar/terraform/0.4.2/bin/terraform
lrwxr-xr-x 1 hoge hage 54 Apr 27 14:21 /usr/local/bin/terraform-provider-atlas -> ../Cellar/terraform/0.4.2/bin/terraform-provider-atlas
lrwxr-xr-x 1 hoge hage 52 Apr 27 14:21 /usr/local/bin/terraform-provider-aws -> ../Cellar/terraform/0.4.2/bin/terraform-provider-aws
lrwxr-xr-x 1 hoge hage 59 Apr 27 14:21 /usr/local/bin/terraform-provider-cloudflare -> ../Cellar/terraform/0.4.2/bin/terraform-provider-cloudflare
以下略
我不是特别清楚,但是/usr/local/bin目录下有很多符号链接。
可以从官方网站下载最新版的 terraform。此次版本为 0.5.3。
请提供以下网址的中国版本:
[https://dl.bintray.com/mitchellh/terraform/terraform_0.5.3_darwin_amd64.zip]
当解压 ZIP 文件时,里面包含的是二进制文件。
~/Downloads$ ll terraform*
-rwxr-xr-x@ 1 hoge hage 15202736 Jun 2 03:36 terraform
-rwxr-xr-x@ 1 hoge hage 10354576 Jun 2 03:36 terraform-provider-atlas
-rwxr-xr-x@ 1 hoge hage 19750112 Jun 2 03:36 terraform-provider-aws
-rwxr-xr-x@ 1 hoge hage 10258784 Jun 2 03:36 terraform-provider-cloudflare
以下略
将它们移动。
~/Downloads$ mkdir -p /usr/local/Cellar/terraform/0.5.3/bin
~/Downloads$ cp terraform* /usr/local/Cellar/terraform/0.5.3/bin
我将替换符号链接。
#!/bin/bash
cd /usr/local/bin
ls -l terraform* | while read i
do
bin=`echo $i | awk {'print $9'}`
new_link=`echo $i | awk {'print $11'} | sed 's/0.4.2/0.5.3/'`
ln -sf ${new_link} ${bin}
done
0.4.2 已经更改为 0.5.3。
$ ls -l /usr/local/bin/terraform*
lrwxr-xr-x 1 hoge hage 39 Jun 29 16:45 terraform -> ../Cellar/terraform/0.5.3/bin/terraform
lrwxr-xr-x 1 hoge hage 54 Jun 29 16:45 terraform-provider-atlas -> ../Cellar/terraform/0.5.3/bin/terraform-provider-atlas
lrwxr-xr-x 1 hoge hage 52 Jun 29 16:45 terraform-provider-aws -> ../Cellar/terraform/0.5.3/bin/terraform-provider-aws
lrwxr-xr-x 1 hoge hage 59 Jun 29 16:45 terraform-provider-cloudflare -> ../Cellar/terraform/0.5.3/bin/terraform-provider-cloudflare
以下略
以上,版本已经更新完成。
随后,计划应用销毁,并且通过版本升级新增的资源也能正常运行。
或者说,反正使用Vagrant或Docker之类的执行环境就可以了,但是手头忙不过来。。
我非常高兴路由53的私有托管区域和ELB的连接排空得到了支持。