2022年6月13日作成
Arch Linuxで最新のAWS CLI v2をインストールする
AWS CloudWatchのログをみるとき、今まではAURのawslogsを使っていたけど、 6/10頃からpacman -Syuしたときに以下のエラーで失敗するようになった。
$ sudo pacman -Syu
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing python-jmespath (1.0.0-1) breaks dependency 'python-jmespath<1.0.0' required by awslogs
AWS CLI v2にあるaws logs tailコマンドでawslogs相当のことが行えるらしいが、 Arch LinuxのCommunityパッケージにあるaws-cliはv1で、 AURにあるaws-cli-v2はバージョンが古く、どちらも要件を満たせない。
次に、AWS CLI v2をpipからインストールしてみたを参考にpipで試すと、 2022年時点ではbotocoreのv2ブランチに動きがなく、 Cのソースファイルをビルドするところでエラーになったので諦めた。
仕方がないのでバイナリパッケージを入れる。
# 古いコマンドは消しておく
$ sudo pacman -Rs awslogs aws-cli
$ curl https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip -o awscliv2.zip
$ unzip awscliv2.zip
$ ./aws/install -i ~/pkg/aws -b ~/bin
これで、Arch Linuxの標準では~/.local/binにawsコマンドがインストールされる。 アップデートする場合は、新しいインストーラをダウンロードしてinstall -uするといいらしい。
これを調べている時に知ったけど、今はpython -mpipとするらしい。 また、GitHubのURLを渡すと直接インストールできる。
$ python -m pip install git+https://github.com/aws/aws-cli.git@v2
# アーカイブの場合はこれ
$ python -m pip install https://github.com/aws/aws-cli/archive/v2.tar.gz