1 在 fnOS 中安装 ubuntu 虚拟机
注:以下表格来自 Chatgpt。
特性 | VGA | VMVGA |
---|---|---|
性能 | 基础图形渲染 | 高性能图形渲染,支持 3D 加速 |
兼容性 | 适配所有系统,尤其是老旧系统 | 适合现代系统,需安装 VMware Tools |
分辨率支持 | 分辨率受限 | 支持更高分辨率、多显示器配置 |
硬件加速 | 不支持 | 支持 OpenGL 等硬件加速 |
适用场景 | 老旧系统、基础图形需求 | 现代桌面环境、高分辨率、流畅体验 |
注:以下表格来自 Chatgpt。
特性 | VirtIO Block | VirtIO SCSI |
---|---|---|
性能 | 高性能,适合单一磁盘 | 更高性能,支持多队列优化 |
并发处理能力 | 支持有限 | 支持多队列(Multi-Queue)并发 I/O |
热插拔支持 | 不支持或有限 | 完全支持磁盘热插拔 |
高级 SCSI 功能支持 | 不支持 | 支持(如 SG_IO、TRIM、SCSI 直通等) |
设备扩展性 | 适合少量设备 | 支持大量磁盘挂载(企业级存储场景) |
资源开销 | 较小 | 略高,但性能更强 |
适用场景 | 通用虚拟机、简单应用 | 数据库、大数据处理、高并发存储环境 |
不添加硬件直通,点击创建。完成后即可在虚拟机列表中看到安装完毕的虚拟机。
点击开机,再点击 VNC 访问,即可通过图形界面开始 ubuntu 的安装,安装过程不再赘述。此时可点击全屏显示,使用当前访问 fnOS 的实机键盘进行操作。
2 安装环境
虚拟机安装完成后,进入到 ubuntu 桌面,打开终端,首先安装所需的环境。
sudo apt update sudo apt install python3 python3-venv python3-pip
安装完成后,可检查 Python 版本。
python3 --version
创建并激活 Python 虚拟环境。
python3 -m venv deepseek-env source deepseek-env/bin/activate
安装依赖库。PyTorch:用于加载和运行模型;Transformers:Hugging Face 的库,用于加载预训练模型和分词器;Flask(可选):如果需要提供 API 服务。
pip install torch transformers
3 安装 Ollama 及 Deepseek R1 模型
安装 curl,后安装 Ollama。
sudo apt install curl curl -fsSL https://ollama.com/install.sh | sh
或先下载后手动执行安装。
wget https://ollama.com/install.sh sh ./install.sh
由于 ollama 安装后默认监听 127.0.0.1,为了方便使用,修改监听端口(默认使用 11434)
sudo systemctl edit ollama
在打开的文件中添加如下配置:
[Service] Environment="OLLAMA_HOST=0.0.0.0:11434"
ctrl + o 保存;由于需要写入 /etc/systemd/system/ollama.service.d/override.conf
文件中才能自动覆写,因此需要确认保存的文件名为上述名称,enter;ctrl + x 退出。
重启并验证。
sudo systemctl daemon-reload sudo systemctl restart ollama sudo systemctl show ollama | grep Environment
此时将输出所有相关环境变量,应看到增加的监听端口。
安装所需模型,由于这台 nas 上没有独显,故选择参数量最少的 1.5b 模型。
ollama run deepseek-r1:1.5b
安装完成后即可输入问题进行使用。
4 安装 WebUI
首先安装 docker。
curl -fsSL https://test.docker.com -o test-docker.sh sudo sh test-docker.sh
创建并激活 Python 虚拟环境,并安装 Open-Webui。
python3 -m venv webio source webui/bin/activate pip install open-webui open-webui serve
创建docker容器。
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
创建完成后,可在虚拟机自带浏览器中通过 http://localhost:3000
访问网页如下。
由于该虚拟机网络工作在桥接模式下,有与宿主机不同的独立内网 ip 地址。通过 ifconfig
命令查询,找到类似 ens2 格式的网卡名称,下方的 inet 后即为虚拟机 ip 地址。之后即可在局域网内其他设备上,通过 http://虚拟机ip:3000
访问网页。