💫 一键命令,轻松编译 FluffOS 驱动!多种 Linux 系统通用
作者:不一 | QQ:279631638
📝 写在前面
最近在不同系统下编译驱动测试,发现每个系统都要重新折腾一遍编译脚本。
于是有了这个想法:做一个通用的自动化脚本
在 AI 的帮助下,这个脚本诞生了,希望能帮助新手朋友更友好地编译 FluffOS 驱动 🎉
🖥️ 支持的系统
| 系统 | 适配状态 |
|---|---|
| Huawei Cloud EulerOS 2.0 标准版 | ✅ 完美支持 |
| CentOS | ✅ 完美支持 |
| Ubuntu | ✅ 完美支持 |
| Debian | ✅ 完美支持 |
| AlmaLinux | ✅ 完美支持 |
| Fedora CoreOS | ✅ 完美支持 |
| openEuler | ✅ 完美支持 |
⚠️ 重要提示
关于 Huawei Cloud EulerOS:
- ✅ 2.0 标准版 - 完全适配,推荐使用
- ❌ 2.0 等保三级版 - 不推荐使用
- 等保三级版有严格的安全限制,需要频繁提权操作
- 建议改用标准版或其他系统
快速导航: 快速开始 • 特性介绍 • 系统支持 • 使用示例 • 常见问题
📖 项目介绍
在使用 FluffOS 的过程中,每次编译都需要:
- ❌ 手动安装一堆依赖包
- ❌ 配置复杂的编译选项
- ❌ 记住各种 CMake 参数
- ❌ 在不同系统上依赖包名称还不一样
现在,一切都变得简单了! 🎉
本脚本提供 一键自动化编译安装,支持主流 Linux 发行版,让您专注于 MUD 开发,而不是环境配置。
**使用截图

✨ 主要特性
🚀 一键安装
- 单条命令完成所有操作
- 无需手动干预
- 自动处理所有依赖
🔧 跨平台支持
- 支持多种主流 Linux 发行版
- 自动识别系统类型
- 智能适配包管理器
💬 交互友好
- 清晰的进度提示
- 详细的错误信息
- 每一步都看得见
🤖 自动化支持
- 支持非交互模式
- 适合脚本化部署
- 完美集成 CI/CD
🚀 快速开始
📦 一键安装(推荐)
方式 1:使用 curl(推荐)
bash <(curl -fL https://raw.githubusercontent.com/serenez/fluffos-builder/main/install.sh)
方式 2:使用 wget
bash <(wget -O- https://raw.githubusercontent.com/serenez/fluffos-builder/main/install.sh)
方式 3:非交互模式(自动化)
# 所有确认使用默认值
bash <(curl -fL https://raw.githubusercontent.com/serenez/fluffos-builder/main/install.sh) -y
💡 提示:运行后会显示下载进度,完成后自动开始编译安装
📋 支持的系统
| 系统 | 版本 | 状态 | 包管理器 |
|---|---|---|---|
| Ubuntu | 18.04+ | ✅ 完全支持 | apt |
| Debian | 10+ | ✅ 完全支持 | apt |
| CentOS | 7+ | ✅ 完全支持 | yum/dnf |
| OpenEuler | 20.03+ | ✅ 完全支持 | yum/dnf |
| HCE OS | 2.0+ | ✅ 完全支持 | yum/dnf |
| Arch Linux | Rolling | ✅ 完全支持 | pacman |
| openSUSE | 15+ | ✅ 完全支持 | zypper |
💡 使用示例
🎯 场景 1:标准安装(推荐新手)
# 交互模式,会询问每一步操作
bash <(curl -fL https://raw.githubusercontent.com/serenez/fluffos-builder/main/install.sh)
执行后会自动:
- ✅ 检查系统环境
- ✅ 安装编译依赖
- ✅ 拉取最新代码
- ✅ 自动编译 FluffOS
- ✅ 询问是否安装到系统目录
🏭 场景 2:生产环境部署
# Release 构建 + 非交互模式
bash <(curl -fL https://raw.githubusercontent.com/serenez/fluffos-builder/main/install.sh) -y --release
特点:
- 🚀 性能优化的 Release 版本
- ⚡ 自动确认所有选项
- 📦 适合批量部署
🛠️ 场景 3:开发调试
# Debug 构建 + 运行测试
bash <(curl -fL https://raw.githubusercontent.com/serenez/fluffos-builder/main/install.sh) -y --debug --test
特点:
- 🐛 包含调试符号
- 🧪 自动运行测试套件
- 📊 详细的错误信息
🇨🇳 场景 4:国内加速(推荐)
# 使用 Gitee 镜像
GIT_REPO="https://gitee.com/mudren/fluffos.git" \
bash <(curl -fL https://raw.githubusercontent.com/serenez/fluffos-builder/main/install.sh) -y
优势:
- 🚄 国内访问速度快
- 💯 代码同步更新
- 🔄 自动处理依赖
🎮 命令参数
| 参数 | 说明 |
|---|---|
-h, --help |
📖 显示帮助信息 |
-y, --yes |
🤖 非交互模式,自动确认所有询问 |
-d, --debug |
🐛 Debug 构建(包含调试信息) |
-r, --release |
🚀 Release 构建(优化性能) |
-t, --test |
🧪 编译后运行测试 |
--skip-deps |
⏭️ 跳过依赖安装(已安装过依赖时使用) |
--skip-update |
⏭️ 跳过 Git 更新(使用现有代码编译) |
🔧 环境变量
| 变量名 | 说明 | 默认值 |
|---|---|---|
GIT_REPO |
Git 仓库地址 | GitHub 官方仓库 |
GIT_BRANCH |
Git 分支 | master |
INSTALL_DIR |
脚本安装目录 | 当前目录 |
📁 文件位置
编译完成后的文件结构:
当前目录/
├── fluffos/ # FluffOS 源码目录
│ ├── src/ # 源代码
│ ├── build/ # 编译产物
│ │ └── bin/
│ │ └── driver # 编译好的驱动程序 ⭐
│ ├── testsuite/ # 测试套件
│ └── ...
└── build.sh # 编译脚本(自动下载)
系统安装(如果选择了安装):
- 📍
/usr/local/bin/driver- 驱动程序
❓ 常见问题
Q1:一键安装命令运行后没反应?
原因:可能缺少 curl 或 wget
解决:
# Ubuntu/Debian
sudo apt install curl
# CentOS/RHEL
sudo yum install curl
Q2:GitHub 访问慢或失败?
解决:使用 Gitee 镜像
GIT_REPO="https://gitee.com/mudren/fluffos.git" \
bash <(curl -fL https://raw.githubusercontent.com/serenez/fluffos-builder/main/install.sh) -y
Q3:如何更新已编译的 FluffOS?
直接在原目录再次运行脚本即可:
bash <(curl -fL https://raw.githubusercontent.com/serenez/fluffos-builder/main/install.sh) -y
脚本会自动检测现有项目,询问是否使用,然后自动 git pull 更新。
Q4:编译速度慢怎么办?
- 默认使用 RelWithDebInfo 构建(包含调试信息)
- 如果只需要运行,使用 Release 模式会快很多:
bash <(curl -fL https://raw.githubusercontent.com/serenez/fluffos-builder/main/install.sh) -y --release
Q5:如何卸载?
# 删除系统安装的驱动(如果安装过)
sudo rm -f /usr/local/bin/driver
# 删除源码和编译文件
rm -rf ./fluffos ./build.sh
Q6:支持 macOS 或 Windows 吗?
- macOS:理论上支持,但未充分测试,建议使用 Homebrew 安装依赖
- Windows:建议使用 WSL2 (Windows Subsystem for Linux) 运行本脚本
🔄 工作流程
脚本自动执行以下步骤:
- 🔍 系统检测 - 识别 Linux 发行版和包管理器
- 📦 依赖安装 - 自动安装编译所需的工具和库
- 📥 代码获取 - 从 GitHub/Gitee 克隆或更新 FluffOS 源码
- ⚙️ 编译配置 - 使用 CMake 配置构建选项
- 🏗️ 并行编译 - 使用多核 CPU 加速编译
- ✅ 安装确认 - 询问是否复制到系统目录
🌟 高级用法
🤖 自动化部署脚本
创建 deploy_fluffos.sh:
#!/bin/bash
#
# FluffOS 自动化部署脚本
# 适用于多台服务器批量部署
#
set -e
echo "=========================================="
echo " FluffOS 自动化部署"
echo "=========================================="
# 使用 Gitee 镜像 + Release 构建 + 非交互模式
GIT_REPO="https://gitee.com/mudren/fluffos.git" \
bash <(curl -fL https://raw.githubusercontent.com/serenez/fluffos-builder/main/install.sh) \
-y \
--release \
--skip-deps # 如果依赖已安装
echo "部署完成!"
# 可选:重启游戏服务
# systemctl restart mud-game
⏰ Cron 定时更新
让 FluffOS 自动保持最新版本:
# 编辑 crontab
crontab -e
# 添加定时任务(每天凌晨 2 点自动更新)
0 2 * * * cd /opt/fluffos && bash <(curl -fL https://raw.githubusercontent.com/serenez/fluffos-builder/main/install.sh) -y >> /var/log/fluffos-update.log 2>&1
🐳 Docker 部署
创建 Dockerfile:
FROM ubuntu:22.04
# 安装必要工具
RUN apt update && apt install -y curl sudo
# 一键安装 FluffOS
RUN bash -c "$(curl -fL https://raw.githubusercontent.com/serenez/fluffos-builder/main/install.sh)" -s -y --release
# 设置工作目录
WORKDIR /opt/fluffos
# 启动驱动
CMD ["/usr/local/bin/driver", "config.cfg"]
📊 性能对比
| 构建类型 | 编译时间 | 驱动大小 | 运行性能 | 调试信息 |
|---|---|---|---|---|
| Debug | ⏱️ 较慢 | 📦 较大 | 🐌 一般 | ✅ 包含 |
| RelWithDebInfo | ⏱️ 中等 | 📦 中等 | 🚀 优化 | ✅ 包含 |
| Release | ⏱️ 最快 | 📦 最小 | 🚀 最优 | ❌ 不含 |
💡 建议:
- 开发调试:使用
--debug- 日常使用:默认 (RelWithDebInfo)
- 生产环境:使用
--release
📞 联系与支持
💬 获取帮助
- GitHub Issues: https://github.com/serenez/fluffos-builder/issues
- QQ: 279631638
🔗 相关链接
- 📖 FluffOS 官方仓库
- 🌐 MUDREN 论坛
- 📚 FluffOS 文档
👨💻 作者信息
作者:不一 QQ:279631638 项目地址:https://github.com/serenez/fluffos-builder
🙏 致谢
- 感谢 FluffOS 团队 的辛勤付出
-
感谢 MUDREN 社区 的支持
📄 许可证
MIT License - 自由使用,欢迎贡献
一条命令,轻松编译 FluffOS! 🚀