如何安全更改 Ollama 模型目錄
將 OLLAMA_MODELS 環境變數設為新目錄,把目前模型儲存複製到該處,重啟 Ollama,並證明一個已知模型仍可執行。在新位置透過該測試和一次全新重啟之前,請保留舊目錄。
移動任何內容前,先找到目前儲存
預設的Ollama 模型位置取決於作業系統:macOS 上為 ~/.ollama/models,標準 Linux 服務安裝為 /usr/share/ollama/.ollama/models,Windows 上為 C:\Users\%username%\.ollama\models。現有 OLLAMA_MODELS 值會覆寫這些預設值。
在認定預設設定處於活動狀態前,先檢查處理程序環境。還要確認目標位置有足夠可用空間容納臨時的第二份副本。如果遷移一開始就刪除來源,當權限、服務設定或輸入錯誤被發現時,就沒有乾淨的復原路徑。
複製目錄但不要改變其內部佈局
停止活動拉取和模型執行,再把目前 models 目錄內容複製到目標位置。保留目錄結構和檔名。Ollama 儲存並不是一個應該手動按易讀模型名稱重新整理的資料夾;清單會引用該佈局中的內容Blob。
# 目標位置範例 — 請在你的機器上選擇真實路徑
/Volumes/AI-Library/Ollama/models # macOS
/mnt/ai-library/ollama/models # Linux
D:\AI-Library\Ollama\models # Windows
使用平台的常規複製工具,並在之後比較檔案數或雜湊。複製仍在持續變化時,不要讓服務指向只複製了一部分的目標位置。
在 Ollama 處理程序能夠讀取的位置設定 OLLAMA_MODELS
變數必須存在於 Ollama 應用程式或服務的環境中,而不僅僅是存在於稍後會關閉的某個終端視窗。
- macOS 應用程式:結束 Ollama,執行
launchctl setenv OLLAMA_MODELS "/Volumes/AI-Library/Ollama/models",然後重新開啟應用程式。官方 FAQ 指出該應用程式透過launchctl繼承環境變數。 - Linux systemd 服務:執行
systemctl edit ollama.service,在[Service]下新增Environment="OLLAMA_MODELS=/mnt/ai-library/ollama/models",然後重新載入 systemd 並重啟 Ollama。 - Windows 應用程式:從工作列結束 Ollama,在 Windows 設定中新增名為
OLLAMA_MODELS的使用者環境變數,然後再次啟動應用程式。
在 Linux 上,標準安裝程式以 ollama 使用者執行服務。因此,官方指南要求該使用者對目標位置擁有讀寫權限;範例為 sudo chown -R ollama:ollama <directory>。請選擇適合系統的權限,而不要讓模型庫對所有使用者可寫。
驗證目標位置,而不是盲信設定
- 完全重啟 Ollama。
- 執行
ollama list,確認存在一個已知模型。 - 用一個極短提示執行該模型,然後正常停止。
- 拉取一個小模型或檢查修改活動,確認新資料進入目標位置。
- 再重啟一次,並重復已知模型測試。
如果清單意外為空,請立即停止。重新檢查服務看到的變數、目錄所有權,以及是否把內容複製到了額外巢狀的一層 models 資料夾。復原先前的環境值應能立即讓舊路徑重新投入服務。
移動儲存並不等於儲存內容
新目錄可以解決容量或放置問題,但它仍是活動執行環境儲存。意外刪除、檔案系統故障或過於激進的清理可能影響唯一副本。對無法承受重新取得、重建或重新訓練的模型,請保留單獨的復原策略。
當你能夠明確要保留的相關檔案時,Tensor Archive 才能發揮作用。請封存一個已完成的本機系列、進行驗證並還原到單獨位置,然後再把任何工作副本視為可丟棄。它不會替代 OLLAMA_MODELS、編輯服務,也不會假裝路徑變更就是備份。
接下來閱讀什麼
有關預設值和覆寫行為的對映,請參閱Ollama 模型的儲存位置。如果多個工具現在指向同一磁碟,請在移除較舊副本前使用本機模型庫保留清單。
來源
- Ollama FAQ — 目前預設目錄、
OLLAMA_MODELS、各平台環境設定和 Linux 權限。 - Ollama CLI 參考 — 用於驗證的目前
ollama list、run和pull命令。