做好的Demo,客户需要本地测试,提供Ubuntu图形界面 + ToDesk部署,由于系统配置较低而且没有部署过GNOME,遇到了很多问题,现在一一记录下来以便自己回忆。
1. 部署Agent + 界面前端
-
问题:Demo顺利完成,发现浏览器无法打开验证,点击已有浏览器没有反应
-
原因:查资料发现,本机使用ARM架构,Snap与系统兼容不佳,所有Snap安装的应用都可能出问题
-
解决方式:移除 Chromium Snap 版本,使用 Flatpak 版
-
过程: (1). 安装 Flatpak:
bashsudo apt install flatpak(2). 添加 Flathub 软件源并安装 Chromium:
bashflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install flathub org.chromium.Chromium(3). 从应用菜单启动,或在终端用命令启动:
bashflatpak run org.chromium.Chromium(4). 解决桌面图标不显示的问题
安装完成后,如果 Chromium 图标没出现在应用菜单,执行以下命令:
bash# 方法一:重启 Flatpak 服务(无需重启系统) systemctl --user restart flatpak-portal systemctl --user restart xdg-desktop-portal systemctl --user restart xdg-desktop-portal-gtk # 方法二:注销当前用户并重新登录 # 或者重启系统临时解决方案 :每次想启动时,直接在终端输入
flatpak run org.chromium.Chromium即可。(5). 验证安装
安装成功后,检查版本:
bash# 查看已安装的 Flatpak 应用 flatpak list | grep -i chrom # 查看 Chromium 版本 flatpak run org.chromium.Chromium --version(6). 再次遇到问题:
bashflatpak install flathub org.chromium.Chromium Note that the directories '/var/lib/flatpak/exports/share' '/home/deep/.local/share/flatpak/exports/share' are not in the search path set by the XDG_DATA_DIRS environment variable, so applications installed by Flatpak may not appear on your desktop until the session is restarted. Looking for matches... error: Unable to load summary from remote flathub: GPG verification enabled, but no summary found (check that the configured URL in remote config is correct)检查并修复 Flatpak 远程仓库配置
bash# 1. 查看当前 flathub 远程仓库配置 flatpak remotes -d # 2. 如果存在配置错误的 flathub,先删除 flatpak remote-delete flathub 2>/dev/null # 3. 重新添加 flathub 仓库(不使用 GPG 验证,国内网络更稳定) flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo --no-gpg-verify # 4. 验证添加成功 flatpak remotes # 5. 尝试更新 flatpak update又报错:
bashflatpak search Chromium No matches found切换到国内镜像源
bash# 1. 修改现有 flathub 为上交大镜像 sudo flatpak remote-modify flathub --url=https://mirror.sjtu.edu.cn/flathub # 2. 验证修改成功 flatpak remotes -d # 3. 直接安装 Chromium(不需要先 update) sudo flatpak install flathub org.chromium.Chromium -y # 4. 如果上面命令报错,先查看远程仓库能否正常访问 flatpak remote-ls flathub 2>&1 | head -20
2. 运行Demo服务
-
问题:浏览器可以打开了(遇到的路径权限等问题不在此记录)。Ollama无法启动
-
原因:上传的Ollama包是AMD的,忘了查看系统架构,服务器架构是aarch64
-
解决方式:重新安装ARM的Ollama
-
过程:(1). 查看系统架构
bashuname -m aarch64(2). 完整服务配置
ollama.service[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/cuda-12.6/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin" [Install] WantedBy=default.target
3. 运行Demo网页
-
问题:部署完成后接口调用ollama,处理过程一半时报错502 bad gateway,模型处理速度超级慢,换了参数量更小的模型也不行
-
原因:内存太小,无法运行常规模型,Ollama需要调用GPU,
-
解决方式:增加服务响应时间,安装PyTorch
-
过程:(1). 修改启动脚本,增加nginx和uvicorn响应时间 Agent服务启动脚本添加--timeout 600
backend.serviceExecStart=/home/deep/BowAgent/backend/venv/bin/gunicorn \ -w 4 \ -k uvicorn.workers.UvicornWorker \ --timeout 600 \ -b 127.0.0.1:8000 \ main:appnginx服务端口增加超时时间
nginx.conflocation /demoapi/ { proxy_pass http://127.0.0.1:9000/; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 增加超时时间 proxy_connect_timeout 600s; proxy_send_timeout 600s; proxy_read_timeout 600s; fastcgi_read_timeout 600s; # 增加缓冲区 proxy_buffer_size 128k; proxy_buffers 8 256k; proxy_busy_buffers_size 512k; # 增加临时文件大小 proxy_temp_file_write_size 256k; proxy_max_temp_file_size 2048m; }(2). 安装PyTorch
perl# CMD查看GPU版本(示例:13.0) nvidia-smi # 卸载旧的 PyTorch(如果已安装 CPU 版): pip uninstall torch torchvision torchaudio # 安装 CUDA 13.0 版本: pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu130 # 验证安装: python import torch print(torch.cuda.is_available()) # 应输出 True安装成功但是发现无法使用
(3). 查看本机显卡信息,安装nvidia-nvm
bashlsmod | grep nvidia sudo modprobe nvidia_uvm modprobe: FATAL: Module nvidia_uvm not found in directory /lib/modules/5.15.148-tegra通过内核5.15.148-tegra发现此服务器是NVIDIA Jetson 设备,无法安装常规torch
4. Jetson 专用的方式安装PyTorch
-
问题:Ollama无法调用GPU
-
原因:Jetson 设备使用的不是普通的桌面驱动,而是 L4T (Linux for Tegra) 驱动。之前尝试用普通的 pip install torch 或者通用的 cuda-toolkit 仓库,在 Jetson 上是行不通的。必须按照 Jetson 专用的方式重新配置。
-
解决方式:下载匹配的包在本地,然后安装
-
过程:(1). 安装必要的系统依赖:
bashsudo apt update sudo apt install -y libopenblas-base libopenmpi-dev libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev(2). 安装缺失的系统库 在安装 PyTorch 之前,先修复常见的依赖缺失问题。
bashsudo apt-get update # 修复常见的 libcusparseLt.so.0 缺失问题 sudo apt-get install libcusparselt0 # 确保安装了 cuDNN sudo apt-get install libcudnn8 # 安装 cuDNN 运行时库 sudo apt-get install -y libcudnn9-cuda-12 # (可选)如果安装 torchvision 时需要编译一些自定义算子,可以同时安装开发包 sudo apt-get install -y libcudnn9-dev-cuda-12(3). 社区地址(pypi.jetson-ai-lab.io/jp6/cu126/t... 无法获取包,换为官方网站(developer.download.nvidia.com/compute/red... ) 下载文件,还需要下载torchvision( github.com/ultralytics... )
bash# 强制从本地文件安装,不使用镜像源 pip install --no-index --find-links=. torch-2.5.0a0+872d972e41.nv24.08.17622132-cp310-cp310-linux_aarch64.whl pip install torchvision-0.20.0a0+afc54f7-cp310-cp310-linux_aarch64.whl(4). 重新安装NumPy
bash# 卸载当前的 NumPy 2.x pip uninstall numpy -y # 安装 NumPy 1.26.x (与 PyTorch 2.5.0 完全兼容的最新版本) pip install 'numpy<2.0.0'(5). 系统配置文件添加变量
.bashrcexport LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:/usr/lib/aarch64-linux-gnu/nvidia:/usr/local/cuda-12.6/lib64:$LD_LIBRARY_PATH export PATH=/usr/local/cuda-12.6/bin:$PATH export CUDA_HOME=/usr/local/cuda-12.6
5. 再次运行服务和Ollama
-
问题:Ollama仍然无法调用GPU
-
原因:在搭载 Jetpack 6 的 Jetson Orin 设备上安装Ollama无法直接使用GPU
-
解决方式:改用Docker的兼容版本,或下载官方Jetpack 6补丁
-
过程:(1). 查看元数据包版本:
bashsudo apt-cache show nvidia-jetpack # 输出 Package: nvidia-jetpack Source: nvidia-jetpack (6.1) Version: 6.1+b123(2). 改用Docker的兼容版本:
bashsudo docker run --runtime=nvidia -d --restart=always \ --name ollama \ --network host \ -v ~/ollama:/ollama \ -e OLLAMA_MODELS=/ollama \ dustynv/ollama:r36.4.0又出现了问题,此方法Ollama版本过低,无法运行qwen3-vl
(3). 重新安装Ollama,使用官方脚本会自动安装Jetpack 6补丁
bash# 1. 更新包列表 apt-get update # 2. 安装 zstd apt-get install -y zstd # 3. 现在重新安装 Ollama curl -fsSL https://ollama.com/install.sh | sh(4). 安装速度慢,换国内优化脚本
bash# 直接运行 CNB 提供的国内加速脚本(返回结果显示这是专为国内用户优化的) curl -fsSL https://cnb.cool/hex/ollama/-/git/raw/main/install.sh | sh