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

などとしてログを見る。

参考

Tags of current page

, ,