asdf で Ollama をインストールする
Ubuntu 24.10 に asdf を使って ollama をインストールした。
通常のインストールとアンインストール
インストールのスクリプトを実行すれば良い。
curl -fsSL https://ollama.com/install.sh | sh
systemctl で ollama serve が自動で実行される。 ollama serve が実行されている状態でないと ollama list なども動かないので注意する。 モデルを実行するには
ollama run llama3.2
とする。このとき、必要なファイルは自動的にダウンロードされる。
asdf でインストールすることにしたので、上の方法でシステムにインストールされたファイルは削除して、アンインストールした。
systemctl stop ollama.service
systemctl disable ollama.service
rm /etc/systemd/system/ollama.service
rm -r /usr/share/ollama
rm /usr/local/bin/ollama
rm -r /usr/local/lib/ollama
userdel ollama
groupdel ollama
asdf によるインストール
asdf でインストールするには
asdf plugin add ollama
asdf install ollama 0.5.4
asdf global ollama 0.5.4
などととする。
ollama serve
を実行してから
ollama run llama3.2
としてモデルを実行する。モデルは ~/.ollama/ に保存される。
ログイン時に ollama serve を自動的に実行したいので systemctl で起動するようにした。 asdf でインストールした ollama で ollama serve を実行する以下のスクリプト ollama_serve_asdf.sh を作成する。
#!/usr/bin/bash
export ASDF_DIR=$HOME/.asdf
export ASDF_DATA_DIR=$ASDF_DIR
. $ASDF_DIR/asdf.sh
ollama serve
以下の ~/.config/systemd/user/ollama.service を作る。
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=%h/.ollama/ollama_serve_asdf.sh
Restart=always
RestartSec=3
[Install]
WantedBy=default.target
systemctl に登録する。
systemctl --user daemon-reload
systemctl --user start ollama.service
systemctl --user enable ollama.service
[追記 2025-03-04] asdf v0.16
asdf v0.16 で設定の仕方が変わったので、ollama_serve_asdf.sh は環境変数を設定するだけで良い。 私の環境では asdf のパスは ~/.local/bin、ASDF_DATA_DIR は ~/.asdf なので、 これらのパスに合わせて、次のようにした。
#!/usr/bin/bash
export PATH="${ASDF_DATA_DIR:-$HOME/.asdf}/shims:${HOME}/.local/bin:$PATH"
export ASDF_CONFIG_FILE=${HOME}/.asdf/asdfrc
ollama serve
スクリプトが動作してるかどうかを確認するには
journalctl -n 30
などとしてログを見る。