AmazonLinuxの古いyumリポジトリを利用したい時の方法

掲題の件、備忘メモ。

まず、以下のURLで リリースノート の項目を見るとリリースの一覧があるのでリリースの名前がわかります。

https://aws.amazon.com/jp/amazon-linux-ami/

だいたい3月と9月に出るようなので2017.03とか2017.09とか。今現在の最新が2017.09なので、一つ古い 2017.03yumリポジトリを利用したいとして話を進めます。

まず、リリースノートで変更点の確認をします。(リリースでURL読み換え)

https://aws.amazon.com/jp/amazon-linux-ami/2017.03-release-notes/

次にパッケージの内容の確認をする。希望のバージョン入っているかとか。(リリースでURL読み換え)

https://aws.amazon.com/jp/amazon-linux-ami/2017.03-packages/

設定ファイル /etc/yum.confreleasever の項目を該当のリリースに書き換えます。

$ sudo sed -i.org 's/\(releasever=\).*/\12016.09/' /etc/yum.conf

$ diff -U2 /etc/yum.conf{.org,}
--- /etc/yum.conf.org   2017-08-10 23:50:10.000000000 +0000
+++ /etc/yum.conf   2017-11-01 11:10:39.560000000 +0000
@@ -17,5 +17,5 @@
 # of Amazon Linux AMI. If you prefer not to automatically move to
 # new releases, comment out this line.
-releasever=latest
+releasever=2017.03

あとは通常通りyumでインストール作業するだけです。

補足としては上記の方法だと、gccとかの基盤となるパッケージの依存関係が面倒なのでコミュニティAMIからバージョン指定でAmazonLinuxを選ぶか、Dokcerならタグにリリースを入れて構築することをオススメします。

https://hub.docker.com/r/library/amazonlinux/