![aws updateコマンドで「aws: [ERROR]: gpg was not found」が出たらgpgをインストールしよう](https://devio2024-media.developers.io/image/upload/f_auto,q_auto,w_3840/f_auto,q_auto/v1790870442/eyecatch/jro5rfekrpuctx4ryksf.png)
aws updateコマンドで「aws: [ERROR]: gpg was not found」が出たらgpgをインストールしよう
こんにちは、臼田です。
みなさん、AWS CLI使ってますか?(挨拶
今回はタイトルの通り、AWS CLIのupdateコマンドを使った際のエラーの対処法です。
結論
aws updateコマンド実行時に[ERROR]: gpg was not foundのエラーが出たらgpg(GnuPG)をインストールしよう!
症状はこんな感じ。
aws update
Updating AWS CLI (source: script-exe)
Downloading https://awscli.amazonaws.com/v2/install.sh
aws: [ERROR]: gpg was not found, so the downloaded install script cannot be verified. Install gnupg and try again, re-run with --skip-signature-verification, or set AWS_CLI_INSTALL_SKIP_SIGNATURE_VERIFICATION=true, to update without verification (not recommended).
macOSの場合、GnuPGのインストールは以下のようにbrewから行えます。
% brew install gnupg
…中略…
==> Installing gnupg
==> Pouring gnupg--2.5.24_1.arm64_sequoia.bottle.tar.gz
No matching processes belonging to you were found
🍺 /opt/homebrew/Cellar/gnupg/2.5.24_1: 149 files, 16MB
他のOSの場合のインストール方法はそれぞれ調べてください。
GnuPGのインストール完了後、再度aws updateを実行すれば正常に完了します。
% aws update
Updating AWS CLI (source: script-exe)
Downloading https://awscli.amazonaws.com/v2/install.sh
Downloading https://awscli.amazonaws.com/v2/install.sh.sig
Install script signature verified. # 署名の検証が完了した
Running install script...
…以下略…
解説
AWS CLIでは先日aws updateコマンドが実装され、バージョン2.36.0以降アップデートが簡単にできるようになりました。
これまでは、公式の手順の場合ではcurlで取得したスクリプトベースの実行や、パッケージをダウンロードしてのインストールで入れていた場合は同じような手法でアップデートしていく必要がありました。
過去にリリースされた AWS CLI バージョン 2 をインストールする - AWS Command Line Interface
一応Homebrewなどのパッケージマネージャーを使っていた場合には、比較的簡単にアップデートできていましたが、そちらは現状公式ではありません。
というわけでやっと簡単にバージョンを上げられるぞーと実行すると以下のようになりました。
aws update
Updating AWS CLI (source: script-exe)
Downloading https://awscli.amazonaws.com/v2/install.sh
aws: [ERROR]: gpg was not found, so the downloaded install script cannot be verified. Install gnupg and try again, re-run with --skip-signature-verification, or set AWS_CLI_INSTALL_SKIP_SIGNATURE_VERIFICATION=true, to update without verification (not recommended).
エラーは「gpgコマンドが無いからインストールスクリプトが検証できないぞ」というものです。
選択肢は2つ提示されています。
- GunPGをインストールしよう
- [非推奨]
--skip-signature-verificationオプションかAWS_CLI_INSTALL_SKIP_SIGNATURE_VERIFICATION=true環境変数を設定して再実行する。署名の検証はされない。
GunPGはデータを暗号化/復号したりデジタル署名をしたりそれを検証するのに使います。AWS CLIの過去バージョンのインストール手順でも、手動で署名を検証するオプション手順が用意されていました。
今回aws updateコマンドになったことで、署名検証のプロセスも組み込まれて自動で行われるようになった、ということでしょう。
--skip-signature-verificationオプション等の手順を採用するとしても、今後常に同様の手順が必要になりますし、なにより非推奨手順ですから、セキュリティ的にもこの機能の本質であるアップデートの簡単さ的にもGunPGをインストールする1択です。
というわけで、GunPGをインストールします。
macOSなら以下のようにHomebrewでインストールできます。
% brew install gnupg
…中略…
==> Installing gnupg
==> Pouring gnupg--2.5.24_1.arm64_sequoia.bottle.tar.gz
No matching processes belonging to you were found
🍺 /opt/homebrew/Cellar/gnupg/2.5.24_1: 149 files, 16MB
そして再実行すると成功します。まあ、今回はaws updateサポート外バージョンから手動で上げたばかりで、更新はなかったのですが。
% aws update
Updating AWS CLI (source: script-exe)
Downloading https://awscli.amazonaws.com/v2/install.sh
Downloading https://awscli.amazonaws.com/v2/install.sh.sig
Install script signature verified.
Running install script...
Resolving user-local install paths:
HOME=/Users/hoge
XDG_DATA_HOME=/Users/hoge/.local/share
XDG_BIN_HOME=/Users/hoge/.local/bin
AWS CLI 2.38.5 is already installed at /Users/hoge/.local/share/aws-cli; nothing to do.
まとめ
aws updateコマンドは間違いなく救世主です!
GnuPGをインストールして快適に使いましょう!







