Ollama 安装与配置记录(Docker 环境实测,autoDL 中)

本文档记录在 autoDL Ubuntu 22.04 / x86_64 / root、网络访问 GitHub 与部分代理不理想的情况下,最终通过 ModelScope 完成 Ollama 安装的全过程,便于复现与排错。


1. 环境信息

项目
操作系统 Ubuntu 22.04.5 LTS(jammy)
架构 x86_64(Ollama 官方脚本对应 amd64
用户 root
Shell / 路径 /root/autodl-tmp(工作目录)
GPU(实测) NVIDIA GeForce RTX 4090,nvidia-smi 可用
已有 Python 环境 Miniconda 位于 /root/miniconda3

2. 目标

直连 ollama.com 或大文件下载易卡住 / 超时 的前提下,选择合适的国内可达源安装 Ollama,并验证服务可用。


3. 安装前遇到的问题

3.1 已存在但不完整的 ollama 二进制

  • 现象:执行 ollama version(或等价命令)出现 Segmentation fault
  • 原因/usr/local/bin/ollama 体积约 2MBfile 显示 ELF 不完整,提示 missing section headers,疑似 下载中途截断 或拷贝损坏。
  • 处理:安装前删除坏文件及相关目录:
rm -f /usr/local/bin/ollama
rm -rf /usr/local/lib/ollama
systemctl stop ollama 2>/dev/null || true

3.2 官方脚本与 GitHub Release 在本机不可靠

以下为当时 探测性命令(用于判断网络行为,不必逐条在生产环境重复):

# 架构 / 发行版
uname -m
cat /etc/os-release | head -5

# GitHub Latest 最终会 302 到带版本号的资产 URL(示例为当时探测到的跳转)
curl -sI -m 20 -L "https://github.com/ollama/ollama/releases/latest/download/ollama-linux-amd64.tgz" | head -8

本环境实测

  • mirror.ghproxy.com连接超时
  • ghproxy.net:对 Latest 资产请求返回 403
  • 直连 GitHub:大文件在短时间内 仅能收到少量字节便超时,不适合稳定完成 ~1GB+ 的包体下载
    因此 未采用「官方 install.sh + sed 替换下载基址」作为最终方案。

3.3 zstd 与 PATH 的隐患

新版本 Linux 发行包多为 ollama-linux-amd64.tar.zst(zstd 压缩)。本机 /bin/zstd(系统)可用;但默认 PATH 中若 /root/miniconda3/bin 居前,可能出现 conda 自带的 zstd 与其它工具混入解压流程的情况。

处理原则:在安装、解压阶段显式将系统路径前置,例如:

export PATH="/usr/bin:/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/sbin"

4. 最终方案:ModelScope 上的 modelscope/ollama-linux

该模型仓库提供:

  • ollama-linux-amd64.tar.zst(大归档)
  • ollama-modelscope-install.sh(安装脚本)

来源页面(自行在浏览器确认最新说明):
ModelScope:modelscope/ollama-linux


5. 安装步骤(可复制执行顺序)

5.1 安装 ModelScope CLI(本机使用 Miniconda 的 pip)

系统未提供全局 pip 时,使用已有 Miniconda:

/root/miniconda3/bin/pip install -q modelscope

5.2 下载 Ollama Linux 包到本地目录

mkdir -p /root/autodl-tmp/ollama-linux
/root/miniconda3/bin/modelscope download \
  --model=modelscope/ollama-linux \
  --local_dir /root/autodl-tmp/ollama-linux

说明

  • 下载体积约 1.66GB(以进度条显示为准),耗时取决于带宽。
  • 完成后目录中应包含:ollama-linux-amd64.tar.zstollama-modelscope-install.shREADME.md 等。

5.3 执行安装脚本(root)

export PATH="/usr/bin:/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/sbin"
cd /root/autodl-tmp/ollama-linux
chmod +x ./ollama-modelscope-install.sh
sh ./ollama-modelscope-install.sh

脚本主要行为(摘要)

  • 将内容安装到 /usr/local 体系下(与官方 Linux 安装布局一致思路)
  • 若存在 ollama-linux-amd64.tar.zst,使用 tar -I zstd -xf ... 解压展开
  • 若系统存在 systemctl,会尝试写入 /etc/systemd/system/ollama.service 并做用户/组配置(见下文「systemd 限制」)

5.4 验证 GPU 驱动(安装脚本会依赖此结果分支)

nvidia-smi | head -20

本环境在运行安装脚本时 已能 nvidia-smi,因此脚本在 NVIDIA 分支 不会再去装 CUDA 驱动(避免在已有驱动的训练镜像上重复操作)。


6. 安装后配置与运行方式

6.1 版本与可执行文件位置

/usr/local/bin/ollama --version

本环境结果:客户端报告 0.17.5(以 ModelScope 当前同步包为准;通常 低于 GitHub 最新 Release)。

说明:部分文档使用 ollama version 子命令;若当前版本不支持,请使用 ollama --version

6.2 systemd 在本环境不可用(容器常见)

systemctl is-system-running

本环境结果offline(systemd 未作为 PID 1 正常运行)。

影响

  • 不要依赖 systemctl enable/start ollama 作为唯一启动方式。
  • 需使用 手动前台后台进程 启动服务,例如:
export PATH="/usr/local/bin:/usr/bin:/bin:$PATH"
ollama serve

默认监听(日志中可见):http://127.0.0.1:11434

6.3 API 冒烟测试(可选)

在一个终端启动服务后,另开终端:

curl -sS http://127.0.0.1:11434/api/version

本环境成功示例返回(JSON):{"version":"0.17.5"}

测试结束后如需要结束服务,可按进程管理习惯 pkill 或在前台 Ctrl+C(仅作开发机测试时使用)。

6.4 模型存储位置(默认)

日志中可见环境变量示例:

  • OLLAMA_MODELS=/root/.ollama/models

拉取模型前请保证磁盘空间充足。

6.5 拉取 / 运行模型(常规用法)

# 需先 ollama serve 在运行
ollama pull <模型名>
ollama run <模型名>

pull 仍慢,属于 Registry / 模型仓库 访问问题,与「二进制安装源」是不同层面;需另行配置镜像或代理(此处未展开,以免与本次安装记录混淆)。


7. 问题与对策汇总

问题 表现 对策
官方一键装/VPN 外下载卡住 install.sh 拉取 ollama.com/download 或跳转 GitHub 资产极慢、超时 改用 ModelScope 提供的 ollama-linux 大包 + 安装脚本
ghproxy 类服务不可用 连接超时或 403 更换其它镜像源或放弃该路径;本机最终未用 ghproxy 成功落盘
旧二进制损坏 ollama 段错误 / file 报章节头缺失 删除 /usr/local/bin/ollama/usr/local/lib/ollama 后重装
zstd/PATH 混入 conda 解压异常或调用到非预期 zstd 安装时 export PATH系统 /usr/bin/bin 置顶
systemd offline systemctl 无法管理服务 手动 ollama serve(或自备进程守护方案)

8. 文件与命令索引(便于审计)

8.1 关键路径

路径 说明
/root/autodl-tmp/ollama-linux/ ModelScope 下载目录
/root/autodl-tmp/ollama-linux/ollama-linux-amd64.tar.zst 安装归档
/root/autodl-tmp/ollama-linux/ollama-modelscope-install.sh 安装脚本
/usr/local/bin/ollama 命令行入口(安装后)
/usr/local/lib/ollama/ 运行库文件目录(安装后,cuda_v12/cuda_v13 等子目录可能存在)
/etc/systemd/system/ollama.service 安装脚本生成的 unit(若存在;在无 systemd 环境仅作占位,无法靠其启动)

8.2 本轮使用过的核心命令一览

# 清理损坏的旧安装
rm -f /usr/local/bin/ollama
rm -rf /usr/local/lib/ollama

# ModelScope CLI
/root/miniconda3/bin/pip install -q modelscope
/root/miniconda3/bin/modelscope download --model=modelscope/ollama-linux --local_dir /root/autodl-tmp/ollama-linux

# 安装(注意 PATH)
export PATH="/usr/bin:/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/sbin"
cd /root/autodl-tmp/ollama-linux && chmod +x ./ollama-modelscope-install.sh && sh ./ollama-modelscope-install.sh

# 验证
nvidia-smi | head
/usr/local/bin/ollama --version
systemctl is-system-running  # 若为 offline,请用手动 serve

9. 后续可选工作(本文未自动执行)

  • 升级版本:关注 ModelScope 仓库是否同步更新包;或使用可稳定访问 GitHub 的环境重新下载 官方 install.sh 指定 OLLAMA_VERSION 的资产。
  • ollama serve 常驻:在无 systemd 场景使用 tmux/screensupervisor、或容器入口脚本自行拉起。
  • 模型下载加速:单独配置可用的 Registry 镜像 / 代理,与二进制安装文档分离记录更佳。

10. 修订记录

日期 说明
2026-05-13 在本环境实测安装后整理成文(ModelScope 方案落盘并成功 ollama serve + /api/version

11. 边界

Ollama 仅提供后端推理服务(即 API 接口),不具备前端用户界面。如需图形化交互,须额外部署前端框架(如 Open WebUI)。

12. 指定端口启动

通过环境变量 OLLAMA_HOST 可自定义服务监听的 IP 与端口。例如,以下命令将使 Ollama 监听 0.0.0.0:8080

export OLLAMA_HOST="0.0.0.0:8080"
ollama serve

若需长期生效,建议将该环境变量写入配置文件(如 ~/.bashrc 或 systemd 服务文件)。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐