ubuntu系统怎么修改ollama模型下载位置?


    这大半年deepseek-r1和《哪吒之魔童闹海》都火得不得了,折腾不了哪吒,只能来折腾deepseek-r1的本地部署......
    但想更换模型的下载位置,着实折腾了一把。
    一、下载
    官网:点击下载Ollama
    二、安装
    windows系统下,直接双击”OllamaSetup.exe“,就会默认安装到C盘;
    如需修改安装目录,可使用-DIR参数:
    
    OllamaSetup.exe -DIR="D:\Ollama"
    Linux系统(ubuntu)下,直接运行命令即可:
    
    curl -fsSL https://ollama.com/install.sh | sh
     三、下载模型
    
    选择一个模型,如,deepseek-r1:8b,
    
    直接运行 ollama run deepseek-r1:8b,等模型下载完成,即可和模型进行对话
    
    但博主是一个对于软件下载目录有着偏执的人,既想尝试不同的模型,又想能自定义大容量的模型数据下载位置,于是就开始了折腾。
    四、折腾中
    最开始,问了最常问的AI助手 ChatGPT 和 deepseek 。
    windows系统(成功修改)
    
  • 右键点击 此电脑我的电脑,选择 属性
  • 点击 高级系统设置 > 环境变量
  • 系统变量用户变量 中,点击 新建
  • 输入变量名 OLLAMA_MODELS,变量值为目标目录路径(如 D:\ollama-models)。
  • 点击 确定 保存
  • 关闭并重启ollama(或者直接重启电脑),确保环境变量生效。
  • 验证:下载一个新模型,检查是否保存到指定的目录中。

    Linux(ubuntu)(修改失败)
    
  • 打开终端,编辑 shell 配置文件(如 ~/.bashrc~/.zshrc~/.bash_profile);
  • 添加行:export OLLAMA_MODELS=~/ollama-models
  • 保存文件并运行以下命令使配置生效:source ~/.bashrc # 或其他配置文件

    ------------------------------------------------------------------------------------------------------------
    后来在查看ollama使用手册时,发现可以通过/etc/systemd/system/ollama.service.d/override.conf来修改。
    /etc/systemd/system/ollama.service.d/override.conf
    是 systemd 的 override 配置文件,用于 修改 ollama.service 的默认行为,而 不需要直接修改 原始的 ollama.service 文件。
    作用
    1.自定义Ollama服务的参数(如,运行用户、环境变量、启动参数等);
    2.持久化配置,即使ollama更新,修改仍然生效(不像直接改ollama.service可能会被覆盖)
    3.优先级高,比/lib/systemd/system/ollama.service里的默认配置 优先级更高
    查看override.conf
    cat /etc/systemd/system/ollama.service.d/override.conf
    可能会看到类似以下的内容:
    
    [Service]
    User=liliko
    Group=liliko
    ExecStart=
    ExecStart=/usr/local/bin/ollama serve Environment="OLLAMA_MODELS=/home/liliko/Expansion/models"
    其中:
    
  • User=kerui / Group=kerui → 让 ollama 以 kerui 用户身份运行,而不是默认的 ollama 用户。
  • ExecStart= 清空原来的 ExecStart(必须这样写,否则新命令不会生效)。
  • ExecStart=/usr/local/bin/ollama serve 替换原来的启动命令。
  • Environment="OLLAMA_MODELS=/media/kerui/Expansion/models" → 让 ollama 读取新的模型存储路径。

    如何修改override.conf
    如果你想修改 ollama 的 systemd 服务,可以运行:
    
    sudo systemctl edit ollama
    这会 自动创建打开 /etc/systemd/system/ollama.service.d/override.conf,然后你可以添加或修改配置。
    示例:
    
    [Service] Environment="OLLAMA_MODELS=/home/liliko/New/models"
    保存后,运行:
    
    sudo systemctl daemon-reload
    sudo systemctl restart ollama
    这会 重新加载 systemd 配置重启 ollama 服务,让修改生效。
    再通过ollama下载模型,发现模型数据确实在我新设置的目录里了。
    谨此记录。