本文针对树莓派(ARM64 架构)环境,解决 Ollama 安装过程中常见的「空间不足」「权限错误」「服务启动失败」等问题,提供从环境准备到模型运行的一站式教程。

一、环境检查

1. 检查磁盘与内存

首先确认树莓派磁盘空间和内存状态(需至少 10GB 可用磁盘空间、2GB 以上内存):

bash

运行

# 查看磁盘使用情况(根分区 / 需剩余 ≥10GB)
df -h

# 查看内存和 swap 状态
free -h

2. 扩容 Swap 空间(解决解压大文件内存不足)

树莓派默认 Swap 过小,解压 Ollama 安装包会触发「空间不足」错误,需临时扩容:

bash

运行

# 1. 安装 swap 管理工具(若未安装)
sudo apt update && sudo apt install -y dphys-swapfile

# 2. 创建/修改 swap 配置文件
sudo nano /etc/dphys-swapfile

粘贴以下内容(设置 4GB Swap):

ini

CONF_SWAPFILE=/var/swap
CONF_SWAPSIZE=4096
CONF_MAXSWAP=4096

保存退出(Ctrl+O → 回车 → Ctrl+X),然后重启 Swap:

bash

运行

sudo dphys-swapfile swapoff
sudo dphys-swapfile setup
sudo dphys-swapfile swapon

# 验证 Swap 生效(显示 SIZE 为 4G 即成功)
sudo swapon --show

二、手动安装 Ollama(绕过 /tmp 临时目录限制)

官方安装脚本会将文件下载到内存型 /tmp 目录,易触发空间不足,因此手动安装:

1. 下载 Ollama 安装包

bash

运行

# 切换到用户目录(物理磁盘,空间充足)
cd /home/$(whoami)

# 下载 ARM64 版本安装包(通过 gh-proxy 加速)
wget https://gh-proxy.org/https://github.com/ollama/ollama/releases/latest/download/ollama-linux-arm64.tar.zst -O ollama-linux-arm64.tar.zst

2. 解压并安装

bash

运行

# 创建临时解压目录
mkdir -p ~/ollama_temp

# 解压 zst 压缩包(指定 zstd 算法,避免 tar 解析错误)
sudo tar -I zstd -xf ollama-linux-arm64.tar.zst -C ~/ollama_temp

# 复制到系统目录(Ollama 安装路径)
sudo cp -r ~/ollama_temp/* /usr/local/

# 清理临时文件
rm -rf ~/ollama_temp
rm ollama-linux-arm64.tar.zst

3. 配置系统服务

bash

运行

# 创建 ollama 用户(系统级,无登录权限)
sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama

# 创建系统服务文件
sudo tee /etc/systemd/system/ollama.service > /dev/null << EOF
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
User=ollama
Group=ollama
ExecStart=/usr/local/bin/ollama serve
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

[Install]
WantedBy=multi-user.target
EOF

# 重新加载服务配置
sudo systemctl daemon-reload

# 启动并设置开机自启
sudo systemctl start ollama
sudo systemctl enable ollama

4. 修复执行权限

解决普通用户运行 ollama 提示「Permission denied」问题:

bash

运行

# 赋予全局执行权限
sudo chmod +x /usr/local/bin/ollama

# 验证权限(输出包含 rwxr-xr-x 即成功)
ls -l /usr/local/bin/ollama

5. 验证 Ollama 安装

bash

运行

# 查看版本(无「could not connect」警告即成功)
ollama --version

# 查看服务状态(显示 active (running) 即正常)
sudo systemctl status ollama

三、运行 Qwen3.5:0.8B 轻量模型

Qwen3.5:0.8B 是适配树莓派的超轻量模型,无需外接显卡即可运行:

1. 拉取并运行模型

bash

运行

# 首次运行自动下载模型(约几百 MB,耐心等待)
ollama run qwen3.5:0.8b

2. 模型交互测试

模型加载完成后,输入指令测试:

plaintext

>>> 你好,请介绍一下自己
>>> 用 Python 写一个简单的 Hello World 程序
>>> 1+1等于多少

退出交互模式:输入 /bye 并回车。

3. 模型管理(可选)

bash

运行

# 仅拉取模型(不运行)
ollama pull qwen3.5:0.8b

# 查看已安装的模型
ollama list

# 删除模型(清理空间)
ollama rm qwen3.5:0.8b

四、常见问题修复

1. 模型下载提示「空间不足」

将模型存储目录迁移到外接存储(如 U 盘 / 移动硬盘):

bash

运行

# 停止 Ollama 服务
sudo systemctl stop ollama

# 挂载外接存储(假设设备为 /dev/sda1,挂载到 /mnt/ollama)
sudo mkdir -p /mnt/ollama/models
sudo mount /dev/sda1 /mnt/ollama
sudo chown -R ollama:ollama /mnt/ollama

# 修改模型存储路径
sudo tee /etc/systemd/system/ollama.service.d/override.conf > /dev/null << EOF
[Service]
Environment="OLLAMA_MODELS=/mnt/ollama/models"
EOF

# 重启服务
sudo systemctl daemon-reload
sudo systemctl start ollama

2. 运行模型提示「内存不足」

使用更低量化版本的模型,减少内存占用:

bash

运行

ollama run qwen3.5:0.8b-q4_0  # 4位量化版本,内存占用更低

3. 服务启动提示「端口被占用」

Ollama 默认占用 11434 端口,结束占用进程后重启:

bash

运行

# 查找并结束占用进程
sudo kill $(sudo lsof -t -i :11434)

# 重启 Ollama 服务
sudo systemctl restart ollama
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐