「Homebrew は Mac で使えるパッケージ管理ツール」と思っている方も多いと思いますが (私がそうでした) 、実は Linux でも使えます。なんなら Windows 上の WSL でも使うことができます。
apt
コマンドでは簡単にインストールできないパッケージがインストールできることも多いので、使えるようにしておくと何かと便利です。
以下は WSL で Homebrew を使い、aws, aws-vault コマンドを使えるようにするまでの流れのメモ。
利用環境
# Windows 側
❯ wsl --version
WSL バージョン: 1.0.3.0
カーネル バージョン: 5.15.79.1
WSLg バージョン: 1.0.47
MSRDC バージョン: 1.2.3575
Direct3D バージョン: 1.606.4
DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windowsバージョン: 10.0.22621.963
# WSL 側
❯ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.5 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.5 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
WSL に Homebrew をインストールする
Homebrew on Linux に書かれた内容に沿ってインストールします。かいつまんだコマンドリストは以下のとおりです。
# インストールに必要なパッケージのインストール
sudo apt-get install build-essential procps curl file git
# インストールスクリプトの実行
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# PATHを通す
test -d ~/.linuxbrew && eval "$(~/.linuxbrew/bin/brew shellenv)"
test -d /home/linuxbrew/.linuxbrew && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
test -r ~/.bash_profile && echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >> ~/.bash_profile
echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >> ~/.profile
# Shell を再起動して brew が実行できるようになったことを確認する
exec $SHELL -l
brew --version
Homebrew を使って WSL に aws, aws-vault コマンドをインストールする
# aws, aws-vault コマンドをインストールする
brew install awscli aws-vault
# バージョン確認
aws --version
aws-vault --version
aws-vault で認証情報をファイル保存にする
ここはお好みでどうぞ。
通常、aws-vault では OS に搭載された資格情報マネージャーに情報を登録しようとします。そのため、WSL で使うには資格情報マネージャー相当のものを用意する手間がありますが、以下の設定を加えておくとそういった下準備なしにすぐ使えます。 AWS_VAULT_FILE_PASSPHRASE=hoge
は暗号化/復号化するときのパスフレーズなので、自由に設定してください。
echo 'export AWS_VAULT_BACKEND=file' >> ~/.bashrc
echo 'export AWS_VAULT_FILE_PASSPHRASE=hoge' >> ~/.bashrc
exec $SHELL -l
終わりに
はい、いくつかのコマンドだけで、Homebrew のセットアップから aws, aws-vault コマンドまで使えるようになりました!
aws コマンドは言わずもがな AWS リソースを操作するコマンドですが、aws-vault は聞き慣れない方もいらっしゃると思います。これは、aws cli を使う際の認証情報を暗号化して保持するためのツールです。使ったことが無い方は クラスメソッドさんの記事 なんかで分かりやすく解説されているので、ぜひ使ってみてください。