ollama OpenRC初始化支持安装脚本,

szqfcxe2  于 2个月前  发布在  其他
关注(0)|答案(6)|浏览(41)

你好,
如果install.sh脚本有一个"自动检测"功能,可以在Linux机器上安装过程中识别当前运行的init系统,然后相应地安装Ollama,那就太好了。
操作系统:
Gentoo Linux
内核:6.7.6-gentoo-x86_64
初始化系统:OpenRC

zf2sa74q

zf2sa74q1#

hi @ElevatedEuphoria,你是否成功编写了自己的OpenRC守护进程来运行Ollama?或者你是否找到了某种解决方法?

sqyvllje

sqyvllje2#

你好,@ElevatedEuphoria,你是否成功编写了自己的OpenRC守护进程来管理Ollama?或者你是否找到了某种解决方法?
嘿,
我让copilot完成了这个任务。我可以与你分享代码。实际上我在考虑为检查init系统并相应地创建守护进程做出贡献。
我不知道关于AI代码在AI工具上的问题😂

zf9nrax1

zf9nrax13#

我设法写了这个:

#!/sbin/openrc-run

name=$RC_SVCNAME
description="Start ollama's daemon"
supervisor=supervise-daemon
command="/usr/bin/ollama"
command_args="serve"
command_user="ollama"

但是它是否能作为systemd服务的1:1替代品,我不确定
PS:如果你把守护进程脚本发布到某个地方,那将非常有帮助

ut6juiuv

ut6juiuv4#

嗨,伙计们!
我刚刚创建了自己的Gentoo覆盖层,到目前为止,第一个也是唯一的软件包是ollama-bin。请查看:https://github.com/grouzen/lamdness-overlay

9vw9lbht

9vw9lbht5#

@CreeperMain 你好,我已经制作了自己的主分支安装脚本补丁,但是不知道如何使用GitHub。我尝试提交问题,但不知道是否成功。

这个脚本已经在Gentoo示例上进行了测试并可以正常工作。

这里是参考链接:
964b70c

  • 首先检查系统上的初始化系统是否存在
  • 安装正确的守护进程脚本,设置它在启动时运行并运行。

注意:我还没有在我的新版本的脚本上测试基于systemd的系统。
这是完整的install.sh脚本,已经应用了openrc补丁。
https://github.com/ElevatedEuphoria/ollamainstall/blob/main/install.sh
@grouzen 如果你愿意的话,我们可以解决如何整合我们的两个解决方案 :)
抱歉回复晚了 @CreeperMain & @grouzen 在ai的帮助下,已经将脚本开发成可用状态。

6kkfgxo0

6kkfgxo06#

在openrc中,CUDA_VISIBLE_DEVICES=0在这里不起作用。它在用户命令行CLI中起作用,在这个命令中,ollama将使用GPU:
screen -S ollama_server -dm bash -c "CUDA_VISIBLE_DEVICES=0 OLLAMA_ORIGINS=* OLLAMA_MODELS=/data/models/ollama/models/ OLLAMA_HOST=0.0.0.0 ollama serve"
这是我的openrc脚本,但是它将在没有GPU的情况下启动ollama服务。

#!/sbin/openrc-run

depend() {
    need net
}

NAME=ollama
PIDFILE=/var/run/ollama.pid
DIR=/opt/bin
MODELS=/data/models/ollama/models/
HOST=0.0.0.0
CMD=$DIR/"ollama serve"

#    --exec /bin/sh -- -c "export OLLAMA_DEBUG=1; export OLLAMA_MODELS=$MODELS; export OLLAMA_HOST=$HOST; export CUDA_VISIBLE_DEVICES=0; $CMD"
start() {
    ebegin "Starting ollama service"
    start-stop-daemon --start --background \
    --chdir $DIR \
    --user $NAME \
    --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
    --make-pidfile --pidfile $PIDFILE \
    --exec /bin/sh -- -c "export OLLAMA_DEBUG=1; export OLLAMA_MODELS=$MODELS; export OLLAMA_HOST=$HOST; export CUDA_VISIBLE_DEVICES=0; $CMD"
    eend $?
}

stop() {
    ebegin "Stopping ollma service"
    start-stop-daemon --stop \
    --pidfile $PIDFILE \
    --user $NAME \
    --exec $CMD \
    --signal 2
    eend $?
}

相关问题