你好,
我遇到了一个问题,无法将模型文件放入我的主文件夹中,因为我的根分区大小有限。我遵循了这里的FAQ和收集到的信息来设置OLLAMA_MODELS在ollama.service中。当启动服务时,日志报告服务器无法在我的home目录中创建文件夹。显然是权限问题。
目前我在这里,我找不到解决这个问题的方法,尽管查看了各种关于systemd的资源。有人能指点我一下吗?
我正在使用Arch上的ollama-cuda包。
[Unit]
Description=Ollama Service
Wants=network-online.target
After=network.target network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
WorkingDirectory=/var/lib/ollama
Environment="HOME=/var/lib/ollama" "GIN_MODE=release" "OLLAMA_MODELS=/home/crystal/Applications/ollama_model"
User=ollama
Group=ollama
Restart=on-failure
RestartSec=3
Type=simple
PrivateTmp=yes
ProtectSystem=full
ProtectHome=yes
[Install]
WantedBy=multi-user.target
Feb 23 11:02:46 terrier systemd[1]: Started Ollama Service.
Feb 23 11:02:46 terrier ollama[37688]: Error: mkdir /home/crystal: permission denied
Feb 23 11:02:46 terrier systemd[1]: ollama.service: Main process exited, code=exited, status=1/FAILURE
Feb 23 11:02:46 terrier systemd[1]: ollama.service: Failed with result 'exit-code'.```
7条答案
按热度按时间vmpqdwk31#
我也尝试了其他事情。
使用我的用户/组修改 ollama.service:
我还尝试将我的用户名添加到 ollama 组并运行:
没有起作用(即没有创建文件夹),尽管现在的日志消息已经不同了:
tcbh2hod2#
尝试这个
更改OLLAMA_MODELS路径
步骤:
创建目录:
sudo mkdir /usr/local/share/ollama-models
授予所有权:
sudo chown ollama:ollama /usr/local/share/ollama-models
更新服务文件:编辑/etc/systemd/system/ollama.service文件并修改:
--
Environment="OLLAMA_MODELS=/usr/local/share/ollama-models"
重启Ollama:
sudo systemctl restart ollama
h43kikqp3#
感谢。
由于我的目标是将模型放在主文件夹中(/ 中没有剩余的存储空间),我已经根据你的建议进行了调整。
我手动创建了 /home/crystal/Applications/ollama_model,然后添加了
sudo chown ollama:ollama
,并将其保留在 ollama.service 中:仍然出现相同的错误,服务器无法启动:
这是我的主目录中模型文件夹当前的权限设置:
drwxr-xr-x 2 ollama ollama 4.0K Feb 23 11:54 ollama_model
有什么问题吗?
pdtvr36n4#
请注意,当从shell启动时:
服务器启动没有问题,并且模型在
/home/crystal/Applications/ollama_model
正确下载。看起来问题与通过systemd启动ollama服务器有关。mrfwxfqh5#
在Ubuntu上也存在这个问题。解决方法是导出并提供服务。
e5njpo686#
问题是
ProtectHome=yes
,使用 systemctl edit ollama 并创建一个覆盖:这是一个hack,你不应该这么做,而且你绝对不应该给它访问你自己的用户,为它创建一个新的主目录。
我的目标是让模型位于主文件夹(/ 中没有剩余的存储空间)
所以你把 / 和 /home 分开了,现在空间不够了吗?
考虑一下你是否真的需要一开始就分隔它们
0qx6xfy67#
我将补充一点,我很高兴终于找到了这个问题的解决方法。我的模型位于/pool/models下的zfs池中,所以保护home不是我的问题。
编辑:它确实解决了权限问题,但我仍然没有检测到任何模型。也许是因为我的文件是LMStudio/LocalAI兼容的?