【LLM】国内加速安装Ollama并手动构建解决报错
摘要 本文介绍了在国内网络环境下手动安装Ollama的方法。针对自动安装失败的情况,建议通过国内GitHub加速站点下载安装包。文章详细说明了下载、解压和启动Ollama的步骤,并重点解决了服务启动失败的问题。包括创建专用ollama用户、修改目录权限、配置systemd服务文件等关键操作。最后展示了验证安装成功的方法,如查看模型列表等。整个过程解决了国内用户安装Ollama时可能遇到的主要网络和
【LLM】国内加速安装Ollama
由于尝试了多种自动下载安装的方法都失败了,所以选择手动安装
首先找到一个国内的加速github的网站,比如:https://github.akams.cn/
- 输入我们要下载的内容:https://github.com/ollama/ollama/releases/latest/download/ollama-linux-amd64.tgz
- 可以查看ollama官方的手动下载安装教程:https://github.com/ollama/ollama/blob/main/docs/linux.md,其实并不复杂
手动安装官方教程
注意
如果您要从先前版本升级,应首先使用sudo rm -rf /usr/lib/ollama
删除旧库。
下载并解压软件包:
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
启动Ollama:
ollama serve
在另一个终端中,验证Ollama是否正在运行:
ollama -v
下载
上述的下载安装包就是我们要去加速网站找一个比较快的链接下载
解压
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
启动
ollama serve
配置环境变量
使用系统服务启动ollama发现报错:
Failed to start ollama.service: Unit ollama.service not found.
根错误信息 Failed to start ollama.service: Unit ollama.service not found
,这表明系统无法找到或识别 Ollama 的服务文件。以下是详细的解决方案:
1. 确认服务文件是否存在
Ollama 的服务文件通常位于 /etc/systemd/system/ollama.service
。检查该文件是否存在:
ls /etc/systemd/system/ollama.service
如果不存在,可能是安装过程中未生成或遗漏了该文件。
2. 手动创建服务文件
若文件缺失,需手动创建并配置服务文件:
sudo tee /etc/systemd/system/ollama.service <<EOF
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
[Install]
WantedBy=default.target
EOF
关键点:
• ExecStart
需指向 Ollama 的实际安装路径(如 /usr/bin/ollama
或 /usr/local/bin/ollama
)。
• 确保 User
和 Group
设置为 ollama
(需提前创建用户和组)。
3. 创建 Ollama 用户和组
若未创建专用用户,执行以下命令:
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo chown -R ollama:ollama /usr/share/ollama
避免以 root
身份运行服务以提高安全性。
4. 重载 systemd 并启动服务
完成配置后,重新加载 systemd 并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable --now ollama.service
sudo systemctl status ollama.service
预期输出:
● ollama.service - Ollama Service
Loaded: loaded (/etc/systemd/system/ollama.service; enabled)
Active: active (running) since [...]
若状态显示 active (running)
则成功。
5. 排查常见问题
• 权限问题:确保 /usr/share/ollama
和模型存储目录(如 ~/.ollama/models
)的权限正确。
• 环境变量:若需自定义模型路径或监听地址,可在 [Service]
部分添加:
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/path/to/models"
修改后需重启服务。
• 日志分析:若启动失败,查看详细日志:
journalctl -u ollama.service -xe
6. 重新安装 Ollama(可选)
若问题持续,尝试重新安装:
curl -fsSL https://ollama.com/install.sh | sh
官方脚本通常会生成默认服务文件。
总结步骤
- 检查/创建服务文件 → 2. 配置用户权限 → 3. 重载并启动服务 → 4. 验证状态和日志。
多数情况下,手动创建服务文件即可解决问题。若仍有疑问,可提供journalctl
日志进一步分析。
启动ollama
配置完成后可以启动ollama
sudo systemctl start ollama
启动后查看ollama状态
sudo systemctl status ollama
可能会遇到以下报错:
sudo systemctl status ollama.service
Warning: The unit file, source configuration file or drop-ins of ollama.service changed on >
● ollama.service - Ollama Service
Loaded: loaded (/etc/systemd/system/ollama.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Thu 2025-06-26 11:26:31 CS>
Process: 1259035 ExecStart=/usr/local/bin/ollama serve (code=exited, status=1/FAILURE)
Main PID: 1259035 (code=exited, status=1/FAILURE)
CPU: 17ms
Ollama 服务处于持续重启失败状态(activating (auto-restart)),且主进程退出码为 1/FAILURE。
原因:
Ollama 服务处于持续重启失败状态(activating (auto-restart)),
且主进程退出码为 1/FAILURE。结合搜索结果,以下是解决方案:
服务反复重启(auto-restart),表明配置或权限问题导致进程无法持续运行。
退出码 1/FAILURE 通常与 权限不足、路径错误 或 依赖缺失 相关。
常见原因
目录权限问题:Ollama 无法写入 /usr/share/ollama 或生成密钥文件(如 id_ed25519)。
创建ollama用户
sudo mkdir -p /usr/share/ollama/.ollama
sudo chown -R ollama:ollama /usr/share/ollama # 确保用户为ollama[1,6](@ref)
使用以下命令让我们可以操控ollama所属的文件:
sudo chmod 755 /usr/share/ollama # 开放读和执行权限给其他用户
这样在目录:/usr/share/ollama
就可以看到ollama下载的模型了:
使用ollama list
可以查看已有模型
ollama模型默认保存地址
- Linux 系统
默认模型路径:
常见路径为/usr/share/ollama/.ollama/models
。
部分配置可能使用~/.ollama/models
(用户主目录下)。
设置ollama使用GPU并指定GPU
编辑配置文件:
sudo nano /etc/systemd/system/ollama.service
在配置文件中加入:
Environment="OLLAMA_DEVICE=cuda"
Environment="CUDA_VISIBLE_DEVICES=0"
完整文件内容如下:
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Environment="OLLAMA_DEVICE=cuda"
Environment="CUDA_VISIBLE_DEVICES=0"
[Install]
WantedBy=default.target
更多推荐
所有评论(0)