这篇文章解决什么问题
如果你已经知道 Ollama 是什么,也准备在 Linux 或 WSL 里把模型真正跑起来,这篇文章就是专门给 Linux 用户的部署说明。
它主要解决四件事:
- Linux 下怎么安装
Ollama - 怎么确认
GPU和CUDA环境是否可用 - 怎么用
systemd把Ollama变成常驻服务 - 模型默认下载到哪里,以及怎么改模型目录
如果你想先看更通用的安装和模型命令主线,可以先读:
一、部署前先确认机器条件
本地跑模型前,建议先确认以下几点:
- 操作系统是否支持当前安装方式
- 磁盘空间是否足够存放模型文件
- 如果计划用 GPU,加速环境是否可用
- 是否允许后台服务长期运行
如果你在 Linux 或 WSL 中计划使用 NVIDIA GPU,可以先执行:
nvidia-smi
通常重点看这些字段:
Driver Version:显卡驱动版本CUDA Version:CUDA 版本- 显存容量与当前占用情况
如果这些信息能正常显示,通常说明 GPU 环境已经基本可用。
这里要特别注意:
- 如果你希望启用
NVIDIA GPU加速,必须先手动安装好显卡驱动、CUDA及相关运行环境 Ollama本身不会自动帮你完成这一步,它只是在检测到可用 GPU 环境后进行调用
也就是说,安装 Ollama 和 准备好 NVIDIA 加速环境 是两件事,不要混为一谈。
二、Linux 下安装 Ollama
1. 官网脚本一键安装
这是最省事的方式:
curl -fsSL https://ollama.com/install.sh | sh
ollama --version
适合快速体验或个人开发环境。
2. 手动下载安装包
如果网络受限、需要离线部署,或者希望自己掌控安装路径,可以手动下载对应压缩包:
- 官网下载页:https://ollama.com/download/linux
- Linux AMD64 包:https://ollama.com/download/ollama-linux-amd64.tgz
下载后解压,并将可执行文件放到系统 PATH 中即可。
三、前台运行:适合快速测试
安装完成后,可以先直接在终端里启动:
ollama serve
这种方式适合:
- 临时调试
- 验证安装是否成功
- 观察日志输出
如果日志里能看到服务监听成功、GPU 被识别等信息,通常说明环境没有大问题。
前台运行结束时,可以使用 Ctrl + C 直接退出当前服务进程。
四、Linux 下用 systemd 管理 Ollama
如果你希望 Ollama 作为系统服务运行,适合使用 systemd 进行管理。这样更适合服务器、长期运行环境和开机自启场景。
1. 创建运行用户
先创建专用用户,并把当前用户加入对应用户组:
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)
这样做的好处是:
- 避免直接用
root常驻运行 - 便于隔离权限
- 更适合生产或长期运行环境
2. 创建 systemd 服务文件
创建服务文件:
sudo touch /etc/systemd/system/ollama.service
然后写入以下内容:
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"
[Install]
WantedBy=multi-user.target
如果你的 ollama 不在 /usr/bin/ollama,需要把 ExecStart 改成真实路径。
3. 重新加载 systemd 配置
sudo systemctl daemon-reload
4. 常用服务管理命令
sudo systemctl enable ollama # 开机自启
sudo systemctl disable ollama # 取消开机自启
sudo systemctl start ollama # 启动服务
sudo systemctl status ollama # 查看服务状态
sudo systemctl stop ollama # 停止服务
如果你修改过服务文件,通常还需要重新执行一次:
sudo systemctl daemon-reload
sudo systemctl restart ollama
五、验证 Ollama 服务是否正常
1. 查看服务状态
sudo systemctl status ollama
如果状态是 active (running),通常表示服务已经正常启动。
2. 查看日志
如果你怀疑服务没有启动成功,可以进一步看日志:
journalctl -u ollama -n 100 --no-pager
重点关注这些问题:
- 可执行文件路径是否正确
- 权限是否足够
- 端口是否冲突
- GPU 或 CUDA 是否识别成功
六、Linux 下修改模型目录
很多人第一次拉模型时,最容易忽略的问题不是命令本身,而是:
- 模型文件到底下载到哪里了
- 默认盘符空间不够时怎么改目录
systemd和手动运行时,模型目录是不是同一个位置
这部分建议在正式下载大模型之前先搞清楚。
1. 默认模型目录在哪
Ollama 的模型目录,本质上跟“当前运行 Ollama 的用户家目录”有关。
常见情况可以先这样记:
- Linux 手动运行:
~/.ollama/models - Linux
systemd运行:通常是/usr/share/ollama/.ollama/models
之所以 systemd 场景常见的是 /usr/share/ollama/.ollama/models,是因为前面创建服务用户时用了:
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
也就是说,这个 ollama 用户的家目录就是 /usr/share/ollama,因此模型默认会落到:
/usr/share/ollama/.ollama/models
如果你是用当前登录用户直接执行 ollama serve,那模型目录通常会在当前用户的:
~/.ollama/models
2. Linux 前台运行时怎么修改
如果你是手动执行 ollama serve,可以直接在当前 shell 中设置环境变量:
export OLLAMA_MODELS=/data/ollama/models
ollama serve
如果你希望长期生效,可以把它写入 ~/.bashrc 或 ~/.zshrc:
export OLLAMA_MODELS=/data/ollama/models
保存后重新加载 shell 配置,或者重新打开终端。
3. Linux systemd 服务中怎么修改
如果你是按本文前面的方式,把 Ollama 作为 systemd 服务运行,那么最稳妥的做法是直接在服务配置里增加环境变量。
例如:
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Environment="OLLAMA_MODELS=/data/ollama/models"
如果你已经有服务文件,也可以在现有配置基础上追加这一行。
修改后执行:
sudo mkdir -p /data/ollama/models
sudo chown -R ollama:ollama /data/ollama
sudo systemctl daemon-reload
sudo systemctl restart ollama
这里最关键的是两点:
- 目标目录要提前创建
- 运行服务的用户要对该目录有读写权限
否则服务虽然能启动,但模型可能下载失败,或者运行时找不到写入权限。
4. 如果模型已经下载过,修改路径后怎么办
如果你已经拉过模型,再修改 OLLAMA_MODELS,新旧目录不会自动帮你迁移。
常见做法是:
- 停掉
Ollama服务或退出Ollama程序 - 手动把原目录下的模型文件移动到新目录
- 确认新目录权限正确
- 重新启动
Ollama - 执行
ollama list检查模型是否仍然能识别
如果你不想手动迁移,也可以在新目录重新执行一次 ollama pull,只是会重新下载,占用时间和带宽。
5. 怎么确认当前模型目录已经生效
可以用最直接的办法验证:
- 先设置好
OLLAMA_MODELS - 重启
Ollama - 拉一个小模型,例如:
ollama pull qwen2:0.5b
- 到你设置的新目录里查看是否出现了模型文件
如果你用的是 systemd,还可以结合日志一起看:
journalctl -u ollama -n 100 --no-pager
小结
这篇文章真正要打通的是下面这条 Linux 主线:
检查环境 -> Linux 安装 -> 前台测试 -> systemd 托管 -> 验证服务 -> 调整模型目录
只要这条链路跑通,你就已经具备了在 Linux 或 WSL 里稳定运行本地模型的基础。