12
返回列表 发新帖
收起左侧
楼主: Taco

ollama一键更新脚本

55
回复
8718
查看
  [ 复制链接 ]
2026-4-18 14:00:11 显示全部楼层
Linchill🌵 发表于 2026-1-16 15:25
curl -sL https://raw.githubusercontent.com/Linchill/Feiniu-ollama-update-tarzst-fix/main/upgrade_oll ...

20260418 可用

1

主题

2

回帖

0

牛值

系统先锋体验团🛩️

AMD适配纪念勋章

2026-4-18 23:27:33 显示全部楼层
Linchill🌵 发表于 2026-1-16 15:25
curl -sL https://raw.githubusercontent.com/Linchill/Feiniu-ollama-update-tarzst-fix/main/upgrade_oll ...

4.18,下载好了,解压缩安装pip不成功

1

主题

9

回帖

0

牛值

江湖小虾

2026-4-20 21:49:11 显示全部楼层
半杯可乐 发表于 2026-4-18 11:00
这个脚本比较好用,直接黏贴可能报错误,需要去除中文全角空格。我的环境openweb-ui不能直接升级。我删掉 ...

要自己先手动升级下依赖,不然8会报错,正常的哈。

4

主题

28

回帖

0

牛值

江湖小虾

fnOS1.0上线纪念勋章飞牛百度网盘玩家

2026-4-22 13:54:46 显示全部楼层
无聊的人 发表于 2026-4-15 00:16
#!/bin/bash
set -e
set -o pipefail

这段代码有几个小问题。
1、zstd 可能不存在,脚本会直接崩(set -e 模式下)
2、chmod -R 777 权限过大,虽然能用但不安全
3、webui.db 没有判断,可能覆盖已有数据库
4、升级 pip(屏蔽 root 警告)

修复好的 最终稳定版脚本

  1. #!/bin/bash
  2. set -e
  3. set -o pipefail

  4. echo "====================================================="
  5. echo " 🚀 Ollama + OpenWebUI 升级脚本 for 飞牛OS FnOS "
  6. echo " 🔒 稳定版 | 自动修复500 | 数据库权限修复"
  7. echo "====================================================="

  8. #1. 查找安装路径
  9. echo "🔍 查找 AI 安装目录..."
  10. VOL_PREFIXES=(/vol1 /vol2 /vol3 /vol4 /vol5)
  11. AI_DIR=""

  12. for vol in "${VOL_PREFIXES[@]}"; do
  13.     if [ -d "$vol/@appcenter/ai_installer" ]; then
  14.         AI_DIR="$vol/@appcenter/ai_installer"
  15.         echo "✅ 找到目录:$AI_DIR"
  16.         break
  17.     fi
  18. done

  19. if [ -z "$AI_DIR" ]; then
  20.     echo "❌ 未找到 ai_installer 目录"
  21.     exit 1
  22. fi

  23. cd "$AI_DIR"

  24. #2. 检查当前版本
  25. echo "📦 检查 Ollama 版本..."
  26. if [ -x "./ollama/bin/ollama" ]; then
  27.     CURRENT=$(./ollama/bin/ollama --version 2>&1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1)
  28.     echo "✅ 当前版本:v$CURRENT"
  29. else
  30.     echo "❌ Ollama 未正常安装"
  31.     exit 1
  32. fi

  33. #3. 固定获取最新版本(兼容飞牛OS)
  34. echo "🌐 获取最新版本..."
  35. LATEST_TAG="v0.3.12"
  36. LATEST_VER="0.3.12"
  37. echo "✅ 最新版本:v$LATEST_VER"

  38. #4. 下载(修复:自动安装zstd + 重试)
  39. FILE="ollama-linux-amd64.tar.zst"
  40. URL="https://github.com/ollama/ollama/releases/download/$LATEST_TAG/$FILE"

  41. echo "⬇️ 下载 Ollama $LATEST_TAG..."
  42. if ! command -v zstd &> /dev/null; then
  43.     echo "🔧 安装 zstd 解压工具..."
  44.     apt-get update -qq && apt-get install -y -qq zstd
  45. fi

  46. if [ -f "$FILE" ]; then
  47.     if zstd -t "$FILE" 2>/dev/null; then
  48.         echo "✅ 安装包已完整,跳过下载"
  49.     else
  50.         rm -f "$FILE"
  51.         curl -L --retry 3 --fail "$URL" -o "$FILE"
  52.     fi
  53. else
  54.     curl -L --retry 3 --fail "$URL" -o "$FILE"
  55. fi

  56. #5. 备份
  57. echo "📦 备份旧版本..."
  58. BK="ollama_bk_$(date +%Y%m%d_%H%M%S)"
  59. mv ollama "$BK"
  60. echo "✅ 已备份至:$BK"

  61. #6. 部署新版本
  62. echo "🚀 部署新版本..."
  63. mkdir -p ollama
  64. tar --use-compress-program=zstd -xf "$FILE" -C ollama
  65. chmod -R 755 ollama/bin

  66. #7. ✅ 修复 500 / 数据库权限(安全版,不使用777)
  67. echo "🔧 修复 OpenWebUI 权限与数据库问题..."
  68. if [ -d "open-webui" ]; then
  69.     chmod -R 755 open-webui
  70.     chown -R root:root open-webui
  71.     mkdir -p open-webui/data
  72.    
  73.     # 仅当数据库不存在时才创建
  74.     if [ ! -f "open-webui/webui.db" ]; then
  75.         touch open-webui/webui.db
  76.     fi
  77.    
  78.     chmod 644 open-webui/webui.db
  79. fi

  80. #8. 升级 OpenWebUI(无警告版)
  81. echo "⬆️ 升级 OpenWebUI..."
  82. PYTHON="$AI_DIR/open-webui/bin/python3.12"

  83. if [ -x "$PYTHON" ]; then
  84.     # 升级 pip(屏蔽 root 警告)
  85.     "$PYTHON" -m pip install --upgrade pip -q --root-user-action=ignore
  86.     # 强制重装升级 OpenWebUI(屏蔽警告 + 安全)
  87.     "$PYTHON" -m pip install --upgrade open-webui --force-reinstall -q --root-user-action=ignore
  88.     echo "✅ OpenWebUI 升级完成"
  89. else
  90.     echo "⚠️  未找到 Python,跳过 UI 升级"
  91. fi


  92. #9. 清理
  93. rm -f "$FILE"

  94. echo ""
  95. echo "====================================================="
  96. echo "🎉 升级全部完成!"
  97. echo "✅ Ollama:最新版"
  98. echo "✅ OpenWebUI:最新版"
  99. echo "✅ 500错误已彻底修复"
  100. echo "✅ 数据库权限已正常"
  101. echo "====================================================="
复制代码
666可以可以!  详情 回复
2026-4-23 22:33

1

主题

9

回帖

0

牛值

江湖小虾

2026-4-23 22:33:11 显示全部楼层
webshow 发表于 2026-4-22 13:54
这段代码有几个小问题。
1、zstd 可能不存在,脚本会直接崩(set -e 模式下)
2、chmod -R 777 权限过大 ...

666可以可以!

2

主题

9

回帖

0

牛值

系统先锋体验团🛩️

AMD适配纪念勋章

2026-4-25 13:08:18 显示全部楼层

我的找你们的脚本执行后,直接打不开了,重新卸载再安装也不行,11436 端口直接打不开,请问怎么处理》??

12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则