如何安全更改 Ollama 模型目录
将 OLLAMA_MODELS 环境变量设为新目录,把当前模型存储复制到该处,重启 Ollama,并证明一个已知模型仍可运行。在新位置通过该测试和一次全新重启之前,请保留旧目录。
移动任何内容前,先找到当前存储
默认的Ollama 模型位置取决于操作系统:macOS 上为 ~/.ollama/models,标准 Linux 服务安装为 /usr/share/ollama/.ollama/models,Windows 上为 C:\Users\%username%\.ollama\models。现有 OLLAMA_MODELS 值会覆盖这些默认值。
在认定默认设置处于活动状态前,先检查进程环境。还要确认目标位置有足够可用空间容纳临时的第二份副本。如果迁移一开始就删除来源,当权限、服务配置或输入错误被发现时,就没有干净的回滚路径。
复制目录但不要改变其内部布局
停止活动拉取和模型运行,再把当前 models 目录内容复制到目标位置。保留目录结构和文件名。Ollama 存储并不是一个应该手工按友好模型名称重新整理的文件夹;清单会引用该布局中的内容数据块。
# 目标位置示例 — 请在你的机器上选择真实路径
/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命令。