Linux系@管理ユーティリティ¶
01. apk¶
apkとは¶
Alpineリポジトリのパッケージを管理する。
add¶
Alpineリポジトリからパッケージをインストールする。
常に最新をインストールする仕様になっている。
もし、特定のバージョンをインストールしたい場合や、Alpineリポジトリ以外に置かれているパッケージは、以下のようにインストールする。
# wgetコマンドで一度ファイルを取得する
$ wget <該当のバージョンのalpineパッケージ>.apk
# 取得したファイルからパッケージをインストールする
$ apk add --allow-untrusted <パッケージ名>.apk
02. brew¶
brewとは¶
Linuxで使用できるパッケージを管理する。
最新バージョンしか管理できず、以前のバージョンを管理できない。
autoremove¶
パッケージの依存先としてインストールされたパッケージのうち、現在使用されていないものをアンイントールする。
事前に--dry-run
オプションを有効化し、対象のパッケージを確認すると良い。
$ brew autoremove --dry-run
$ brew autoremove
cleanup¶
パッケージの旧バージョンのキャッシュを削除する。
$ brew cleanup
doctor¶
brewの設定に不備がないかを検証する。
$ brew doctor
Your system is ready to brew.
# パッケージとエイリアスが正しく紐づいていない場合
$ brew doctor
Warning: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause formulae that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
<該当のパッケージ名>
...
install¶
パッケージをインストールする。
# Intel Macの場合
$ brew install <パッケージ名>
$ brew install <パッケージ名>@<バージョンタグ>
link¶
brewによって~/usr/local/Cellar
ディレクトリにインストールされたパッケージと、~/usr/local/bin
ディレクトリに作成されたパッケージへのエイリアスを紐付ける。
$ brew link <パッケージ名>
update¶
brew本体をアップグレードする。
$ brew update
upgrade¶
brew本体とパッケージの両方をアップグレードする。
$ brew upgrade
03. asdf¶
asdfとは¶
Linuxで使用できるパッケージを管理する。
また、異なるバージョンを同時に管理できる。
ただ基本的には、開発時に複数のバージョンが並行して必要になるようなパッケージしか提供していない。
.tool-version
ファイル¶
.tool-version
ファイルをリポジトリのルートディレクトリに置いておく必要がある。
異なる開発者がリポジトリ直下でパッケージをインストールした時に、特定のバージョンをインストールを強制できる。
# .tool-versionsファイル
foo-plugin <バージョンタグ>
もし.tool-version
ファイルがないと、asdfでインストールしたコマンドで以下のようなエラーになってしまう。
# asdfでSOPSをインストールしたとする。
$ sops -e plain.yaml
No version is set for command sops
Consider adding one of the following versions in your config file at
sops <バージョン>
セットアップ¶
▼ brewリポジトリから¶
brew
コマンドを使用してインストールする場合、~/.zshrc
ファイルを編集する必要がある。
$ brew install asdf
▼ GitHubリポジトリから¶
$ git clone --depth 1 https://github.com/asdf-vm/asdf.git ~/.asdf
$ echo '. "$HOME/.asdf/asdf.sh"' >> ~/.bashrc
# これはセットアップ環境によっては必要ないかも
$ export ASDF_DIR=~/.asdf
$ source ~/.bashrc
current¶
現在有効になっているバージョンを確認する。
$ asdf current
golang 1.19.13 <使用中の.tool-versionsファイルのパス>
helm 3.13.0 <使用中の.tool-versionsファイルのパス>
helmfile ______ <使用中の.tool-versionsファイルのパス>
kubectl 1.24.0 <使用中の.tool-versionsファイルのパス>
...
global¶
ホームディレクトリ (~/
) に.tool-version
ファイルを作成する。
$ asdf global <プラグイン名> 1.0.0
# ファイルが作成されたことを確認する。
$ cat ~/.tool-versions
foo 1.0.0
bar 1.0.0
list¶
インストールされているパッケージで使用できるバージョンの一覧を取得する。
$ asdf list all <プラグイン名>
local¶
現在のディレクトリに、.tool-version
ファイルを作成する。
事前にasdf install
コマンドでプラグインの特定のバージョンをインストールしておく必要がある。
$ asdf local <プラグイン名> 1.0.0
# ファイルが作成されたことを確認する。
$ cat .tool-versions
foo 1.0.0
bar 1.0.0
plugin¶
# 現在インストールされているプラグインを取得する。
$ asdf plugin list
# 登録しているプラグインを削除する。
$ asdf plugin remove <プラグイン名>
# プラグインのURLを調べる。
$ asdf plugin list all | grep <プラグイン名>
# プラグインをローカルマシンに登録する。
# まだインストールされていない。
$ asdf plugin add <プラグイン名> <URL>
# URLの指定がなくとも良い
$ asdf plugin add <プラグイン名>
install¶
# プラグインをローカルマシンに登録する。
# まだインストールされていない。
$ asdf plugin add <プラグイン名> <URL>
# 登録済みのプラグインをインストールする。
$ asdf install <プラグイン名> 1.0.0
Downloading <プラグイン名> from <URL>
# インストールされたことを確認できる。
$ asdf plugin list
もし、.tool-version
ファイルを作成してある場合には、プラグイン名とバージョンが不要になる。
$ asdf install
エディタを使用している場合は、新しくインストールしたバイナリに切り替える。
uninstall¶
プラグインをアンインストールする。
$ asdf uninstall <プラグイン名> 1.0.0